Changeset 166 in ProjectBuilder
- Timestamp:
- Oct 1, 2007, 10:26:09 AM (17 years ago)
- Location:
- devel/pb
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r165 r166 459 459 if (($cmt eq "Sources") || ($cmt eq "VMs")) { 460 460 $src = "$src $ENV{'PBDESTDIR'}/$pbpkg-$pbver.tar.gz"; 461 $cmd = "$cmd ; ln -sf $pbpkg-$pbver.tar.gz $pbpkg-latest.tar.gz"; 461 if ($cmd eq "") { 462 $cmd = "ln -sf $pbpkg-$pbver.tar.gz $pbpkg-latest.tar.gz"; 463 } else { 464 $cmd = "$cmd ; ln -sf $pbpkg-$pbver.tar.gz $pbpkg-latest.tar.gz"; 465 } 462 466 } 463 467 } … … 642 646 $p = $ARGV[0] if (defined $ARGV[0]); 643 647 print SCRIPT "echo Building packages on VM...\n"; 644 print SCRIPT "pb build2pkg $p\n";648 print SCRIPT "pb -p $ENV{'PBPROJ'} build2pkg $p\n"; 645 649 close(SCRIPT); 646 650 chmod 0755,"$ENV{'PBDESTDIR'}/pbscript"; -
devel/pb/contrib/pbsetupqemu
r164 r166 3 3 # Script to be used as pbscript to create a potentialy 4 4 # missing pb account on the QEMU VM, and adds it to sudo 5 6 # Needs to be extented with the pb Distribution.pm module at the end externally 5 7 # 6 8 # Needs to use root account to connect to the VM … … 11 13 use strict; 12 14 use File::Basename; 13 use ProjectBuilder::Distribution qw (pb_distro_init);14 15 15 16 my $file = "/tmp/pbkey"; … … 38 39 $file="/etc/shadow"; 39 40 open(PBFILE,$file) || die "Unable to open $file"; 41 open(PBOUT,"> $file.new") || die "Unable to open $file.new"; 40 42 while (<PBFILE>) { 41 43 s/^pb:\!\!:/pb:*:/; 44 print PBOUT $_; 42 45 } 43 46 close(PBFILE); 47 close(PBOUT); 48 rename("$file.new",$file); 44 49 45 50 # Adapt sudoers … … 47 52 $found = 0; 48 53 open(PBFILE,$file) || die "Unable to open $file"; 54 open(PBOUT,"> $file.new") || die "Unable to open $file.new"; 49 55 while (<PBFILE>) { 50 56 $found = 1 if (/^pb /); 57 s/Defaults[ \t]+requiretty//; 58 print PBOUT $_; 51 59 } 52 60 close(PBFILE); 53 54 if ( $found == 0 ) { 55 open(PBFILE,">> $file") || die "Unable to open $file"; 56 print PBFILE "pb ALL=(ALL) NOPASSWD:ALL\n"; 57 } 61 print PBFILE "pb ALL=(ALL) NOPASSWD:ALL\n" if ( $found == 0 ); 62 close(PBOUT); 63 rename("$file.new",$file); 58 64 59 65 system 'su - pb -c "mkdir -p .ssh ; chmod 700 .ssh ; cp /tmp/pbkey .ssh/authorized_keys ; chmod 600 .ssh/authorized_keys"'; … … 67 73 if ( $dver <= 4 ) { 68 74 # FC4 69 system "yum -y install neon newt-devel slang-devel autoconf automake libtool gcc rpm-build wget gcc-c++ docbook-utils-pdf ImageMagick man patch cdrecord mkisofs perl-DateManip ; rm -rf AppConfig-* ; wget http://search.cpan.org/CPAN/authors/id/A/AB/ABW/AppConfig-1.66.tar.gz ; tar xvfz AppConfig-1.66.tar.gz ; cd AppConfig* ; perl Makefile.PL ; make ; make install ; cd ..";75 system "yum -y install neon newt-devel slang-devel autoconf automake libtool gcc rpm-build wget gcc-c++ docbook-utils-pdf ImageMagick man patch cdrecord mkisofs perl-DateManip ntp ; rm -rf AppConfig-* ; wget http://search.cpan.org/CPAN/authors/id/A/AB/ABW/AppConfig-1.66.tar.gz ; tar xvfz AppConfig-1.66.tar.gz ; cd AppConfig* ; perl Makefile.PL ; make ; make install ; cd .."; 70 76 } else { 71 77 # FC5/6/7 72 system "yum -y install neon newt-devel slang-devel autoconf automake libtool gcc rpm-build wget vim gcc-c++ docbook-utils-pdf ImageMagick man patch cdrecord mkisofsperl-AppConfig perl-DateManip";78 system "yum -y install neon newt-devel slang-devel autoconf automake libtool gcc rpm-build wget gcc-c++ docbook-utils-pdf ImageMagick man patch cdrecord mkisofs ntp perl-AppConfig perl-DateManip"; 73 79 } 74 80 } elsif ( $dfam eq "md" ) { 75 system "urpmi --auto-select neon newt-devel slang-devel glibc-static-devel autoconf automake libtool gcc rpm-build wget gcc-c++ docbook-utils-pdf ImageMagick man patch mindi mondo mkisofs cdrecord perl-AppConfig perl-DateManip";81 system "urpmi --auto-select neon newt-devel slang-devel glibc-static-devel autoconf automake libtool gcc rpm-build wget gcc-c++ docbook-utils-pdf ImageMagick man patch mindi mondo mkisofs cdrecord ntp-client perl-AppConfig perl-DateManip"; 76 82 } elsif ( $dfam eq "du" ) { 77 system "apt-get install autoconf automake libtool g++ wget patch mondo groff imagemagick docbook-utils docbook2x docbook-to-man openssh-server dpkg-dev debian-builder dh-make fakeroot libnewt-dev libncurses5-dev";83 system "apt-get install autoconf automake libtool g++ wget patch mondo groff imagemagick docbook-utils docbook2x docbook-to-man openssh-server dpkg-dev debian-builder dh-make fakeroot libnewt-dev ntp-client libncurses5-dev"; 78 84 } elsif ( $dfam eq "gen" ) { 79 system "emerge neon newt slang autoconf automake subversion libtool gcc wget vim man groff lynx grub afio buffer mindi mondo-rescue cdrecord mkisofs ";85 system "emerge neon newt slang autoconf automake subversion libtool gcc wget vim man groff lynx grub afio buffer mindi mondo-rescue cdrecord mkisofs ntp-client"; 80 86 } else { 81 87 print "No pkg to install\n"; 82 88 } 83 84 $file = "/tmp/pbpatch";85 unlink $file;86 87 open(PBFILE,"> $file") || die "Unable to open $file";88 print PBFILE << 'EOF';89 --- File.pm 2007-09-29 14:55:28.000000000 +010090 +++ File.pm.new 2007-09-29 14:55:44.000000000 +010091 @@ -15,7 +15,7 @@92 package AppConfig::File;93 use strict;94 use warnings;95 -use AppConfig;96 +use AppConfig qw(:argcount);97 use AppConfig::State;98 our $VERSION = '1.65';99 100 @@ -208,6 +208,11 @@101 102 my $nargs = $state->_argcount($variable);103 104 + # Fix a bug if the variable is a hash - 1 has been created as a key105 + if ($nargs eq AppConfig::ARGCOUNT_HASH) {106 + delete $state->{ VARIABLE }->{ $variable }{1};107 + }108 +109 # variables prefixed '-' are reset to their default values110 if ($flag eq '-') {111 $state->_default($variable);112 113 EOF114 close(PBFILE);115 89 116 90 # Patch AppConfig … … 148 122 149 123 system "rm -rf project-builder-* ; wget 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 .."; 124
Note:
See TracChangeset
for help on using the changeset viewer.