[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp texi2any.pl
From: |
Patrice Dumas |
Subject: |
texinfo/tp texi2any.pl |
Date: |
Sun, 18 Nov 2012 00:46:40 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 12/11/18 00:46:40
Modified files:
tp : texi2any.pl
Log message:
Make texi2any relocatable. Report from Eli Zaretskii.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/texi2any.pl?cvsroot=texinfo&r1=1.144&r2=1.145
Patches:
Index: texi2any.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/texi2any.pl,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -b -r1.144 -r1.145
--- texi2any.pl 18 Nov 2012 00:22:38 -0000 1.144
+++ texi2any.pl 18 Nov 2012 00:46:39 -0000 1.145
@@ -40,11 +40,23 @@
{
my $datadir = '@datadir@';
my $package = '@PACKAGE@';
+ my $updir = File::Spec->updir();
+ my ($real_command_name, $command_directory, $command_suffix)
+ = fileparse($0, '.pl');
+
+ my $texinfolibdir;
if ($datadir ne '@' .'datadir@' and $package ne '@' . 'PACKAGE@'
and $datadir ne '') {
- my $texinfolibdir = File::Spec->catdir($datadir, $package);
+ $texinfolibdir = File::Spec->catdir($datadir, $package);
unshift @INC, ($texinfolibdir);
}
+ # try to make package relocatable, will only work if standard relative paths
+ # are used
+ if ((!defined($texinfolibdir)
+ or ! -f File::Spec->catfile($texinfolibdir, 'Texinfo', 'Parser.pm'))
+ and -f File::Spec->catfile($command_directory, $updir, 'share',
'texinfo', 'Texinfo', 'Parser.pm')) {
+ unshift @INC, (File::Spec->catdir($command_directory, $updir, 'share',
'texinfo'));
+ }
}
my ($real_command_name, $command_directory, $command_suffix)
@@ -150,6 +162,13 @@
unshift @INC, File::Spec->catdir($pkgdatadir, @directories);
}
}
+ # try to make the script relocatable
+ eval "require $module_name; ";
+ if ($@ and -d File::Spec->catdir($command_directory, $updir,
+ 'share', 'texinfo', @directories)) {
+ unshift @INC, (File::Spec->catdir($command_directory, $updir, 'share',
+ 'texinfo', @directories));
+ }
}
my $libsrcdir = File::Spec->catdir($srcdir, 'maintain');