Changeset 8 in ProjectBuilder
- Timestamp:
- Jul 29, 2007, 2:30:56 AM (18 years ago)
- Location:
- devel/pb
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb.pl
r6 r8 13 13 14 14 use lib qw (lib etc); 15 use vars qw (%defpkgdir %extpkgdir @version);15 use vars qw (%defpkgdir %extpkgdir %version); 16 16 use common qw (set_env); 17 17 use pb qw (defpkgdir extpkgdir version pb_init); … … 24 24 # Handles project name if any 25 25 if (defined $opts{'p'}) { 26 set_env($opts{'p'});26 $ENV{'PBPROJ'} = set_env($opts{'p'}); 27 27 } else { 28 set_env();28 $ENV{'PBPROJ'} = set_env(); 29 29 } 30 30 -
devel/pb/etc/pb.pb
r7 r8 20 20 extpkgdir "" = "" 21 21 22 # Listof valid version names22 # Hash of valid version names 23 23 version devel 24 24 version stable -
devel/pb/lib/cms.pm
r6 r8 18 18 my $ret; 19 19 20 chdir "$ENV{'PBROOT'}"; 21 system("svn info 2>&1 /dev/null") == 0 or die "system svn info failed: $?"; 20 system("cd $ENV{'PBROOT'} ; svn info . 2>&1 > /dev/null"); 22 21 if ($? == -1) { 23 22 print "failed to execute: $!\n"; … … 27 26 $ret = $? >> 8; 28 27 if ($ret == 0) { 29 $ENV{' REVISION'}=`(cd "$ENV{'PBROOT'}/.." ; svnversion .)`;30 $ENV{' CMSLOG'}="svn log";31 $ENV{' CMSEXP'}="svn export";28 $ENV{'PBREVISION'}=`(cd "$ENV{'PBROOT'}" ; svnversion .)`; 29 $ENV{'PBCMSLOG'}="svn log"; 30 $ENV{'PBCMSEXP'}="svn export"; 32 31 } else { 33 32 # By default if not SVN take CVS 34 $ENV{' REVISION'}=`(cd "$ENV{'PBROOT'}/.." ; cvs rannotate -f . 2>&1 | awk '{print$1}' | grep -E '^[0-9]' | cut -d. -f2 |sort -nu | tail -1)`;35 $ENV{' CMSLOG'}="cvs log";36 $ENV{' CMSEXP'}="cvs export"33 $ENV{'PBREVISION'}=`(cd "$ENV{'PBROOT'}" ; cvs rannotate -f . 2>&1 | awk '{print \$1}' | grep -E '^[0-9]' | cut -d. -f2 |sort -nu | tail -1)`; 34 $ENV{'PBCMSLOG'}="cvs log"; 35 $ENV{'PBCMSEXP'}="cvs export" 37 36 } 38 37 } -
devel/pb/lib/common.pm
r7 r8 16 16 use File::Temp qw /tempdir/; 17 17 use vars qw (%defpkgdir %extpkgdir %version); 18 use Data::Dumper; 18 19 19 20 $ENV{'PBCONF'} = "/etc/pb"; … … 25 26 my $tag; 26 27 28 # 27 29 # Check project name 30 # 28 31 if ((defined $ENV{'PBPROJ'}) && 29 32 (not (defined $proj))) { … … 32 35 die "No project defined - use env var PBPROJ or -p proj" if (not (defined $proj)); 33 36 37 # 34 38 # Use project configuration file 39 # 35 40 pb_init("$ENV{'PBCONF'}/$proj.pb"); 36 41 42 # 37 43 # Check content 44 # 38 45 die "PBROOT doesn't exist in $ENV{'PBCONF'}/$proj.pb" if (not (defined $ENV{'PBROOT'})); 39 46 die "defpkgdir doesn't exist in $ENV{'PBCONF'}/$proj.pb" if (not (defined %defpkgdir)); 40 47 48 # 41 49 # Set temp directory 50 # 42 51 if (not defined $ENV{'TMPDIR'}) { 43 52 $ENV{'TMPDIR'}="/tmp"; … … 45 54 $ENV{'PBTMP'} = tempdir( "pb.XXXXXXXXXX", DIR => $ENV{'TMPDIR'}, CLEANUP => 1 ); 46 55 56 # 57 # Check pb conf compliance 58 # 59 die "Project $ENV{'PBPROJ'} not ProjectBuild compliant. Please populate $ENV{'PBROOT'}/pbconf" if ( not -d "$ENV{'PBROOT'}/pbconf"); 60 61 # 47 62 # Get global VERSION 48 open(VER, "$ENV{'PBROOT'}/VERSION") || die "Unable to open $ENV{'PBROOT'}/VERSION: $?"; 63 # 64 open(VER, "$ENV{'PBROOT'}/pbconf/VERSION") || die "Unable to open $ENV{'PBROOT'}/pbconf/VERSION: $?"; 49 65 $ver = <VER>; 50 66 chomp($ver); 51 die "Invalid version name $ver in $ENV{'PBROOT'}/VERSION" if ($ver !~ /[0-9.]+/) || (defined $version{$ver}); 67 #print Dumper(%version); 68 die "Invalid version name $ver in $ENV{'PBROOT'}/VERSION" if ($ver !~ /[0-9.]+/) && (not exists $version{$ver}); 52 69 $ENV{'PBVER'}=$ver; 53 70 close(VER); 54 71 72 # 55 73 #Get global TAG 56 open(TAG, "$ENV{'PBROOT'}/TAG") || die "Unable to open $ENV{'PBROOT'}/TAG: $?"; 74 # 75 open(TAG, "$ENV{'PBROOT'}/pbconf/TAG") || die "Unable to open $ENV{'PBROOT'}/pbconf/TAG: $?"; 57 76 $tag = <TAG>; 58 77 chomp($tag); 59 die "Invalid version tag$tag in $ENV{'PBROOT'}/TAG" if ($tag !~ /[0-9]+/);78 die "Invalid tag name $tag in $ENV{'PBROOT'}/TAG" if ($tag !~ /[0-9]+/); 60 79 $ENV{'PBTAG'}=$tag; 61 80 close(TAG); 62 81 82 # 63 83 # Adapt to your needs 64 84 # Set delivery directory 85 # 65 86 $ENV{'PBTOPDIR'}="$ENV{'PBROOT'}/../delivery"; 66 $ENV{'PBDESTDIR'}=$ENV{' TOPDIR'}."/".$ENV{'PBVER'}."-".$ENV{'PBTAG'};87 $ENV{'PBDESTDIR'}=$ENV{'PBTOPDIR'}."/".$ENV{'PBVER'}."-".$ENV{'PBTAG'}; 67 88 mkpath $ENV{'PBDESTDIR'}; 68 89 69 umask 0022 90 umask 0022; 91 return($proj); 70 92 } 71 93 1; -
devel/pb/lib/pb.pm
r7 r8 11 11 @ISA = qw(Exporter); 12 12 # global vars are here 13 @EXPORT_OK = qw(%defpkgdir %extpkgdir @version &pb_init);13 @EXPORT_OK = qw(%defpkgdir %extpkgdir %version &pb_init); 14 14 use vars @EXPORT_OK; 15 15 use AppConfig qw(ARGCOUNT_ONE ARGCOUNT_HASH ARGCOUNT_LIST EXPAND_ALL); … … 29 29 $config->define("defpkgdir" => { ARGCOUNT => ARGCOUNT_HASH }); 30 30 $config->define("extpkgdir" => { ARGCOUNT => ARGCOUNT_HASH }); 31 $config->define("version" => { ARGCOUNT => ARGCOUNT_ LIST});31 $config->define("version" => { ARGCOUNT => ARGCOUNT_HASH }); 32 32 33 33 $config->file($conffile); … … 51 51 # Valid version names 52 52 $ptr = $config->get("version"); 53 @version = @$ptr;53 %version = %$ptr; 54 54 55 55 }
Note:
See TracChangeset
for help on using the changeset viewer.