Changeset 88 in ProjectBuilder for devel/pb/lib
- Timestamp:
- Sep 3, 2007, 4:36:22 PM (17 years ago)
- Location:
- devel/pb/lib/ProjectBuilder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/lib/ProjectBuilder/Base.pm
r87 r88 193 193 194 194 # Function which returns a pointer on a hash 195 # corresponding to a declaration (arg2) in the main conf file 196 # and test the returned vaue as they need to exist in that case 197 sub pb_conf_get { 198 199 my @param = @_; 200 201 my $ptr = pb_conf_read("$ENV{'PBETC'}", @param); 202 my @ptr; 203 if ($#param == 0) { 204 push @ptr, $ptr; 205 } else { 206 @ptr = @$ptr; 207 } 208 foreach my $i (0..$#param) { 209 die "No $param[$i] defined for $ENV{'PBPROJ'}" if (not defined $ptr[$i]); 210 my $p = $ptr[$i]; 211 $p->{$ENV{'PBPROJ'}} = $p->{'default'} if (not defined $p->{$ENV{'PBPROJ'}}); 212 die "No $param[$i] defined for $ENV{'PBPROJ'}" if (not defined $p->{$ENV{'PBPROJ'}}); 213 } 214 if ($#param == 0) { 215 print "DEBUG: param: ".Dumper($ptr[0])."\n" if ($debug >= 1); 216 return($ptr[0]); 217 } else { 218 my $ptr = \@ptr; 219 print "DEBUG: param: ".Dumper($ptr)."\n" if ($debug >= 1); 220 return($ptr); 221 } 222 } 223 224 # Function which returns a pointer on a hash 195 225 # corresponding to a declaration (arg2) in a conf file (arg1) 196 226 sub pb_conf_read { … … 222 252 } 223 253 if ($#param == 0) { 224 print "DEBUG: param: ".Dumper($ptr[0])."\n" if ($debug >= 1);254 print "DEBUG: param: $param[0] ".Dumper($ptr[0])."\n" if ($debug >= 1); 225 255 return($ptr[0]); 226 256 } else { 227 257 my $ptr = \@ptr; 228 print "DEBUG: params: ".Dumper( $ptr)."\n" if ($debug >= 1);258 print "DEBUG: params: ".Dumper(@param)." ".Dumper($ptr)."\n" if ($debug >= 1); 229 259 return($ptr); 230 260 } 231 }232 233 sub pb_conf_init {234 235 my $conffile = shift;236 my $ptr;237 my $trace;238 239 if ($debug > 0) {240 $trace = 1;241 } else {242 $trace = 0;243 }244 245 my $config = AppConfig->new({246 # Auto Create variables mentioned in Conf file247 DEBUG => $trace,248 CREATE => '1',249 GLOBAL => {250 # Each conf item is a hash251 ARGCOUNT => ARGCOUNT_HASH,252 },253 });254 $config->file($conffile);255 256 # Root of the project to build257 # needs at least 2 levels of dir as in the upper258 # other dirs will be created and used259 260 261 } 261 262 … … 266 267 my $ret; 267 268 268 my ($cms,$cvsroot) = pb_conf_read("$ENV{'PBETC'}","cms","cvsroot"); 269 die "No CMS defined for $proj" if (not defined $cms); 270 my %cms = %$cms; 271 die "No CMS defined for $proj" if (not defined $cms{$proj}); 272 273 if ($cms{$proj} eq "svn") { 269 my $cms = pb_conf_get("cms"); 270 # This one is optional 271 my $cvsroot = pb_conf_read($ENV{'PBETC'},"cvsroot"); 272 273 if ($cms->{$proj} eq "svn") { 274 274 $ENV{'PBREVISION'}=`(cd "$ENV{'PBROOT'}" ; svnversion .)`; 275 275 chomp($ENV{'PBREVISION'}); … … 277 277 $ENV{'PBCMSLOGFILE'}="svn.log"; 278 278 $ENV{'PBCMSEXP'}="svn export"; 279 } elsif ($cms {$proj} eq "cvs") {279 } elsif ($cms->{$proj} eq "cvs") { 280 280 $ENV{'PBREVISION'}=`(cd "$ENV{'PBROOT'}" ; cvs rannotate -f . 2>&1 | awk '{print \$1}' | grep -E '^[0-9]' | cut -d. -f2 |sort -nu | tail -1)`; 281 281 chomp($ENV{'PBREVISION'}); 282 282 $ENV{'PBCMSLOG'}="cvs log"; 283 283 $ENV{'PBCMSLOGFILE'}="cvs.log"; 284 $ENV{'PBCMSEXP'}="cvs export" 284 $ENV{'PBCMSEXP'}="cvs export"; 285 285 # 286 286 # Export content if needed 287 287 # 288 $ENV{'CVSROOT'} = $cvsroot {$proj} if (defined $cvsroot{$proj});289 } else { 290 die " CMS $cms{$proj} unknown";288 $ENV{'CVSROOT'} = $cvsroot->{$proj} if (defined $cvsroot->{$proj}); 289 } else { 290 die "cms $cms->{$proj} unknown"; 291 291 } 292 292 } -
devel/pb/lib/ProjectBuilder/Changelog.pm
r87 r88 10 10 use File::Basename; 11 11 use English; 12 use ProjectBuilder::Base qw (pb_conf_read );12 use ProjectBuilder::Base qw (pb_conf_read _conf_get); 13 13 14 14 sub pb_changelog { … … 66 66 my $n2date = &UnixDate($date,"%a, %d %b %Y %H:%M:%S %z"); 67 67 #print "**$ndate**\n"; 68 my $packager = pb_conf_ read("$ENV{'PBETC'}","packager");69 my %packager = %$packager; 68 my $packager = pb_conf_get("packager"); 69 70 70 if (($dtype eq "rpm") || ($dtype eq "fc")) { 71 71 if ($ver !~ /-/) { … … 79 79 $ver2 = "$ver$dsuf"; 80 80 } 81 print $OUTPUT "* $ndate $packager {$ENV{'PBPROJ'}} $ver2\n";81 print $OUTPUT "* $ndate $packager->{$ENV{'PBPROJ'}} $ver2\n"; 82 82 print $OUTPUT "- Updated to $ver\n"; 83 83 } … … 102 102 103 103 if ($dtype eq "deb") { 104 print $OUTPUT " -- $packager {$ENV{'PBPROJ'}} $n2date\n\n";104 print $OUTPUT " -- $packager->{$ENV{'PBPROJ'}} $n2date\n\n"; 105 105 print $OUTPUT "\n"; 106 106 }
Note:
See TracChangeset
for help on using the changeset viewer.