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