|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v4 06/25] Debian: Refactor installation of overlays, so it can be used for guests too
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: longtaox.pang@xxxxxxxxx
---
v3: New patch
---
Osstest/Debian.pm | 57 ++++++++++++++++++++++++++++---------------------------
1 file changed, 29 insertions(+), 28 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index db89326..13cd147 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -38,7 +38,9 @@ BEGIN {
preseed_base
preseed_create
preseed_ssh
- preseed_hook_command preseed_hook_installscript
preseed_hook_cmds
+ preseed_hook_command preseed_hook_installscript
+ preseed_hook_overlay
+ preseed_hook_cmds
di_installcmdline_core
);
%EXPORT_TAGS = ( );
@@ -700,26 +702,6 @@ sub preseed_create ($$;@) {
my $d_i= $ho->{Tftp}{Path}.'/'.$ho->{Tftp}{DiBase}.'/'.$r{arch}.'/'.
$c{TftpDiVersion}.'-'.$ho->{Suite};
- my $overlays= '';
- my $create_overlay= sub {
- my ($srcdir, $tfilename) = @_;
- my $url= create_webfile($ho, "$tfilename$sfx", sub {
- my ($fh) = @_;
- contents_make_cpio($fh, 'ustar', $srcdir);
- });
- $overlays .= <<END;
-wget -O overlay.tar '$url'
-cd /target
-tar xf \$r/overlay.tar
-cd \$r
-rm overlay.tar
-
-END
- };
-
- $create_overlay->('overlay', 'overlay.tar');
- $create_overlay->($c{OverlayLocal}, 'overlay-local.tar');
-
preseed_hook_installscript($ho, $sfx,
'/lib/partman/init.d', '000override-parted-devices', <<END);
#!/bin/sh
@@ -765,19 +747,14 @@ true
END
preseed_ssh($ho, $sfx);
+ preseed_hook_overlay($ho, $sfx, 'overlay', 'overlay.tar');
+ preseed_hook_overlay($ho, $sfx, $c{OverlayLocal}, 'overlay-local.tar');
preseed_hook_command($ho, 'late_command', $sfx, <<END);
#!/bin/sh
set -ex
-r=/target/root
-cd \$r
-
echo FANCYTTY=0 >> /target/etc/lsb-base-logging.sh
-
-$overlays
-
-echo latecmd done.
END
my $dtbs = "$d_i/dtbs.tar.gz";
@@ -966,6 +943,30 @@ chmod +x '$installer_pathname'
END
}
+sub preseed_hook_overlay ($$$$) {
+ my ($ho, $sfx, $srcdir, $tfilename) = @_;
+ my $url= create_webfile($ho, "$tfilename$sfx", sub {
+ my ($fh) = @_;
+ contents_make_cpio($fh, 'ustar', $srcdir);
+ });
+ preseed_hook_command($ho, 'late_command', $sfx, <<END);
+#!/bin/sh
+set -ex
+
+r=/target/root
+cd \$r
+
+umask 022
+
+wget -O overlay.tar '$url'
+cd /target
+tar xf \$r/overlay.tar
+cd \$r
+rm overlay.tar
+
+END
+}
+
sub preseed_hook_cmds () {
my $preseed;
foreach my $di_key (keys %preseed_cmds) {
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |