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

Reply via email to