Index: devel/pb/bin/pb
===================================================================
--- devel/pb/bin/pb	(revision 423)
+++ devel/pb/bin/pb	(revision 427)
@@ -1329,4 +1329,10 @@
 use File::Copy;
 
+our $debug;
+our $LOG;
+our $synmsg = "pbscript";
+pb_log_init($debug, $LOG);
+pb_temp_init();
+
 EOF
 	if ($vtype eq "vm") {
@@ -1370,24 +1376,22 @@
 if ( $found == 0 ) {
 	if ( ! -d "/home" ) {
-		mkdir "/home";
+		pb_mkdir("/home");
 	}
 EOF
 	print SCRIPT << "EOF";
-system "groupadd $pbac->{$ENV{'PBPROJ'}}";
-system "useradd $pbac->{$ENV{'PBPROJ'}} -g $pbac->{$ENV{'PBPROJ'}} -m -d /home/$pbac->{$ENV{'PBPROJ'}}";
+pb_system("groupadd $pbac->{$ENV{'PBPROJ'}}","Adding group $pbac->{$ENV{'PBPROJ'}}");
+pb_system("useradd $pbac->{$ENV{'PBPROJ'}} -g $pbac->{$ENV{'PBPROJ'}} -m -d /home/$pbac->{$ENV{'PBPROJ'}}","Adding user $pbac->{$ENV{'PBPROJ'}} (group $pbac->{$ENV{'PBPROJ'}} - home /home/$pbac->{$ENV{'PBPROJ'}}");
+}
 
 # allow ssh entry to build
 #
-chdir "/home/$pbac->{$ENV{'PBPROJ'}}";
-mkdir ".ssh",0700;
+mkdir "/home/$pbac->{$ENV{'PBPROJ'}}/.ssh",0700;
 # Allow those accessing root to access the build account
-copy("\$ENV{'HOME'}/.ssh/authorized_keys",".ssh/authorized_keys");
+copy("\$ENV{'HOME'}/.ssh/authorized_keys","/home/$pbac->{$ENV{'PBPROJ'}}/.ssh/authorized_keys");
 chmod 0600,".ssh/authorized_keys";
-system 'chown -R $pbac->{$ENV{'PBPROJ'}}:$pbac->{$ENV{'PBPROJ'}} .ssh';
+pb_system("chown -R $pbac->{$ENV{'PBPROJ'}}:$pbac->{$ENV{'PBPROJ'}} /home/$pbac->{$ENV{'PBPROJ'}}/.ssh","Finish setting up the SSH env for $pbac->{$ENV{'PBPROJ'}}");
 
 EOF
 	print SCRIPT << 'EOF';
-}
-
 # No passwd for build account only keys
 $file="/etc/shadow";
@@ -1449,10 +1453,10 @@
 #system "/usr/sbin/ntpdate ntp.pool.org";
 
-system "rm -rf perl-ProjectBuilder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/perl-ProjectBuilder-latest.tar.gz ; tar xvfz perl-ProjectBuilder-latest.tar.gz ; cd perl-ProjectBuilder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf perl-ProjectBuilder-* ; rm -rf project-builder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/project-builder-latest.tar.gz ; tar xvfz project-builder-latest.tar.gz ; cd project-builder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf project-builder-* ;";
+pb_system("rm -rf perl-ProjectBuilder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/perl-ProjectBuilder-latest.tar.gz ; tar xvfz perl-ProjectBuilder-latest.tar.gz ; cd perl-ProjectBuilder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf perl-ProjectBuilder-* ; rm -rf project-builder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/project-builder-latest.tar.gz ; tar xvfz project-builder-latest.tar.gz ; cd project-builder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf project-builder-* ;","Building Project-Builder");
 system "pb 2>&1 | head -5";
 EOF
 	if ((! $vmexist) && ($vtype eq "vm")) {
 		print SCRIPT << 'EOF';
-system "sudo /sbin/halt -p";
+pb_system("sudo /sbin/halt -p","Halting the $vtype");
 EOF
 	}
@@ -1465,8 +1469,8 @@
 				open(PBD,"$f") || die "Unable to open $f";
 				while (<PBD>) {
-					next if (/^package/);
-					next if (/^use Exporter/);
-					next if (/^use ProjectBuilder::Base/);
-					next if (/^our \@/);
+						next if (/^package/);
+						next if (/^use Exporter/);
+						next if (/^use ProjectBuilder::/);
+						next if (/^our /);
 					print SCRIPT $_;
 				}
@@ -1500,7 +1504,12 @@
 my $insfm =	"rm -rf File-MimeInfo* ; wget http://search.cpan.org/CPAN/authors/id/P/PA/PARDUS/File-MimeInfo/File-MimeInfo-0.15.tar.gz ; tar xvfz File-MimeInfo-0.15.tar.gz ; cd File-MimeInfo* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf File-MimeInfo*";
 my $insfb = "rm -rf File-Basedir* ; wget http://search.cpan.org/CPAN/authors/id/P/PA/PARDUS/File-BaseDir-0.03.tar.gz ; tar xvfz File-BaseDir-0.03.tar.gz ; cd File-BaseDir* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf File-BaseDir*";
+my $cmtdm = "Installing Date-Manip perl module";
+my $cmtmb = "Installing Module-Build perl module";
+my $cmtfm = "Installing File-MimeInfo perl module";
+my $cmtfb = "Installing File-Basedir perl module";
+my $cmtall = "Installing required modules";
 
 if ( $ddir eq "fedora" ) {
-	system "yum clean all";
+	pb_system("yum clean all","Cleaning yum env");
 	#system "yum update -y";
 	my $arch=`uname -m`;
@@ -1511,42 +1520,42 @@
 	}
 
-	system "yum -y $opt install rpm-build wget patch ntp sudo perl-DateManip perl-File-MimeInfo perl-ExtUtils-MakeMaker";
+	pb_system("yum -y $opt install rpm-build wget patch ntp sudo perl-DateManip perl-File-MimeInfo perl-ExtUtils-MakeMaker",$cmtall);
 	if ($dver eq 4) {
-		system "$insmb";
-		system "$insfm";
-		system "$insfb";
+		pb_system("$insmb","$cmtmb");
+		pb_system("$insfm","$cmtfm");
+		pb_system("$insfb","$cmtfb");
 	}
 } elsif (( $dfam eq "rh" ) || ($ddir eq "sles") || (($ddir eq "suse") && (($dver eq "10.1") || ($dver eq "10.0"))) || ($ddir eq "slackware")) {
 	# Suppose pkg are installed already as no online mirror available
-	system "rpm -e lsb 2>&1 > /dev/null";
-	system "$insdm";
-	system "$insmb";
-	system "$insfm";
-	system "$insfb";
+	pb_system("rpm -e lsb 2>&1 > /dev/null","Removing lsb package");
+	pb_system("$insdm","$cmtdm");
+	pb_system("$insmb","$cmtmb");
+	pb_system("$insfm","$cmtfm");
+	pb_system("$insfb","$cmtfb");
 } elsif ($ddir eq "suse") { 
 	# New OpenSuSE
-	system "$insmb";
-	system "$insfm";
-	system "$insfb";
-	system "export TERM=linux ; liste=\"\" ; for i in make wget patch sudo perl-DateManip perl-File-HomeDir xntp; do rpm -q \$i 1> /dev/null 2> /dev/null ; if [ \$\? != 0 ]; then liste=\"\$liste \$i\"; fi; done; echo \"Liste: \$liste\" ; if [ \"\$liste\" != \"\" ]; then yast2 -i \$liste ; fi";
+	pb_system("$insmb","$cmtmb");
+	pb_system("$insfm","$cmtfm");
+	pb_system("$insfb","$cmtfb");
+	pb_system("export TERM=linux ; liste=\"\" ; for i in make wget patch sudo perl-DateManip perl-File-HomeDir xntp; do rpm -q \$i 1> /dev/null 2> /dev/null ; if [ \$\? != 0 ]; then liste=\"\$liste \$i\"; fi; done; echo \"Liste: \$liste\" ; if [ \"\$liste\" != \"\" ]; then yast2 -i \$liste ; fi","$cmtall");
 } elsif ( $dfam eq "md" ) {
-		system "urpmi.update -a ; urpmi --auto rpm-build wget sudo patch ntp-client perl-File-MimeInfo";
+		pb_system("urpmi.update -a ; urpmi --auto rpm-build wget sudo patch ntp-client perl-File-MimeInfo","$cmtall");
 		if (($ddir eq "mandrake") && ($dver eq "10.1")) {
-			system "$insdm";
+			pb_system("$insdm","$cmtdm");
 		} else {
-			system "urpmi --auto perl-DateManip";
+			pb_system("urpmi --auto perl-DateManip","$cmtdm");
 		}
 } elsif ( $dfam eq "du" ) {
 	if (( $dver eq "3.1" ) && ($ddir eq "debian")) {
 		#system "apt-get update";
-		system "$insfb";
-		system "$insfm";
-		system "apt-get -y install wget patch ssh sudo debian-builder dh-make fakeroot ntpdate libmodule-build-perl libdate-manip-perl";
+		pb_system("$insfb","$cmtfb");
+		pb_system("$insfm","$cmtfm");
+		pb_system("apt-get -y install wget patch ssh sudo debian-builder dh-make fakeroot ntpdate libmodule-build-perl libdate-manip-perl","$cmtall");
 	} else  {
-		system "apt-get update; apt-get -y install wget patch openssh-server dpkg-dev sudo debian-builder dh-make fakeroot ntpdate libfile-mimeinfo-perl libmodule-build-perl libdate-manip-perl";
+		pb_system("apt-get update; apt-get -y install wget patch openssh-server dpkg-dev sudo debian-builder dh-make fakeroot ntpdate libfile-mimeinfo-perl libmodule-build-perl libdate-manip-perl","$cmtall");
 	}
 } elsif ( $dfam eq "gen" ) {
-		#system "emerge -u system ; emerge wget sudo ntp DateManip File-MimeInfo";
-		system "emerge wget sudo ntp DateManip File-MimeInfo";
+		#system "emerge -u system";
+		pb_system("emerge wget sudo ntp DateManip File-MimeInfo","$cmtall");
 } else {
 	print "No pkg to install\n";
