Date: Thu, 29 Jan 2004 21:42:56 -0500 From: parv <parv@pair.com> To: freebsd-perl@FreeBSD.org Cc: freebsd-ports@FreeBSD.org Subject: Re: Certain perl ports overlapping with perl-5.8.2 install Message-ID: <20040130024256.GA3172@moo.holy.cow> In-Reply-To: <1075425257.93790.21.camel@gorf.lovett.com> References: <1075425257.93790.21.camel@gorf.lovett.com>
next in thread | previous in thread | raw e-mail | index | archive | help
in message <1075425257.93790.21.camel@gorf.lovett.com>, wrote Ade Lovett thusly... > > With my dinkering around with perl5.8.2, I've run into something of a > problem. > > A number of ports, so far I have found: > > converters/p5-MIME-Base64 > devel/p5-Storable ... > are also part of the lang/perl5.8 port. Some of the ports are > newer than those in perl5.8, others are the same, still others are > older. > > However, what this does mean, that the following sequence: > > cd ${PORTSDIR}/lang/perl5.8; make install > cd ${PORTSDIR}/{one-of-the-ports-above}; make install deinstall > > will end up removing parts of lang/perl5.8 port, resulting in much > hilarity. Did that actually happen? Would not the port install otherwise duplicate files in /usr/local/lib/perl5/site_perl/<version> instead of /usr2/local/lib/perl5/<version>? Nonetheless, it is indeed a problem expressed previously by some, including myself. > With our local ports tree, I've simply added code to these ports > to tag them as BROKEN for appropriate PERL_VERSION value, and then > start the slow slog through the rest of the ports/packages we > build to adjust dependencies accordingly, when a port tries to > bring in one of these "troublemakers" as a dependency. What do you do after updating the ports tree? Or rather a better question would be do you use cvs, instead of cvsup, to update the tree? > This is a pretty disgusting hack, so I'm soliciting comments as to > the right way to do this. On way in three easy steps... - Find all the ports that would have been already installed as part of an installed perl port. - Based on the result, decide if there is pressing need to really, really install the port. - If a port explicitly requires a newer/older version of already installed module, then the port being installed should install the dependency, and be sure to actually use the quasi-duplicate dependency port/module. Perl version checking needs to be independent from FreeBSD version. Lack of that is the reason and need for ugly symlinks from /usr/local/bin to /usr/bin (in FreeBSD 4.x). Checking for Perl version should be done via variables already set (say in /etc/make.conf or or via other appropriate means) to save a few seconds; lacking that, invoke perl(1). I do not see any way to identify, or get the list of, the installed modules other than from perl(1) itself. Suggestions? Well, that's all i have on my mind so far... - Parv --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040130024256.GA3172>