Bug#139537: Debian Bug#139537: empty values in %Config for some programs
Dominic Hargreaves
dom at earth.li
Wed Jun 1 21:56:16 UTC 2011
On Tue, Apr 11, 2006 at 10:14:53AM -0400, Andy Dougherty wrote:
> On Tue, 11 Apr 2006, Brendan O'Dea wrote:
>
> > forwarded 139537 perl5-porters at perl.org
> > thanks
> >
> > On Mon, Apr 10, 2006 at 07:40:30PM -0400, Ian Zimmerman wrote:
> > >Package: perl
> > >Version: 5.8.8-3
> > >Followup-For: Bug #139537
> > >
> > >For example, $Config{'tail'} is also undefined. /usr/bin/tail comes from coreutils,
> > >a required package, so $Config{'tail'} should always be set to "/usr/bin/tail".
> >
> > Configure doesn't actually test for tail (nor sendmail as noted in the
> > initial bug report).
> >
> > I'm not sure why these empty variables are included in Config{.pm,_heavy.pl}
> > if they're not actually searched for--forwarding to p5p for comments.
>
> This is correct and documented, if rather odd and unhelpful, behavior.
> >From the output of
> perldoc Config:
>
> "tail"
> From Loc.U:
> This variable is defined but not used by Configure. The value
> is a plain '' and is not useful.
>
> There are a bunch of such variables used internally by Configure but
> useless afterwards. They are mostly historical baggage at this point.
>
> When Configure runs, it stores its results in a file config.sh. The perl
> build process then builds Config.pm from that file. The Config.pm file is
> supposed to contain enough information to completely recreate the
> config.sh file (and hence do an identical rebuild). I suppose the script
> that builds Config.pm could strip out the useless items (such as 'tail').
>
> > About the only thing which springs my mind is that you can explicity set
> > such variables by passing -Dtail=/usr/local/bin/tail (or whatever) to
> > Configure.
>
> The OS/2 port does indeed do some such tricks with 'ln' and 'nroff'
> (though the ln trick shouldn't be necessary anymore).
>
> > This presumes that any program using these variables does so as:
> >
> > my $tail = $Config{tail} || 'tail';
> > my $sendmail = $Config{sendmail} || '/usr/sbin/sendmail';
>
> I wouldn't bother. Those %Config{} variables are documented as being
> undefined and useless. In the very very rare cases where someone might
> have set them, it's not at all guaranteed that the path name on the
> machine where perl was built is the same as that on the machine where perl
> is running.
Based on the (verified) assertion that these values are documented
as undefined and useless, I'm going to close this bug shortly unless
there are any objections.
Cheers,
Dominic.
--
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)
More information about the Perl-maintainers
mailing list