Ignore:
Timestamp:
2011-08-03T21:17:30+12:00 (13 years ago)
Author:
ak19
Message:

The method of locating perl has changed once more: util now defines the fuction get_perl_exec which is used by other scripts to obtain the path to the perl executable they should use.

Location:
main/trunk/greenstone2/bin/script
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/bin/script/build

    r24192 r24362  
    4343use FileHandle;
    4444use File::Copy;
    45 use Config; # for getting the perlpath in the recommended way
    4645
    4746BEGIN {
     
    277276        #       option was given to build)
    278277
    279         #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    280         my $download_cmd = "\"$Config{perlpath}\" -S gsWget.pl -P \"$importdir\" -np -nv";
     278        my $download_cmd = "\"".&util::get_perl_exec()."\" -S gsWget.pl -P \"$importdir\" -np -nv";
    281279        $download_cmd .= " -r -N -l inf -R \"*\\?*\"";
    282280        $download_cmd .= " -o \"$outfile.download\"" if $use_out;
     
    328326            # copy download_dir and all it contains to the import directory
    329327            #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    330             my $download_cmd = "\"$Config{perlpath}\" -S filecopy.pl";
     328            my $download_cmd = "\"".&util::get_perl_exec()."\" -S filecopy.pl";
    331329            $download_cmd .= " -collectdir \"$collectdir\"" if $collectdir =~ /\w/;
    332330            $download_cmd .= " -site \"$site\"" if $site =~ /\w/;
     
    468466
    469467    #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    470     my $import_cmd = "\"$Config{perlpath}\" -S import.pl";
     468    my $import_cmd = "\"".&util::get_perl_exec()."\" -S import.pl";
    471469    $import_cmd .= " -out \"$outfile.import\"" if $use_out;
    472470    if ($append) {
     
    515513
    516514    #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    517     my $build_cmd = "\"$Config{perlpath}\" -S buildcol.pl";
     515    my $build_cmd = "\"".&util::get_perl_exec()."\" -S buildcol.pl";
    518516
    519517    my $removeold = 1;
  • main/trunk/greenstone2/bin/script/full-buildcol.pl

    r24192 r24362  
    3232BEGIN {
    3333    die "GSDLOS not set\n" unless defined $ENV{'GSDLOS'};
     34    unshift (@INC, "$ENV{'GSDLHOME'}/perllib");
    3435}
    3536
    3637use strict;
    37 use Config; # for getting the perlpath in the recommended way
     38use util;
    3839
    3940my $quoted_argv = join(" ", map { "\"$_\"" } @ARGV);
    4041
    41 
    42 my $buildcol_cmd = "buildcol.pl -removeold $quoted_argv";
    43 if($ENV{'PERLPATH'}) {
    44     # need to ensure that the path to perl is quoted (in case there's spaces in it)
    45     if($ENV{'GSDLOS'} =~ m/windows/) {
    46     $buildcol_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S $buildcol_cmd";
    47     } else {
    48     $buildcol_cmd = "\"$ENV{'PERLPATH'}/perl\" -S $buildcol_cmd";
    49     }
    50 } else {
    51     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    52     $buildcol_cmd = "\"$Config{perlpath}\" -S $buildcol_cmd";
    53 }
     42my $buildcol_cmd = "\"".&util::get_perl_exec()."\" -S buildcol.pl -removeold $quoted_argv";
    5443
    5544my $buildcol_status = system($buildcol_cmd)/256;
  • main/trunk/greenstone2/bin/script/full-import.pl

    r24192 r24362  
    3333BEGIN {
    3434    die "GSDLOS not set\n" unless defined $ENV{'GSDLOS'};
     35    unshift (@INC, "$ENV{'GSDLHOME'}/perllib");
    3536}
    3637
    3738use strict;
    38 use Config; # for getting the perlpath in the recommended way
     39use util;
    3940
    4041my $quoted_argv = join(" ", map { "\"$_\"" } @ARGV);
    4142
    42 my $import_cmd = "import.pl -removeold $quoted_argv";
    43 if($ENV{'PERLPATH'}) {
    44     # need to ensure that the path to perl is quoted (in case there's spaces in it)
    45     if($ENV{'GSDLOS'} =~ m/windows/) {
    46     $import_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S $import_cmd";
    47     } else {
    48     $import_cmd = "\"$ENV{'PERLPATH'}/perl\" -S $import_cmd";
    49     }
    50 } else {
    51     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    52     $import_cmd = "\"$Config{perlpath}\" -S $import_cmd";
    53 }
     43# need to ensure that the path to perl is quoted (in case there's spaces in it)
     44my $import_cmd = "\"".&util::get_perl_exec()."\" -S import.pl -removeold $quoted_argv";   
    5445
    5546my $import_status = system($import_cmd)/256;
  • main/trunk/greenstone2/bin/script/full-rebuild.pl

    r24192 r24362  
    3939}
    4040
    41 
    4241use strict;
    43 
    44 use Config; # for getting the perlpath in the recommended way
    4542use util;
    4643
     
    105102    my $final_status = 0;
    106103
    107     my $launch_cmd = "";
    108     if($ENV{'PERLPATH'}) {
    109104    # need to ensure that the path to perl is quoted (in case there's spaces in it)
    110     if($ENV{'GSDLOS'} =~ m/windows/) {
    111         $launch_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S ";
    112     } else {
    113         $launch_cmd = "\"$ENV{'PERLPATH'}/perl\" -S ";
    114     }
    115     } else {
    116     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    117     $launch_cmd = "\"$Config{perlpath}\" -S ";
    118     }
     105    my $launch_cmd = "\"".&util::get_perl_exec()."\" -S ";   
    119106   
    120107    print "\n";
  • main/trunk/greenstone2/bin/script/gsConvert.pl

    r24223 r24362  
    4747    die "GSDLHOME not set\n" unless defined $ENV{'GSDLHOME'};
    4848    unshift (@INC, "$ENV{'GSDLHOME'}/perllib");
    49 
    50     if(!$ENV{'PERLPATH'}) {
    51     use Config; # for some reason, this can't be a require statement
    52     my $full_perl_exec = $Config{perlpath}; #$^X;   
    53     require File::Basename;
    54     my $perl_path = File::Basename::dirname($full_perl_exec);
    55     $ENV{'PERLPATH'} = $perl_path;
    56     }
    57 
    5849}
    5950
     
    6354use util;
    6455use Cwd;
    65 #use Config; # for getting the perlpath in the recommended way
    66 # Note: even though this (and other) use statement comes after its
    67 # usage in BEGIN, the use statement is in fact executed before BEGIN.
    68 # Doesn't work here for Greenstone 3.
    69 
    7056
    7157# Are we running on WinNT or Win2000 (or later)?
     
    419405    # formulate the command
    420406    my $cmd = "";
    421     my $full_perl_path = &util::filename_cat($ENV{'PERLPATH'},"perl");
     407    my $full_perl_path = &util::get_perl_exec();
    422408    $cmd .= "\"$full_perl_path\" -S ppttohtml.pl ";
    423409    $cmd .= " \"$input_filename\" \"$output_filestem.html\"";
     
    453439    # formulate the command
    454440    my $cmd = "";
    455     my $full_perl_path = &util::filename_cat($ENV{'PERLPATH'},"perl");
     441    my $full_perl_path = &util::get_perl_exec();
    456442    $cmd .= "\"$full_perl_path\" -S xlstohtml.pl ";
    457443    $cmd .= " \"$input_filename\" \"$output_filestem.html\"";
     
    10141000    my $cmd = "";
    10151001    if ($timeout) {$cmd = "ulimit -t $timeout;";}
    1016     my $full_perl_path = &util::filename_cat($ENV{'PERLPATH'},"perl");
     1002    my $full_perl_path = &util::get_perl_exec();
    10171003    $cmd .= "\"$full_perl_path\" -S pdftohtml.pl -zoom $pdf_zoom";
    10181004    $cmd .= " -c" if ($pdf_complex);
     
    10891075    if ($timeout) {$cmd = "ulimit -t $timeout;";}
    10901076    $output_type =~ s/.*\_(.*)/$1/i;
    1091     my $full_perl_path = &util::filename_cat($ENV{'PERLPATH'},"perl");
     1077    my $full_perl_path = &util::get_perl_exec();
    10921078    $cmd .= "\"$full_perl_path\" -S pdfpstoimg.pl -convert_to $output_type \"$input_filename\" \"$output_filestem\"";
    10931079    if ($ENV{'GSDLOS'} !~ m/^windows$/i || $is_winnt_2000) {
  • main/trunk/greenstone2/bin/script/gti.pl

    r24223 r24362  
    3131    die "GSDLHOME not set\n" unless defined $ENV{'GSDLHOME'};
    3232    unshift (@INC, "$ENV{'GSDLHOME'}/perllib");
    33 
    34     if(!$ENV{'PERLPATH'}) {
    35     use Config; # for getting the perlpath in the recommended way
    36     my $full_perl_exec = $Config{perlpath}; #$^X;
    37     require File::Basename;
    38     my $perl_path = File::Basename::dirname($full_perl_exec);
    39     $ENV{'PERLPATH'} = $perl_path;
    40     }
    4133}
    4234
     
    645637
    646638    my $target_filepath = &util::filename_cat($gsdl_root_directory, $target_file);
    647     my $perl_exec = &util::filename_cat($ENV{'PERLPATH'}, "perl");
     639    my $perl_exec = &util::get_perl_exec();
    648640    my $java_exec = "java";
    649641    if(defined($ENV{'JAVA_HOME'}) && $ENV{'JAVA_HOME'} ne ""){
  • main/trunk/greenstone2/bin/script/incremental-buildcol.pl

    r24192 r24362  
    4242no strict 'subs'; # allow barewords (eg STDERR) as function arguments
    4343
    44 use Config; # for getting the perlpath in the recommended way
    4544use util;
    4645use colcfg;
     
    9291    print STDERR "Unable to use collection \"$collection\" within \"$collect_dir\"\n";
    9392    exit -1;
    94     }   
    95 
     93    }
    9694
    9795    if (!defined $build_dir) {
     
    103101    my $quoted_argv = join(" ", map { "\"$_\"" } @filtered_argv);
    104102   
    105     my $buildcol_cmd = "buildcol.pl";
    106     if($ENV{'PERLPATH'}) {
    107     # need to ensure that the path to perl is quoted (in case there's spaces in it)
    108     if($ENV{'GSDLOS'} =~ m/windows/) { 
    109         $buildcol_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S $buildcol_cmd";
    110     } else {
    111         $buildcol_cmd = "\"$ENV{'PERLPATH'}/perl\" -S $buildcol_cmd";
    112     }
    113     } else {
    114     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    115     $buildcol_cmd = "\"$Config{perlpath}\" -S $buildcol_cmd";
    116     }
     103    my $buildcol_cmd = "\"".&util::get_perl_exec()."\" -S buildcol.pl";
    117104
    118105    # Read in the collection configuration file.
  • main/trunk/greenstone2/bin/script/incremental-import-onlyadd.pl

    r24192 r24362  
    3131
    3232
    33 
    3433BEGIN {
    3534    die "GSDLHOME not set\n" unless defined $ENV{'GSDLHOME'};
     
    3837}
    3938
    40 
    4139use strict;
    42 
    43 use Config; # for getting the perlpath in the recommended way
    4440use dbutil;
    4541use util;
     
    6056    exit(-1);
    6157    }
    62 
    6358
    6459    my $collection = pop @argv;
     
    109104    my $quoted_argv = join(" ", map { "\"$_\"" } @filtered_argv);
    110105   
    111 
    112     my $import_cmd = "import.pl";
    113     if($ENV{'PERLPATH'}) {
    114106    # need to ensure that the path to perl is quoted (in case there's spaces in it)
    115     if($ENV{'GSDLOS'} =~ m/windows/) {
    116         $import_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S $import_cmd";
    117     } else {
    118         $import_cmd = "\"$ENV{'PERLPATH'}/perl\" -S $import_cmd";
    119     }
    120     } else {
    121     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    122     $import_cmd = "\"$Config{perlpath}\" -S $import_cmd";
    123     }
     107    my $import_cmd = "\"".&util::get_perl_exec()."\" -S import.pl";
    124108
    125109    if (-e $archiveinf_doc) {
    126     $import_cmd .= " -keepold";
    127    
     110    $import_cmd .= " -keepold";
    128111    }
    129112    else {
     
    135118
    136119    $import_cmd .= " $quoted_argv \"$collection\"";
    137 
    138120   
    139121    my $import_status = system($import_cmd)/256;
  • main/trunk/greenstone2/bin/script/incremental-import.pl

    r24192 r24362  
    3131
    3232
    33 
    3433BEGIN {
    3534    die "GSDLHOME not set\n" unless defined $ENV{'GSDLHOME'};
     
    3837}
    3938
    40 
    4139use strict;
    42 
    43 use Config; # for getting the perlpath in the recommended way
    4440use dbutil;
    4541use util;
     
    6056    exit(-1);
    6157    }
    62 
    6358
    6459    my $collection = pop @argv;
     
    129124    my $quoted_argv = join(" ", map { "\"$_\"" } @filtered_argv);
    130125   
    131 
    132     my $import_cmd = "import.pl";
    133     if($ENV{'PERLPATH'}) {
    134126    # need to ensure that the path to perl is quoted (in case there's spaces in it)
    135     if($ENV{'GSDLOS'} =~ m/windows/) {
    136         $import_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S $import_cmd";
    137     } else {
    138         $import_cmd = "\"$ENV{'PERLPATH'}/perl\" -S $import_cmd";
    139     }
    140     } else {
    141     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    142     $import_cmd = "\"$Config{perlpath}\" -S $import_cmd";
    143     }
     127    my $import_cmd = "\"".&util::get_perl_exec()."\" -S import.pl";
    144128
    145129    if (defined $manifest) {
  • main/trunk/greenstone2/bin/script/incremental-rebuild.pl

    r24192 r24362  
    3939}
    4040
    41 
    4241use strict;
    43 
    44 use Config; # for getting the perlpath in the recommended way
    4542use util;
    4643
     
    8582    my $final_status = 0;
    8683   
    87     my $launch_cmd = "";
    88     if($ENV{'PERLPATH'}) {
    8984    # need to ensure that the path to perl is quoted (in case there's spaces in it)
    90     if($ENV{'GSDLOS'} =~ m/windows/) {
    91         $launch_cmd = "\"$ENV{'PERLPATH'}\\Perl.exe\" -S ";
    92     } else {
    93         $launch_cmd = "\"$ENV{'PERLPATH'}/perl\" -S ";
    94     }
    95     } else {
    96     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    97     $launch_cmd = "\"$Config{perlpath}\" -S ";
    98     }
     85    my $launch_cmd = "\"".&util::get_perl_exec()."\" -S ";   
    9986
    10087    print STDERR "\n";
  • main/trunk/greenstone2/bin/script/mirror.pl

    r24192 r24362  
    4848}
    4949
    50 use Config; # for getting the perlpath in the recommended way
    5150use arcinfo;
    5251use colcfg;
     
    117116    # run the mirror program from the import directory
    118117    my  $cmd = "cd $importdir; ";
    119     #Config{perlpath}, like $^X, is a special variable containing the full path to the current perl executable we are in
    120     $cmd .= "\"$Config{perlpath}\" -S gsw3mir.pl -cfgfile $etcdir/w3mir.cfg";
     118    # need to ensure that the path to perl is quoted (in case there's spaces in it)
     119    $cmd .= "\"".&util::get_perl_exec()."\" -S gsw3mir.pl -cfgfile $etcdir/w3mir.cfg";
    121120    # print "\n$cmd\n";
    122121    `$cmd`;
     
    128127    elsif ((-e "$etcdir/wget.cfg") && (-e "$etcdir/wget.url")) {
    129128    $ENV{WGETRC} = "$etcdir/wget.cfg";
    130     my $cmd = "\"$Config{perlpath}\" -S gsWget.pl --input-file=$etcdir/wget.url --directory-prefix=$importdir";
     129    my $cmd = "\"".&util::get_perl_exec()."\" -S gsWget.pl --input-file=$etcdir/wget.url --directory-prefix=$importdir";
    131130    system($cmd);
    132131    }
Note: See TracChangeset for help on using the changeset viewer.