[Raleigh-talk] Integrating newer version of a perl module into the perl distribution...

James Olin Oden james.oden at gmail.com
Wed Feb 4 12:38:53 PST 2009


On Wed, Feb 4, 2009 at 3:06 PM, Jason Purdy <jason at purdy.info> wrote:
> I feel pretty meek saying this, given you probably already know this, James,
> but my approach would be to leave the source tree sacrosanct and put your
> newer module in some other place and then make sure that other place is
> higher up in the @INC list.
>
At least on RedHat 4.x perl is built with its own install dirs first
in @INC.  I played around with setting the INSTALLDIRS option to site,
but this didn't help as perl still looked in its own dirs first.
Installing it somewhere completely different and then setting PERL5LIB
is not really that desirable, as I'd rather have scripts just use the
new one if possible.  The worse part is this is down some deep dive
into dependency hell as I'm trying to use WSRF::Lite, but one of its
deps, deps, deps needs a newer Cwd(3pm), which now come in PathUtils
distribution containing both Cwd and File::Spec.  Worse the new distro
does not use MakeMaker.  In the perl distro that I'm using the sources
seem to use MakeMaker (I don't know its build even supports Build.PL
for building internal libs), and it has, as I had mentioned the
sources for Cwd across two directories.

Its just a build though, but it would be nice if perl's source
distribution structure was documented somewhere (and maybe it is...I
just haven't found it).

Oh in all of this, I failed to mention that this going into an
internal Linux distro and everything has to be packaged up cleanly (no
two packages owning the same files).

But, really, thanks for the input...I may do what you said as right
now we only have one app using WSRF::Lite, and I control it so I can
of course make sure it looks for its own libraries where it ought to
look.

> In the past, I've been banging my head in trying to build debian packages
> for more up-to-date perl modules (it's sad how out-of-date they can get) and
> Cees Hek finally hammered cpan (cpanplus, really) into me where it won't
> mess w/ the debian "core." So when I want to get a Perl module, I cpanp it
> and it installs somewhere else (/usr/local/share/perl/5.8.8), overriding the
> out-of-date version that Debian has.
Yeah, if they had perl's @INC go site_perl, vender_perl, and then
perl, I'd be good.

BTW, my little dependency hell I've been going through expanded into
25 packages/cpan modules.

Thanks again...james


More information about the Raleigh-talk mailing list