Changeset 23306 for main/trunk/greenstone2
- Timestamp:
- 2010-11-09T19:56:43+13:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/util.pm
r23285 r23306 1374 1374 } 1375 1375 1376 # Subroutine that sources setup.bash, given GSDLHOME and GSDLOS and 1377 # given that perllib is in @INC in order to invoke this subroutine. 1378 # Call as follows -- after setting up INC to include perllib and 1379 # after setting up GSDLHOME and GSDLOS: 1380 # 1381 # require util; 1382 # &util::setup_greenstone_env($ENV{'GSDLHOME'}, $ENV{'GSDLOS'}); 1383 # 1384 sub setup_greenstone_env() { 1385 my ($GSDLHOME, $GSDLOS) = @_; 1386 1387 #my %env_map = (); 1388 # Get the localised ENV settings of running a localised source setup.bash 1389 # and put it into the ENV here. 1390 my $perl_command = "(cd $GSDLHOME; . ./setup.bash > /dev/null; env)"; 1391 if($GSDLOS =~ m/windows/i) { 1392 #$perl_command = "(cmd && cd $GSDLHOME && setup.bat > nul && set && exit)"; 1393 $perl_command = "(cd $GSDLHOME && setup.bat > nul && set)"; 1394 } 1395 if (!open(PIN, "$perl_command |")) { 1396 print STDERR ("Unable to execute command: $perl_command. $!\n"); 1397 } 1398 1399 while (defined (my $perl_output_line = <PIN>)) { 1400 my($key,$value) = ($perl_output_line =~ m/^([^=]*)[=](.*)$/); 1401 #$env_map{$key}=$value; 1402 $ENV{$key}=$value; 1403 } 1404 1405 # If any keys in $ENV don't occur in Greenstone's localised env 1406 # (stored in $env_map), delete those entries from $ENV 1407 #foreach $key (keys %ENV) { 1408 # if(!defined $env_map{$key}) { 1409 # print STDOUT "**** DELETING ENV KEY: $key\tVALUE: $ENV{'$key'}\n"; 1410 # delete $ENV{$key}; # del $ENV(key, value) pair 1411 # } 1412 #} 1413 #undef %env_map; 1414 } 1415 1376 1416 1;
Note:
See TracChangeset
for help on using the changeset viewer.