Changeset 16385
- Timestamp:
- 2008-07-14T14:41:00+12:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/trunk/web/WEB-INF/cgi/gsdlCGI.pm
r16327 r16385 205 205 sub get_config_info { 206 206 my $self = shift @_; 207 my ($infotype, $ ignore) = @_;207 my ($infotype, $optional) = @_; 208 208 209 209 my $site_filename = $self->{'site_filename'}; … … 221 221 222 222 if ((!defined $loc) || ($loc =~ m/^\s*$/)) { 223 if((!defined $ ignore) || (!$ignore)) {223 if((!defined $optional) || (!$optional)) { 224 224 $self->generate_error("$infotype is not set in $site_filename"); 225 225 } … … 264 264 sub get_java_home { 265 265 my $self = shift @_; 266 my ($optional) = @_; 266 267 267 268 if (defined $self->{'javahome'}) { … … 269 270 } 270 271 271 my $javahome = $self->get_config_info("javahome"); 272 273 $javahome =~ s/(\/|\\)$//; # remove trailing slash 274 272 my $javahome = $self->get_config_info("javahome", $optional); 273 if(defined $javahome) { 274 $javahome =~ s/(\/|\\)$//; # remove trailing slash 275 $self->{'javahome'} = $javahome; 276 } 275 277 return $javahome; 276 278 } … … 285 287 my $perlpath = $self->get_config_info("perlpath"); 286 288 287 $perlpath =~ s/(\/|\\)$//; # remove trailing slash 288 289 if(defined $perlpath) { 290 $perlpath =~ s/(\/|\\)$//; # remove trailing slash 291 $self->{'perlpath'} = $perlpath; 292 } 289 293 return $perlpath; 290 294 } … … 317 321 } 318 322 319 my $ ignore= 1; # ignore absence of gwcgi if not found320 my $library_url = $self->get_config_info("gwcgi", $ ignore);323 my $optional = 1; # ignore absence of gwcgi if not found 324 my $library_url = $self->get_config_info("gwcgi", $optional); 321 325 if(defined $library_url) { 322 326 $library_url =~ s/(\/|\\)$//; # remove trailing slash … … 337 341 } 338 342 } 339 343 344 $self->{'library_url_suffix'} = $library_url; 340 345 return $library_url; 346 } 347 348 sub setup_fedora_homes { 349 my $self = shift @_; 350 my ($optional) = @_; 351 352 # The following will still allow the ENV FEDORA_HOME variables to have been set outside 353 # the gsdlsite.cfg file. Existing env vars are only overwritten if they've *also* been 354 # defined in gsdlsite.cfg. 355 if(!defined $self->{'fedora_home'} && !defined $self->{'fedora_version'}) 356 { 357 # Can look for any fedorahome properties defined in the gsdlsite.cfg file 358 $self->{'fedora_home'} = $self->get_config_info("fedorahome", $optional); 359 $self->{'fedora_version'} = $self->get_config_info("fedoraversion", $optional); 360 361 if(defined $self->{'fedora_home'} && defined $self->{'fedora_version'}) 362 { 363 # need to set $ENV{FEDORA2_HOME} or $ENV{FEDORA3_HOME} *and* $ENV{FEDORA_HOME} 364 my $env_name = "FEDORA".$self->{'fedora_version'}."_HOME"; 365 $ENV{$env_name} = $self->{'fedora_home'}; 366 $ENV{'FEDORA_HOME'} = $self->{'fedora_home'}; 367 } 368 369 # if none were specified in the file, use the ENV vars if FEDORA_HOME is already set there 370 elsif(defined $ENV{'FEDORA_HOME'}) 371 { 372 $self->{'fedora_home'} = $ENV{'FEDORA_HOME'}; 373 if(defined $ENV{'FEDORA2_HOME'} && ($ENV{'FEDORA_HOME'} eq $ENV{'FEDORA2_HOME'})) 374 { 375 $self->{'fedora_version'} = 2; 376 } 377 else # try defaulting to Fedora 3 378 { 379 print STDERR "Setting FEDORA3_HOME env variable to FEDORA_HOME (".$ENV{'FEDORA_HOME'}.").\n"; 380 $self->{'fedora_version'} = 3; 381 $ENV{'FEDORA3_HOME'} = $ENV{'FEDORA_HOME'}; 382 } 383 } 384 } 341 385 } 342 386 … … 374 418 } 375 419 } 376 377 # Uncomment these lines if you want to read the "javahome" and "perlpath" properties 378 # from values you have set in the gsdl(3)site.cfg config file 379 #my $javahome = $self->get_java_home(); 380 #$ENV{'JAVA_HOME'} = $javahome; 420 421 # Uncomment these lines if you want to read the "perlpath" property from 422 # the gsdl(3)site.cfg config file into PATH 381 423 #if(!defined $perl_bin_dir) { 382 424 #$perl_bin_dir = $self->get_perl_path(); 383 425 #&util::envvar_append("PATH", $perl_bin_dir); 384 426 #} 427 428 # gsdl(3)site.cfg can specify JAVA_HOME and FEDORA_HOME along with Fedora's version. Both 429 # are needed (by scripts g2f-import and g2f-buildcol) when using Greenstone 2 with Fedora. 430 my $optional = 1; # ignore absence of these properties in gsdl(3)site.cfg if not found 431 432 if(!defined $ENV{'JAVA_HOME'}) { 433 $ENV{'JAVA_HOME'} = $self->get_java_home($optional); 434 } 435 436 $self->setup_fedora_homes($optional); 385 437 } 386 438
Note:
See TracChangeset
for help on using the changeset viewer.