Re: Bug#587991: perl-policy: /etc/perl missing from Module Path
- To: Russ Allbery <rra@debian.org>
- Cc: 587991@bugs.debian.org, debian-perl@lists.debian.org
- Subject: Re: Bug#587991: perl-policy: /etc/perl missing from Module Path
- From: Dominic Hargreaves <dom@earth.li>
- Date: Wed, 4 Jan 2012 20:00:02 +0000
- Message-id: <[🔎] 20120104200001.GG4460@urchin.earth.li>
- In-reply-to: <87boqv6we6.fsf@windlord.stanford.edu>
- References: <20100703170802.14818.68528.reportbug@marvin.43-1.org> <878w59ediw.fsf@windlord.stanford.edu> <20100808184143.GB12226@madeleine.local.invalid> <87lj8biv25.fsf@windlord.stanford.edu> <20110305021528.GA22659@elie> <20110305120647.GB17663@yellowpig> <87boqv6we6.fsf@windlord.stanford.edu>
On Mon, Dec 26, 2011 at 10:05:53AM -0800, Russ Allbery wrote:
> Hello, Perl folks (particularly perl package maintainers),
>
> There is a long-standing bug against Policy to document that /etc/perl is
> added to the module search path, and indeed that is the behavior of Perl
> currently. However, in discussing that change, Bill observed:
>
> Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr> writes:
>
> > A clarification would be welcome:
>
> > The only conffile in /etc/perl is /etc/perl/Net/libnet.cfg from
> > perl-modules. However this file does not look like a perl module. Now
> > I realize that the proposed policy does not mandate all file in
> > /etc/perl/ to be perl module.
>
> and indeed when I checked further this facility doesn't appear to be used
> in Debian. On my system, the only files in /etc/perl are
> /etc/perl/Net/libnet.cfg and /etc/perl/XML/SAX/ParserDetails.ini. The
> latter is not even Perl. The former is valid Perl code, but it's not
> being loaded as a Perl module; the path to that file is hard-coded in
> Net::Config and Net::Config doesn't care if it's on the search path.
>
> Also, in thinking about this, I'm not sure I understand how this facility
> would be used. Is the intention to allow people to put modules into
> /etc/perl to shadow modules later in the search path? Under what
> circumstances would one want to do that, rather than using
> /usr/local/{lib,share}/perl/<version> or /usr/{lib,share}/perl5? I have a
> hard time seeing a full-blown reimplementation of a Perl module as a
> configuration file.
I don't think that this is necessarily the intention, although its
current position in the search path does allow for this.
> I also did a search on packages.debian.org, and as near as I can determine
> there are no packages in Debian sid that install files under /etc/perl
> other than perl-modules (for libnet.cfg), which as mentioned doesn't use
> this capability. That doesn't catch packages that create files via
> maintainer scripts, of course, which I assume is where the XML::SAX file
> comes from, but it makes me doubt that this capability is needed.
There are a couple of other things which use /etc/perl, from only a
brief look at the perl debian/changelog (/etc/perl/CPAN and
/etc/perl/CPANPLUS). Those files are created by a local administrator
(using the tools shipped).
> I'm not necessarily advocating removing /etc/perl from the module search
> path, since there are backward-compatibility concerns if local site
> administrators put files there, but it makes me wonder if we really should
> be documenting this in the Perl Policy, since that implies it's a facility
> that people should consider using.
Without carrying out an exhaustive survey, the CPAN and CPANPLUS
examples suggest to me that /etc/perl should stay, and given that they
seems like valid use cases, I don't see why it shouldn't be documented.
--
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)
Reply to: