[Midnightbsd-cvs] mports: Chroot.pm: Couple bug fixes.

ctriv at midnightbsd.org ctriv at midnightbsd.org
Thu Sep 6 00:22:38 EDT 2007


Log Message:
-----------
Couple bug fixes.

Modified Files:
--------------
    mports/Tools/lib/Magus:
        Chroot.pm (r1.2 -> r1.3)

-------------- next part --------------
Index: Chroot.pm
===================================================================
RCS file: /home/cvs/mports/Tools/lib/Magus/Chroot.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -LTools/lib/Magus/Chroot.pm -LTools/lib/Magus/Chroot.pm -u -r1.2 -r1.3
--- Tools/lib/Magus/Chroot.pm
+++ Tools/lib/Magus/Chroot.pm
@@ -31,7 +31,7 @@
 
 use strict;
 use warnings;
-use File::Path qw(mkpath);
+use File::Path qw(mkpath rmtree);
 
 =head1 NAME 
 
@@ -125,6 +125,7 @@
   $self->_mtree('BSD.x11-4.dist', $self->{x11base});
   
   system("/sbin/mount -t devfs devfs $self->{root}/dev");
+  $self->_touchfile('/.clean');
 }
 
 
@@ -135,7 +136,7 @@
   my ($self) = @_;
   
   for (qw(workdir x11base localbase packages)) {
-    rmpath("$self->{root}/$self->{$_}");
+    rmtree("$self->{root}/$self->{$_}");
     $self->_mkdir($self->{$_});
   }
   
@@ -143,9 +144,7 @@
   $self->_mtree('BSD.x11-4.dist', $self->{x11base});
   
   unlink("$self->{root}/.dirty");
-  my $tmp;
-  open($tmp, '>', "$self->{root}/.clean") && close($tmp) 
-    || die "Couldn'touch $self->{root}/.clean\n";
+  $self->_touchfile('/.clean');
 }
 
 
@@ -157,9 +156,17 @@
 
 sub _mkdir {
   my ($self, $dir) = @_;
-  
+  use Carp;
   mkpath("$self->{root}/$dir") ||
-    die "Couldn't mkdir $self->{root}/$dir: $!\n";
+    croak "Couldn't mkdir $self->{root}/$dir: $!\n";
+}
+
+
+sub _touchfile {
+  my ($self, $file) = @_; 
+  my $tmp;
+  open($tmp, '>>', "$self->{root}$file") && close($tmp) 
+    || die "Couldn'touch $self->{root}$file\n";
 }
 
 
@@ -221,10 +228,10 @@
       or die "umount returned non-zero: $?\n";
   }
   
-  system("/sbin/chflags 0 $self->{root}/var/empty") == 0 
+  system("/bin/chflags 0 $self->{root}/var/empty") == 0 
     or die "chflags returned non-zero: $?\n";
   
-  rmpath($self->root);
+  rmtree($self->root) || die "Couldn't rmtree $self->{root}\n";
 }
 
 1;


More information about the Midnightbsd-cvs mailing list