- Timestamp:
- Jan 8, 2011, 2:13:21 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r1139 r1140 259 259 260 260 Setup a virtual environment for pb usage 261 262 =item B<sbx2setupvm> 263 264 Setup a virtual machine for pb usage using the sandbox version of pb instead of the latest stable 265 Reserved to dev team. 266 267 =item B<sbx2setupve> 268 269 Setup a virtual environment for pb usage using the sandbox version of pb instead of the latest stable 270 Reserved to dev team. 261 271 262 272 =item B<snapvm> … … 595 605 } elsif ($action =~ /^setupvm$/) { 596 606 pb_setup2v("vm"); 607 } elsif ($action =~ /^sbx2setupve$/) { 608 die "This feature is limited to the pb project" if ($ENV{'PBPROJ'} ne $appname); 609 pb_cms2build("SandBox"); 610 pb_setup2v("ve","SandBox"); 611 } elsif ($action =~ /^sbx2setupvm$/) { 612 die "This feature is limited to the pb project" if ($ENV{'PBPROJ'} ne $appname); 613 pb_cms2build("SandBox"); 614 pb_setup2v("vm","SandBox"); 597 615 } elsif ($action =~ /^updateve$/) { 598 616 pb_update2v("ve"); … … 1718 1736 } 1719 1737 1720 pb_system("$shcmd \"echo \'cd $tdir ; if [ -x pbscript ]; then ./pbscript; fi ; rm -f ./pbscript\' | bash\"","Executing pbscript on $cptarget if needed","verbose"); 1738 # Use the right script name depending on context 1739 my $pbscript; 1740 if ($cmt =~ /^V[EM]/) { 1741 $pbscript = "pbscript.$$"; 1742 } else { 1743 $pbscript = "pbscript"; 1744 } 1745 1746 pb_system("$shcmd \"echo \'cd $tdir ; if [ -x $pbscript ]; then ./$pbscript; fi ; rm -f ./$pbscript\' | bash\"","Executing pbscript on $cptarget if needed","verbose"); 1721 1747 if ($cmt =~ /^V[EM]build/) { 1722 1748 # Get back info on pkg produced, compute their name and get them from the VM … … 2059 2085 my ($rbsconf) = pb_conf_get("rbsconf"); 2060 2086 2061 pb_system("sudo /usr/sbin/rinse --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$rbsconf->{$ENV{'PBPROJ'}}\" $b4post $postinstall $rbsopt $addpkgs $rinseverb","Creating the rinse VE for $ddir-$dver ($darch)", "verbose"); 2087 my $command = pb_check_req("rinse",0); 2088 pb_system("sudo $command --directory \"$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch\" --arch \"$darch\" --distribution \"$ddir-$dver\" --config \"$rbsconf->{$ENV{'PBPROJ'}}\" $b4post $postinstall $rbsopt $addpkgs $rinseverb","Creating the rinse VE for $ddir-$dver ($darch)", "verbose"); 2062 2089 } elsif ($verpmstyle eq "rpmbootstrap") { 2063 2090 my $rbsverb = ""; … … 2466 2493 2467 2494 my $vtype = shift; 2495 my $sbx = shift || undef; 2468 2496 2469 2497 my ($vm,$all) = pb_get2v($vtype); … … 2498 2526 2499 2527 # We should not need in this script more functions than what is provided 2500 # by Base and Distribution to avoid problems at exec time.2528 # by Base, Conf and Distribution to avoid problems at exec time. 2501 2529 # They are appended at the end. 2502 2530 … … 2744 2772 my ($instype) = pb_conf_get("pbinstalltype"); 2745 2773 my $itype = pb_distro_get_param($ddir,$dver,$darch,$instype,$dfam,$dtype,$dos); 2774 if (defined $sbx) { 2775 # Install from sandbox mean a file base install 2776 $itype = "file"; 2777 } 2746 2778 if ($itype =~ /^file/) { 2779 my $cmdget; 2780 if (defined $sbx) { 2781 # Install from sandbox mean using the result of the just passed sbx2build command 2782 # Get content saved in cms2build 2783 my ($pkg) = pb_conf_read("$ENV{'PBDESTDIR'}/$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.pb","pbpkg"); 2784 die "Unable to get package list" if (not defined $pkg); 2785 my ($vepath) = pb_conf_get("vepath"); 2786 2787 # We consider 2 specific packages 2788 my $vertag1 = $pkg->{"ProjectBuilder"}; 2789 my $vertag2 = $pkg->{"project-builder"}; 2790 # get the version of the current package - maybe different 2791 my ($pbver1,$tmp1) = split(/-/,$vertag1); 2792 my ($pbver2,$tmp2) = split(/-/,$vertag2); 2793 # Copy inside the VM 2794 copy("$ENV{'PBDESTDIR'}/ProjectBuilder-$pbver1.tar.gz","$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch/tmp"); 2795 copy("$ENV{'PBDESTDIR'}/project-builder-$pbver2.tar.gz","$vepath->{$ENV{'PBPROJ'}}/$ddir/$dver/$darch/tmp"); 2796 $cmdget = "mv /tmp/ProjectBuilder-$pbver1.tar.gz ProjectBuilder-latest.tar.gz ; mv /tmp/project-builder-$pbver2.tar.gz project-builder-latest.tar.gz"; 2797 } else { 2798 $cmdget = "wget --passive-ftp ftp://ftp.project-builder.org/src/ProjectBuilder-latest.tar.gz; wget --passive-ftp ftp://ftp.project-builder.org/src/project-builder-latest.tar.gz"; 2799 } 2747 2800 print SCRIPT << 'EOF'; 2748 2801 # Then install manually the missing perl modules … … 2757 2810 pb_system("echo \"rm -rf $m* ; wget http://search.cpan.org/CPAN/modules/by-module/$dir/$m-$osperlver->{$m}.tar.gz ; gzip -cd $m-$osperlver->{$m}.tar.gz | tar xf - ; cd $m* ; if [ -f Build.PL ]; then perl Build.PL; ./Build ; ./Build install ; else perl Makefile.PL; make ; make install ; fi; cd .. ; rm -rf $m*\" | bash" ,"Installing perl module $m-$osperlver->{$m}"); 2758 2811 } 2759 2760 pb_system("rm -rf ProjectBuilder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/ProjectBuilder-latest.tar.gz ; gzip -cd ProjectBuilder-latest.tar.gz | tar xf - ; cd ProjectBuilder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf ProjectBuilder-* ; rm -rf project-builder-* ; wget --passive-ftp ftp://ftp.mondorescue.org/src/project-builder-latest.tar.gz ; gzip -cd project-builder-latest.tar.gz | tar xf - ; cd project-builder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf project-builder-* ;","Building Project-Builder"); 2812 EOF 2813 2814 print SCRIPT << "EOF"; 2815 pb_system("rm -rf ProjectBuilder-* ; rm -rf project-builder-* ; $cmdget ; gzip -cd ProjectBuilder-latest.tar.gz | tar xf - ; cd ProjectBuilder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf ProjectBuilder-* ; gzip -cd project-builder-latest.tar.gz | tar xf - ; cd project-builder-* ; perl Makefile.PL ; make ; make install ; cd .. ; rm -rf project-builder-* ;","Building Project-Builder"); 2761 2816 EOF 2762 2817 } elsif ($itype =~ /^pkg/) {
Note:
See TracChangeset
for help on using the changeset viewer.