There are a couple of ebuilds for CPAN modules in Gentoo. However, they're all done by hand and so are all slightly different and some are quite out of date. I got involved in a dicsussion on gentoo-user (and later gentoo-dev and then Gentoo bugzilla) on how the best way to integrate CPAN modules into Gentoo would be.
You can think of this as layering dependencies. The Perl modules have simple dependency information in the PREREQ_PM in Makefile.PLs. However, only dependencies on Perl modules are in there. It so happens that Compress::ZLib needs zlib installed. Thus in the dev-perl/Compress-Zlib ebuild, we have added a dependency on the zlib C library manually by adding '>=sys-libs-zlib-1.1.3' to DEPEND. So that if you try and install Compress::Zlib in Gentoo using "emerge Compress-Zlib" it will make sure you already have the zlib library installed, and if not will go off and install it first.
We initially thought of somehow merging CPAN.pm or CPANPLUS into emerge, but that was perhaps too much work. On the tube home last night, I considered how hard it would be to autogenerate ebuild files for the whole of CPAN. This would have the advantage of always being up to date (good as Gentoo is cutting edge generally) and would probably work for about 80% of modules.
Well, I did it. Read the bugzilla entry for the script, and two sample generated ebuilds. CPANPLUS helped a lot (but it could have helped more
My recent post above contains info on how it works and minor problems. Makefile.PLs which contain incorrect dependencies really annoy me. But the most annoying thing is Makefile.PLs that are interactive. Most don't need to be and I think they should be non-interactive by default. This will be my next crusade...
How do other distributions do this anyway? By hand? Yuck!
Couple of items (Score:2)
Mostly due to your posting and subsequent investigation, I installed Gentoo on one of my machines at work yesterday. It looks very promising, although the move from RPMs is made a little more difficult by the lack of instant gratification. But I can accept that since most of the items that take a while to upgrade don't get upgraded very often.
Also, I think interactive Makefile.PL routines are only necessary when you need the user to specify some information for testing: a DSN, username and password for a
Re:Couple of items (Score:1)
Re:Couple of items (Score:1)
I have never been a fan of RPMs, I usually installed a barebones redhat and compiled my own apache, etc.
The real key to Gentoo, for me, came when 1.2 was released. I had installed 1.1a. I immediately thought "Whoops, need to upgrade", until people on the gentoo forums pointed out the folly in that assumption. Like the BSDs, you upgrade gentoo
Re:Couple of items (Score:2)
Re:Couple of items (Score:2)
[Of course, the CPAN doesn't have this concept either ;-)]
Re:Couple of items (Score:2)
Re:Couple of items (Score:2)
Re:Couple of items (Score:2)
Hmm, digital signatures. I don't even know how that would work. I mean, which party would you trust - the uploader or the CPAN maintainers?
Re:Couple of items (Score:2)
I think that's the wrong question to be asking.
CPAN with digital signatures would be a better place, whether you trust whoever is designated as the module maintainer, the CPAN maintainers, or not.
For example, it's rather easy to imagine a web of trust built up out of the whole CPAN community. I might know you, Schwern, or acme personally and trust your concept
Re:Couple of items (Score:2)
Heh. I have been using FreeBSD on servers and some workstations for similar reasons (among others) from early 1999 to earlier this year.
Yup, I have gone full circle and I am turning back to RedHat. The ports system breaks complicated upgrades far too often. No fun at all.
With more than a few boxes it becomes unmanageble too.
How I am using Red
-- ask bjoern hansen [askbjoernhansen.com], !try; do();
Perl in portage. (Score:1)
I'm still in an RPM mindset a bit. I spent most of my time shunning packages put out by redhat, that I still have a bias against perl modules from the core dist.
I would think that a hybrid solution would be best. Generating ebuil
Re:Perl in portage. (Score:2)
With FreeBSD, the system perl build is 5.005_03, and doesn't want to upgrade. All of the Perl ports (there are about a bazillion of them in /usr/ports) all want that managed Perl build (which puts modules in /usr/libdata). That also brings with it the *BSD ports issue of easy-to-install, hard-to-upgrade (dependencies are linked to particular port versions; ports will try and re-install an installed package just because there's a be
Re:Perl in portage. (Score:1)
I also do OpenBSD, and a bit of FreeBSD. I find portage simpler than either system's /usr/src and /usr/ports setup.
Re:Perl in portage. (Score:1)
I recently found that the perl port has been made easier to use instead of the system perl in FreeBSD (won't catch me using that Linux thing ;-) All you need to do is install the perl port and run "use.perl port".
It's made life a lot easier on my -STABLE boxes. I hate using non packaged software; it descends into unmanageability so quickly it makes me shudder just thinking about it.
-Dom