Ashley,
thanks! seems good and not yet checked into SVN... anyway I'd propose to
change it, if you agree, as following:
#
# Remove LVM device mapper files from $staging_dir/dev
#
$cmd = qq(vgs --noheadings --options vg_name 2>/dev/null);
open(VG, "$cmd|");
foreach my $vg_name (<VG>) {
chomp $vg_name;
$vg_name =~ s/^\s+//;
$cmd = "find $staging_dir/dev/ -name \"$vg_name\" -type d -exec
rm -rf {} \\;";
!system( $cmd ) or die( "Couldn't $cmd" );
$cmd = "find $staging_dir/dev/mapper -name \"$vg_name-*\" -type
b -exec rm -f {} \\;";
!system( $cmd ) or die( "Couldn't $cmd" );
}
close(VG);
In particular removing the '*' after $vg_name and being more selective,
to obviate the deletion of other potential useful files... for example
think if I want to create a volume group called 'sd'... ;-).
Best regards,
-Andrea
Ashley Gould wrote:
> First off let me say the 3.6.2-1 rpms work beautifully on SLES9 x86-64.
> I only encountered this one problem. Great Work!
>
> Creation of LVM volume groups fail during autinstall because
> device mapper cannot create /dev/mapper/<vg_name> files - they
> already exist in initrd.
>
> When si_prepareclient compiles files for the UYOK initrd.img, it
> copies all of dev, including files previously created by LVM device mapper
> (e.g. /dev/system). Trouble is when autoinstall scripts attempt to
> create the 'system' volume group, it fails because the /dev/system
> directory already exists.
>
>
> I added a piece of code to UseYourOwnKernel.pm which strips these out:
>
> hvxen-0c:~ # diff -Naur
> /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm
> /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm.dist
> --- /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm 2006-03-13
> 12:03:24.807846378 -0800
> +++ /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm.dist
> 2006-03-13 11:27:00.047854543 -0800
> @@ -97,19 +97,6 @@
> $cmd = qq(rsync -a /dev/ $staging_dir/dev/);
> !system( $cmd ) or die( "Couldn't $cmd." );
>
> - #
> - # Remove LVM device mapper files from $staging_dir/dev
> - #
> - $cmd = qq(vgs --noheadings --separator S --options vg_name
> 2>/dev/null);
> - open(VG, "$cmd|");
> - foreach my $vg_name (<VG>) {
> - chomp $vg_name;
> - $vg_name =~ s/^\s+//;
> - my $find_cmd = qq(find $staging_dir/dev/ -name "$vg_name*" |
> xargs rm -rf);
> - !system( $find_cmd ) or die( "Couldn't $find_cmd" );
> - }
> - close(VG);
> -
> #
> # Dir in which to hold stuff. XXX dannf where should this really go?
> #
>
>
>
>
>
>
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Sisuite-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sisuite-users