Changeset 427 in ProjectBuilder for devel/pb/bin
- Timestamp:
- May 7, 2008, 5:20:25 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r423 r427 1329 1329 use File::Copy; 1330 1330 1331 our $debug; 1332 our $LOG; 1333 our $synmsg = "pbscript"; 1334 pb_log_init($debug, $LOG); 1335 pb_temp_init(); 1336 1331 1337 EOF 1332 1338 if ($vtype eq "vm") { … … 1370 1376 if ( $found == 0 ) { 1371 1377 if ( ! -d "/home" ) { 1372 mkdir "/home";1378 pb_mkdir("/home"); 1373 1379 } 1374 1380 EOF 1375 1381 print SCRIPT << "EOF"; 1376 system "groupadd $pbac->{$ENV{'PBPROJ'}}"; 1377 system "useradd $pbac->{$ENV{'PBPROJ'}} -g $pbac->{$ENV{'PBPROJ'}} -m -d /home/$pbac->{$ENV{'PBPROJ'}}"; 1382 pb_system("groupadd $pbac->{$ENV{'PBPROJ'}}","Adding group $pbac->{$ENV{'PBPROJ'}}"); 1383 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'}}"); 1384 } 1378 1385 1379 1386 # allow ssh entry to build 1380 1387 # 1381 chdir "/home/$pbac->{$ENV{'PBPROJ'}}"; 1382 mkdir ".ssh",0700; 1388 mkdir "/home/$pbac->{$ENV{'PBPROJ'}}/.ssh",0700; 1383 1389 # Allow those accessing root to access the build account 1384 copy("\$ENV{'HOME'}/.ssh/authorized_keys"," .ssh/authorized_keys");1390 copy("\$ENV{'HOME'}/.ssh/authorized_keys","/home/$pbac->{$ENV{'PBPROJ'}}/.ssh/authorized_keys"); 1385 1391 chmod 0600,".ssh/authorized_keys"; 1386 system 'chown -R $pbac->{$ENV{'PBPROJ'}}:$pbac->{$ENV{'PBPROJ'}} .ssh';1392 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'}}"); 1387 1393 1388 1394 EOF 1389 1395 print SCRIPT << 'EOF'; 1390 }1391 1392 1396 # No passwd for build account only keys 1393 1397 $file="/etc/shadow"; … … 1449 1453 #system "/usr/sbin/ntpdate ntp.pool.org"; 1450 1454 1451 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-* ;";1455 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"); 1452 1456 system "pb 2>&1 | head -5"; 1453 1457 EOF 1454 1458 if ((! $vmexist) && ($vtype eq "vm")) { 1455 1459 print SCRIPT << 'EOF'; 1456 system "sudo /sbin/halt -p";1460 pb_system("sudo /sbin/halt -p","Halting the $vtype"); 1457 1461 EOF 1458 1462 } … … 1465 1469 open(PBD,"$f") || die "Unable to open $f"; 1466 1470 while (<PBD>) { 1467 next if (/^package/);1468 next if (/^use Exporter/);1469 next if (/^use ProjectBuilder::Base/);1470 next if (/^our \@/);1471 next if (/^package/); 1472 next if (/^use Exporter/); 1473 next if (/^use ProjectBuilder::/); 1474 next if (/^our /); 1471 1475 print SCRIPT $_; 1472 1476 } … … 1500 1504 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*"; 1501 1505 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*"; 1506 my $cmtdm = "Installing Date-Manip perl module"; 1507 my $cmtmb = "Installing Module-Build perl module"; 1508 my $cmtfm = "Installing File-MimeInfo perl module"; 1509 my $cmtfb = "Installing File-Basedir perl module"; 1510 my $cmtall = "Installing required modules"; 1502 1511 1503 1512 if ( $ddir eq "fedora" ) { 1504 system "yum clean all";1513 pb_system("yum clean all","Cleaning yum env"); 1505 1514 #system "yum update -y"; 1506 1515 my $arch=`uname -m`; … … 1511 1520 } 1512 1521 1513 system "yum -y $opt install rpm-build wget patch ntp sudo perl-DateManip perl-File-MimeInfo perl-ExtUtils-MakeMaker";1522 pb_system("yum -y $opt install rpm-build wget patch ntp sudo perl-DateManip perl-File-MimeInfo perl-ExtUtils-MakeMaker",$cmtall); 1514 1523 if ($dver eq 4) { 1515 system "$insmb";1516 system "$insfm";1517 system "$insfb";1524 pb_system("$insmb","$cmtmb"); 1525 pb_system("$insfm","$cmtfm"); 1526 pb_system("$insfb","$cmtfb"); 1518 1527 } 1519 1528 } elsif (( $dfam eq "rh" ) || ($ddir eq "sles") || (($ddir eq "suse") && (($dver eq "10.1") || ($dver eq "10.0"))) || ($ddir eq "slackware")) { 1520 1529 # Suppose pkg are installed already as no online mirror available 1521 system "rpm -e lsb 2>&1 > /dev/null";1522 system "$insdm";1523 system "$insmb";1524 system "$insfm";1525 system "$insfb";1530 pb_system("rpm -e lsb 2>&1 > /dev/null","Removing lsb package"); 1531 pb_system("$insdm","$cmtdm"); 1532 pb_system("$insmb","$cmtmb"); 1533 pb_system("$insfm","$cmtfm"); 1534 pb_system("$insfb","$cmtfb"); 1526 1535 } elsif ($ddir eq "suse") { 1527 1536 # New OpenSuSE 1528 system "$insmb";1529 system "$insfm";1530 system "$insfb";1531 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";1537 pb_system("$insmb","$cmtmb"); 1538 pb_system("$insfm","$cmtfm"); 1539 pb_system("$insfb","$cmtfb"); 1540 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"); 1532 1541 } elsif ( $dfam eq "md" ) { 1533 system "urpmi.update -a ; urpmi --auto rpm-build wget sudo patch ntp-client perl-File-MimeInfo";1542 pb_system("urpmi.update -a ; urpmi --auto rpm-build wget sudo patch ntp-client perl-File-MimeInfo","$cmtall"); 1534 1543 if (($ddir eq "mandrake") && ($dver eq "10.1")) { 1535 system "$insdm";1544 pb_system("$insdm","$cmtdm"); 1536 1545 } else { 1537 system "urpmi --auto perl-DateManip";1546 pb_system("urpmi --auto perl-DateManip","$cmtdm"); 1538 1547 } 1539 1548 } elsif ( $dfam eq "du" ) { 1540 1549 if (( $dver eq "3.1" ) && ($ddir eq "debian")) { 1541 1550 #system "apt-get update"; 1542 system "$insfb";1543 system "$insfm";1544 system "apt-get -y install wget patch ssh sudo debian-builder dh-make fakeroot ntpdate libmodule-build-perl libdate-manip-perl";1551 pb_system("$insfb","$cmtfb"); 1552 pb_system("$insfm","$cmtfm"); 1553 pb_system("apt-get -y install wget patch ssh sudo debian-builder dh-make fakeroot ntpdate libmodule-build-perl libdate-manip-perl","$cmtall"); 1545 1554 } else { 1546 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";1555 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"); 1547 1556 } 1548 1557 } elsif ( $dfam eq "gen" ) { 1549 #system "emerge -u system ; emerge wget sudo ntp DateManip File-MimeInfo";1550 system "emerge wget sudo ntp DateManip File-MimeInfo";1558 #system "emerge -u system"; 1559 pb_system("emerge wget sudo ntp DateManip File-MimeInfo","$cmtall"); 1551 1560 } else { 1552 1561 print "No pkg to install\n";
Note:
See TracChangeset
for help on using the changeset viewer.