On Mon, Nov 13, 2006 at 04:00:47PM -0700, dann frazier wrote:
> On Sun, Nov 12, 2006 at 08:07:44AM -0600, John Goerzen wrote:
> > Package: systemimager-server
> > Version: 3.6.3dfsg1-1
> > Severity: serious
> > 
> > si_getimage does not download /dev (or rather, it should download 
> > /dev/.static/dev) when the client is running udev.
> 
> hey John,
>  Here's a patch, but I don't have the setup to test it - are you able
> to do so?

Yes -- it will probably be tomorrow.

-- John

> 
> --- si_getimage.bak   2006-11-13 15:47:39.000000000 -0700
> +++ si_getimage       2006-11-13 15:57:37.000000000 -0700
> @@ -360,6 +360,13 @@
>      @mounted_filesystems = <FILE>;
>    close FILE;
>  
> +  ## Client maybe using udev, in which case we'll copy over /dev/.static/dev 
> as /dev
> +  if (grep (/^udev\son\s\/dev\stype\stmpfs\s/, @mounted_filesystems) {
> +      $get_dev_dot_static = 1;
> +  } else {
> +      $get_dev_dot_static = 0;
> +  }
> +
>    $file="$final_exclude_file";
>    open (FINAL_EXCLUDE_FILE, ">$file") || die "$program_name: Couldn't open 
> $file for writing!\n";
>      @mounted_filesystems = grep (!/\s+ext2\s+/, @mounted_filesystems);
> @@ -417,6 +424,28 @@
>      !system($command) or die("$program_name: Failed to retrieve image $image 
> from $source_host.\n");
>  }
>  
> +if ($get_dev_dot_static) {
> +    # compile rsync options
> +    $options = "--delete";
> +    if ($log) { $options = $options . qq( --log-format="$log"); }
> +    if ($ssh_user) { $options = $options . " --bwlimit=10000"; }
> +    $options = $options . " 
> rsync://${source_host}:${port}/root/dev/.static/dev/ $imagedir/dev/";
> +
> +    if (!$quiet) {
> +     print "\n\nRetrieving image $image from $source_host\n";
> +     open (RSYNC, "rsync -aHSv --numeric-ids $options |");
> +     print "------------- $image IMAGE RETRIEVAL PROGRESS -------------\n";
> +     while (<RSYNC>) {
> +         print $_;
> +     }
> +     print "------------- $image IMAGE RETRIEVAL FINISHED -------------\n";
> +     close (RSYNC);
> +    } else {
> +     $command = qq(rsync -aHS --numeric-ids $options);
> +     !system($command) or die("$program_name: Failed to retrieve image 
> $image from $source_host.\n");
> +    }
> +}
> +
>  if(!$quiet) {
>      print "\nPress <Enter> to continue...";
>      <STDIN>;
> 
> -- 
> dann frazier
> 
> 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to