[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v5 06/24] Debian: Refactor installation of overlays, so it can be used for guests too
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: longtaox.pang@xxxxxxxxx --- v5: OverLay local now handled preseed_base since all callers called it v3: New patch fixup: Move OverlayLocal to preseed_base --- Osstest/Debian.pm | 58 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index 5daa19f..a0aedfa 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 = ( ); @@ -610,6 +612,7 @@ sub preseed_base ($$$$;@) { my ($ho,$suite,$sfx,$extra_packages,%xopts) = @_; preseed_ssh($ho, $sfx); + preseed_hook_overlay($ho, $sfx, $c{OverlayLocal}, 'overlay-local.tar'); my $preseed = <<"END"; d-i mirror/suite string $suite @@ -702,26 +705,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 @@ -766,18 +749,13 @@ ls -l /dev/sd* true END + preseed_hook_overlay($ho, $sfx, 'overlay', 'overlay.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 +944,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 |