[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Directory names hard-coded in Texinfo Perl scripts

From: Jacob Bachmeyer
Subject: Re: Directory names hard-coded in Texinfo Perl scripts
Date: Thu, 16 Dec 2021 17:52:45 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20090807 MultiZilla/ SeaMonkey/1.1.17 Mnenhy/

Gavin Smith wrote:
On Thu, Dec 16, 2021 at 11:52:19AM +0200, Eli Zaretskii wrote:

I routinely make my MS-Windows/MinGW builds of Texinfo for others to
use, here:


Recently, a user complained to me that starting with Texinfo 6.7, the
Texinfo Perl scripts won't work unless the binary distro is installed
in the same directory for which I configured it.  This is unfortunate,
since it requires users to modify their installation trees and/or PATH
variables to follow my local conventions.

Can you be clearer as to what is meant by "binary distro"?  Is it the
files like /usr/lib/texinfo/XSParagraph.so?

I don't understand how the program can find these files if they are
moved from their installed locations.

If they can have a location fixed relative to the script, the Perl core module FindBin and pragmatic module lib can help here:

use FindBin;
use lib "$FindBin::Bin/../lib";

The above is the example from the FindBin documentation.

For a Windows binary distribution, this type of change may make the most sense as a distributor's patch, rather than applying it upstream, but using FindBin like this would also help with running a not-yet-installed copy. The "lib" pragmatic module adds to the search path and there is no harm (generally) in adding a directory that does not exist to that path. (Some high security applications may rightly blanch at creating a place where a "surprise" could be planted, but I doubt Texinfo has those security concerns.)

Could we please resurrect this ability in a future release of Texinfo?

This feature may have worked by pure dumb luck before, but it should be fairly simple to support explicitly.

-- Jacob

reply via email to

[Prev in Thread] Current Thread [Next in Thread]