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/perllib
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/cgiactions/baseaction.pm

    r24192 r24362  
    2828
    2929use strict;
    30 
     30use util;
    3131use inexport;
    32 use Config; # for getting the perlpath in the recommended way
    3332
    3433our $authenication_enabled = 0;
     
    434433    my $gsdl_cgi = $self->{'gsdl_cgi'};
    435434
    436     my $sendmail_command = "\"$Config{perlpath}\" -S sendmail.pl";
     435    my $sendmail_command = "\"".&util::get_perl_exec()."\" -S sendmail.pl";
    437436    $sendmail_command .= " -to \"" . $mail_to_address . "\"";
    438437    $sendmail_command .= " -from \"" . $mail_from_address . "\"";
     
    463462    $perl_args = "-collectdir \"$collect_dir\" " . $perl_args;
    464463
    465     my $perl_command = "\"$Config{perlpath}\" -S $script $perl_args";
     464    my $perl_command = "\"".&util::get_perl_exec()."\" -S $script $perl_args";
    466465
    467466
  • main/trunk/greenstone2/perllib/cgiactions/buildaction.pm

    r24192 r24362  
    3636
    3737use util;
    38 use Config; # for getting the perlpath in the recommended way
    3938
    4039BEGIN {
     
    139138
    140139    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    141     my $cmd = "\"$Config{perlpath}\" -S full-import.pl \"$collect\"";
     140    my $cmd = "\"".&util::get_perl_exec()."\" -S full-import.pl \"$collect\"";
    142141
    143142    my ($status,$report) = $self->run_build_cmd($cmd);
     
    178177
    179178    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    180     my $cmd = "\"$Config{perlpath}\" -S full-buildcol.pl \"$collect\"";
     179    my $cmd = "\"".&util::get_perl_exec()."\" -S full-buildcol.pl \"$collect\"";
    181180
    182181    my ($status,$report) = $self->run_build_cmd($cmd);
     
    216215   
    217216    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    218     my $cmd = "\"$Config{perlpath}\" -S full-rebuild.pl \"$collect\"";
     217    my $cmd = "\"".&util::get_perl_exec()."\" -S full-rebuild.pl \"$collect\"";
    219218
    220219    my ($status,$report) = $self->run_build_cmd($cmd);
     
    256255
    257256    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    258     my $cmd = "\"$Config{perlpath}\" -S incremental-import.pl \"$collect\"";
     257    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-import.pl \"$collect\"";
    259258
    260259    my ($status,$report) = $self->run_build_cmd($cmd);
     
    295294
    296295    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    297     my $cmd = "\"$Config{perlpath}\" -S incremental-buildcol.pl \"$collect\"";
     296    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-buildcol.pl \"$collect\"";
    298297
    299298    my ($status,$report) = $self->run_build_cmd($cmd);
     
    334333
    335334    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    336     my $cmd = "\"$Config{perlpath}\" -S incremental-rebuild.pl \"$collect\"";
     335    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-rebuild.pl \"$collect\"";
    337336
    338337    my ($status,$report) = $self->run_build_cmd($cmd);
     
    404403       
    405404        ## my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    406         my $cmd = "\"$Config{perlpath}\" -S incremental-rebuild.pl -manifest \"$manifest_filename\" \"$collect\"";
     405        my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-rebuild.pl -manifest \"$manifest_filename\" \"$collect\"";
    407406
    408407        ($status,$report) = $self->run_build_cmd($cmd);
  • main/trunk/greenstone2/perllib/cgiactions/indexaction.pm

    r24192 r24362  
    2929
    3030use strict;
    31 
     31use util;
    3232use cgiactions::baseaction;
    33 use Config; # for getting the perlpath in the recommended way
    3433
    3534
    3635@indexaction::ISA = ('baseaction');
    37 
    38 
    39 
    40 
    41 
    42 
    4336
    4437# 'a' for action, and 'c' for collection are also compulsorary, and
     
    133126
    134127    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    135     my $cmd = "\"$Config{perlpath}\" -S full-import.pl \"$collect\"";
     128    my $cmd = "\"".&util::get_perl_exec()."\" -S full-import.pl \"$collect\"";
    136129
    137130    my ($status,$report) = $self->run_build_cmd($cmd);
     
    172165
    173166    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    174     my $cmd = "\"$Config{perlpath}\" -S full-buildcol.pl \"$collect\"";
     167    my $cmd = "\"".&util::get_perl_exec()."\" -S full-buildcol.pl \"$collect\"";
    175168
    176169    my ($status,$report) = $self->run_build_cmd($cmd);
     
    211204
    212205    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    213     my $cmd = "\"$Config{perlpath}\" -S full-rebuild.pl \"$collect\"";
     206    my $cmd = "\"".&util::get_perl_exec()."\" -S full-rebuild.pl \"$collect\"";
    214207
    215208    my ($status,$report) = $self->run_build_cmd($cmd);
     
    251244
    252245    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    253     my $cmd = "\"$Config{perlpath}\" -S incremental-import.pl \"$collect\"";
     246    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-import.pl \"$collect\"";
    254247
    255248    my ($status,$report) = $self->run_build_cmd($cmd);
     
    292285
    293286    my $bin_script = &util::filename_cat($gsdl_home,"bin","script");
    294     my $cmd = "\"$Config{perlpath}\" -S incremental-buildcol.pl \"$collect\"";
     287    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-buildcol.pl \"$collect\"";
    295288
    296289    my ($status,$report) = $self->run_build_cmd($cmd);
     
    329322    $self->lock_collection($username, $collect);
    330323
    331     my $cmd = "\"$Config{perlpath}\" -S incremental-rebuild.pl \"$collect\"";
     324    my $cmd = "\"".&util::get_perl_exec()."\" -S incremental-rebuild.pl \"$collect\"";
    332325
    333326    my ($status,$report) = $self->run_build_cmd($cmd);
  • main/trunk/greenstone2/perllib/g2futil.pm

    r24192 r24362  
    1515use strict;
    1616use util;
    17 use Config; # for getting the perlpath in the recommended way
    1817
    1918sub run_cmd_old
     
    3130   
    3231    if ($verbosity >= 2) {
    33     print "Runing command:\n";
     32    print "Running command:\n";
    3433    print "$cmd\n";
    3534    }
     
    6463    }
    6564    if (($prog =~ m/.pl$/i) && ($ENV{'GSDLOS'} =~ m/^windows/)) {
    66     $prog ="\"$Config{perlpath}\" -S $prog";
     65    $prog ="\"".&util::get_perl_exec()."\" -S $prog";
    6766    }
    6867 
  • main/trunk/greenstone2/perllib/lucenebuilder.pm

    r24192 r24362  
    4444use strict;
    4545no strict 'refs';
    46 use Config; # for getting the perlpath in the recommended way
     46use util;
    4747
    4848sub BEGIN {
     
    8282    else
    8383    {
    84     $self->{'full_lucene_passes_exe'} = "\"$Config{perlpath}\" -S \"$lucene_passes_script\"";
     84    $self->{'full_lucene_passes_exe'} = "\"".&util::get_perl_exec()."\" -S \"$lucene_passes_script\"";
    8585    }
    8686
  • main/trunk/greenstone2/perllib/plugins/ConvertBinaryFile.pm

    r24360 r24362  
    4444no strict 'refs'; # allow filehandles to be variables and viceversa
    4545no strict 'subs';
    46 use Config; # for getting the perlpath in the recommended way
     46use util;
    4747
    4848
     
    279279#    }
    280280
    281     my $cmd = "\"$Config{perlpath}\" -S gsConvert.pl -verbose $verbosity ";
     281    my $cmd = "\"".&util::get_perl_exec()."\" -S gsConvert.pl -verbose $verbosity ";
    282282    if (defined $self->{'convert_options'}) {
    283283    $cmd .= $self->{'convert_options'} . " ";
  • main/trunk/greenstone2/perllib/plugins/ConvertToRogPlugin.pm

    r24225 r24362  
    3131use strict;
    3232no strict 'refs'; # allow filehandles to be variables and viceversa
    33 use Config; # for getting the perlpath in the recommended way
     33use util;
    3434
    3535sub BEGIN {
     
    122122    # making sure the converter gives us the appropriate output type
    123123    my $output_type = lc($convert_to);
    124     my $cmd = "\"$Config{perlpath}\" -S gsMusicConvert.pl -verbose $verbosity -errlog \"$errlog\" -output $output_type \"$tmp_filename\"";
     124    my $cmd = "\"".&util::get_perl_exec()."\" -S gsMusicConvert.pl -verbose $verbosity -errlog \"$errlog\" -output $output_type \"$tmp_filename\"";
    125125    $output_type = `$cmd`;
    126126
  • main/trunk/greenstone2/perllib/util.pm

    r24291 r24362  
    3131use File::Copy;
    3232use File::Basename;
     33# Config for getting the perlpath in the recommended way, though it uses paths that are
     34# hard-coded into the Config file that's generated upon configuring and compiling perl.
     35# $^X works better in some cases to return the path to perl used to launch the script,
     36# but if launched with plain "perl" (no full-path), that will be just what it returns.
     37use Config;
    3338
    3439# removes files (but not directories)
     
    16041609}
    16051610
     1611sub get_perl_exec() {   
     1612    my $perl_exec = $^X; # may return just "perl"
     1613   
     1614    if($ENV{'PERLPATH'}) {
     1615        # OR: # $perl_exec = &util::filename_cat($ENV{'PERLPATH'},"perl");
     1616        if($ENV{'GSDLOS'} =~ m/windows/) {
     1617            $perl_exec = "$ENV{'PERLPATH'}\\Perl.exe";
     1618        } else {
     1619            $perl_exec = "$ENV{'PERLPATH'}/perl";
     1620        }
     1621    } else { # no PERLPATH, use Config{perlpath} else $^X: special variables
     1622        # containing the full path to the current perl executable we're using
     1623        $perl_exec = $Config{perlpath}; # configured path for perl
     1624        if (!-e $perl_exec) { # may not point to location on this machine
     1625            $perl_exec = $^X; # may return just "perl"
     1626            if($perl_exec =~ m/^perl/i) { # warn if just perl or Perl.exe
     1627                print STDERR "**** WARNING: Perl exec found contains no path: $perl_exec";             
     1628            }
     1629        }
     1630    }
     1631   
     1632    return $perl_exec;
     1633}
     1634
     1635
    160616361;
Note: See TracChangeset for help on using the changeset viewer.