Changeset 652 in ProjectBuilder for devel/pb/bin
- Timestamp:
- Jan 14, 2009, 1:47:26 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r650 r652 1501 1501 1502 1502 my $vtype = shift; 1503 my $v = shift; 1503 1504 1504 1505 my ($ntp) = pb_conf_get($vtype."ntp"); … … 1507 1508 1508 1509 if (defined $vntp) { 1509 $ntpline = "sudo /usr/sbin/ntpdate $vntp"; 1510 my ($ntpcmd) = pb_conf_get($vtype."ntpcmd"); 1511 my $vntpcmd; 1512 if (defined $ntpcmd->{$v}) { 1513 $vntpcmd = $ntpcmd->{$v}; 1514 } elsif (defined $vntpcmd->{$ENV{'PBPROJ'}}) { 1515 $vntpcmd = $ntpcmd->{$ENV{'PBPROJ'}}; 1516 } else { 1517 $vntpcmd = "/bin/true"; 1518 } 1519 $ntpline = "sudo $vntpcmd $vntp"; 1510 1520 } else { 1511 1521 $ntpline = undef; … … 1524 1534 my $vtype = shift; 1525 1535 1526 # Prepare the script to be executed on the VM/VE1527 # in $ENV{'PBDESTDIR'}/pbscript1528 my ($ntpline,$dateline) = pb_date_v($vtype);1529 open(SCRIPT,"> $ENV{'PBDESTDIR'}/pbscript") || die "Unable to create $ENV{'PBDESTDIR'}/pbscript";1530 print SCRIPT "#!/bin/bash\n";1531 print SCRIPT "echo ... Execution needed\n";1532 print SCRIPT "# This is in directory delivery\n";1533 print SCRIPT "# Setup the variables required for building\n";1534 print SCRIPT "export PBPROJ=$ENV{'PBPROJ'}\n";1535 print SCRIPT "# Preparation for pb\n";1536 print SCRIPT "mv .pbrc \$HOME\n";1537 print SCRIPT "cd ..\n";1538 print SCRIPT "# Time sync\n";1539 if (defined $ntpline) {1540 print SCRIPT "if [ -x /usr/sbin/ntpdate ]; then\n";1541 print SCRIPT " $ntpline\n";1542 print SCRIPT "else\n";1543 }1544 print SCRIPT " $dateline\n";1545 if (defined $ntpline) {1546 print SCRIPT "fi\n";1547 }1548 1549 # Get list of packages to build and get some ENV vars as well1550 my $ptr = pb_get_pkg();1551 @pkgs = @$ptr;1552 my $p = join(' ',@pkgs) if (@pkgs);1553 print SCRIPT "export PBPROJVER=$ENV{'PBPROJVER'}\n";1554 print SCRIPT "export PBPROJTAG=$ENV{'PBPROJTAG'}\n";1555 print SCRIPT "export PBPACKAGER=\"$ENV{'PBPACKAGER'}\"\n";1556 print SCRIPT "# Build\n";1557 print SCRIPT "echo Building packages on $vtype...\n";1558 1559 # Transmit the verbosity level to the virtual env/mach.1560 my $verbose = "";1561 my $i = 0; # minimal debug level1562 while ($i lt $pbdebug) {1563 $verbose .= "-v ";1564 $i++;1565 }1566 # Quiet if asked to be so on the original system1567 $verbose = "-q" if ($pbdebug eq -1);1568 print SCRIPT "pb $verbose -p $ENV{'PBPROJ'} build2pkg $p\n";1569 close(SCRIPT);1570 chmod 0755,"$ENV{'PBDESTDIR'}/pbscript";1571 1572 1536 my ($v,$all) = pb_get_v($vtype); 1573 1537 … … 1578 1542 1579 1543 foreach my $v (@$v) { 1544 # Prepare the script to be executed on the VM/VE 1545 # in $ENV{'PBDESTDIR'}/pbscript 1546 open(SCRIPT,"> $ENV{'PBDESTDIR'}/pbscript") || die "Unable to create $ENV{'PBDESTDIR'}/pbscript"; 1547 print SCRIPT "#!/bin/bash\n"; 1548 print SCRIPT "echo ... Execution needed\n"; 1549 print SCRIPT "# This is in directory delivery\n"; 1550 print SCRIPT "# Setup the variables required for building\n"; 1551 print SCRIPT "export PBPROJ=$ENV{'PBPROJ'}\n"; 1552 print SCRIPT "# Preparation for pb\n"; 1553 print SCRIPT "mv .pbrc \$HOME\n"; 1554 print SCRIPT "cd ..\n"; 1555 1556 # Get list of packages to build and get some ENV vars as well 1557 my $ptr = pb_get_pkg(); 1558 @pkgs = @$ptr; 1559 my $p = join(' ',@pkgs) if (@pkgs); 1560 print SCRIPT "export PBPROJVER=$ENV{'PBPROJVER'}\n"; 1561 print SCRIPT "export PBPROJTAG=$ENV{'PBPROJTAG'}\n"; 1562 print SCRIPT "export PBPACKAGER=\"$ENV{'PBPACKAGER'}\"\n"; 1563 1564 my ($ntpline,$dateline) = pb_date_v($vtype,$v); 1565 print SCRIPT "# Time sync\n"; 1566 if (defined $ntpline) { 1567 print SCRIPT "$ntpline\n"; 1568 } else { 1569 print SCRIPT "$dateline\n"; 1570 } 1571 1572 # Transmit the verbosity level to the virtual env/mach. 1573 my $verbose = ""; 1574 my $i = 0; # minimal debug level 1575 while ($i lt $pbdebug) { 1576 $verbose .= "-v "; 1577 $i++; 1578 } 1579 # Quiet if asked to be so on the original system 1580 $verbose = "-q" if ($pbdebug eq -1); 1581 1582 print SCRIPT "# Build\n"; 1583 print SCRIPT "echo Building packages on $vtype...\n"; 1584 print SCRIPT "pb $verbose -p $ENV{'PBPROJ'} build2pkg $p\n"; 1585 close(SCRIPT); 1586 chmod 0755,"$ENV{'PBDESTDIR'}/pbscript"; 1587 1580 1588 if ($vtype eq "vm") { 1581 1589 # Launch the VM … … 1728 1736 my $pbscript = "$ENV{'PBDESTDIR'}/setupv"; 1729 1737 1730 # Deal with date sync.1731 my ($ntpline,$dateline) = pb_date_v($vtype);1732 1733 1738 foreach my $v (@$vm) { 1739 # Deal with date sync. 1740 my ($ntpline,$dateline) = pb_date_v($vtype,$v); 1741 1734 1742 # Name of the account to deal with for VM/VE 1735 1743 # Do not use the one passed potentially with -a … … 1811 1819 EOF 1812 1820 if (defined $ntpline) { 1813 print SCRIPT "if ( -x \"/usr/sbin/ntpdate\" ) {\n"; 1814 print SCRIPT " system(\"$ntpline\")\n"; 1815 print SCRIPT "} else {\n"; 1816 } 1817 print SCRIPT " system(\"$dateline\")\n"; 1818 if (defined $ntpline) { 1819 print SCRIPT "}\n"; 1821 print SCRIPT "system(\"$ntpline\");\n"; 1822 } else { 1823 print SCRIPT "system(\"$dateline\");\n"; 1820 1824 } 1821 1825 } … … 2018 2022 } elsif ($ddir eq "suse") { 2019 2023 # New OpenSuSE 2024 pb_distro_installdeps(undef,$dtype,$pbupd,pb_distro_only_deps_needed($dtype,"make wget patch sudo ntp")); 2020 2025 pb_system("$insmb","$cmtmb"); 2021 2026 pb_system("$insfm","$cmtfm"); 2022 2027 pb_system("$insfb","$cmtfb"); 2023 pb_system("$insms","$cmtms"); 2024 pb_distro_installdeps(undef,$dtype,$pbupd,pb_distro_only_deps_needed($dtype,"make wget patch sudo perl-DateManip perl-File-HomeDir perl-Mail-Sendmail ntp")); 2028 pb_distro_installdeps(undef,$dtype,$pbupd,pb_distro_only_deps_needed($dtype,"perl-Date-Manip perl-File-HomeDir perl-Mail-Sendmail")); 2029 if ($dver < 11) { 2030 pb_distro_installdeps(undef,$dtype,$pbupd,pb_distro_only_deps_needed($dtype,"ntp")); 2031 } else { 2032 pb_distro_installdeps(undef,$dtype,$pbupd,pb_distro_only_deps_needed($dtype,"sntp")); 2033 } 2025 2034 } elsif ( $dfam eq "md" ) { 2026 2035 my $addp = "";
Note:
See TracChangeset
for help on using the changeset viewer.