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?

--- 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