Handle new-style user/group entries in the restore script.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Tue, 15 May 2007 22:57:24 +0000 (15:57 -0700)
committerMichael Vrable <mvrable@turin.ucsd.edu>
Tue, 15 May 2007 22:57:24 +0000 (15:57 -0700)
The new style is
    uid (username)
and was previously causing a warning since the entire string is not
numeric, just the first part.  Now explicitly split it apart.  (For now, we
ignore the username string, but it could possibly be used in the future.)

restore.pl

index be94078..c7b4cca 100755 (executable)
@@ -272,8 +272,14 @@ sub process_file {
 
     my $uid = -1;
     my $gid = -1;
-    $uid = $info{user} + 0 if defined $info{user};
-    $gid = $info{group} + 0 if defined $info{group};
+    if (defined $info{user}) {
+        my @items = split /\s/, $info{user};
+        $uid = $items[0] + 0 if exists $items[0];
+    }
+    if (defined $info{group}) {
+        my @items = split /\s/, $info{group};
+        $gid = $items[0] + 0 if exists $items[0];
+    }
     chown $uid, $gid, $dest
         or warn "Unable to change ownership for $dest";