Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Which CPAN modules are available on platform X?

by szabgab (Priest)
on Apr 13, 2007 at 09:40 UTC ( #609866=perlquestion: print w/replies, xml ) Need Help??

szabgab has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

is there an easy way (e.g. an html table displayed somewhere) that shows which CPAN modules are available as a package on some arbitrary platform? (my current preference is Ubuntu 6.10)?

On both my development and live server I prefer to install everything including CPAN modules via the standard package management tool of the given OS rather than using CPAN.pm. (I know some will argue with this wisdom, I'll address your concern in a separate question later on.)

During development I often find out that several packages are not available and have to break my above rule and install them from CPAN. e.g. I could not find Readonly in standard Ubuntu.

So on the longer term - maybe next week :-) - I would like to encourage people to increase the number of available CPAN modules in my favorite distribution. Further down the road I would like to do it for all the major (for whatever value of major) distributions.

In order to see what has been done and maybe some progress I'll need a tool - e.g. an html table - that will display a cross reference of CPAN modules/Operating system (incl. version number) showing the version of the CPAN module available as standard package.

Ubuntu 6.10Fedora Core 6
HTML::Template2.8

So is there a place like this?

If not, would someone volunteer to create such a report?

If not, how could you I approach the problem?

Update: changed question to be about platform X and not only about Ubuntu 6.10

  • Comment on Which CPAN modules are available on platform X?

Replies are listed 'Best First'.
Re: Which CPAN modules are available in standard Ubuntu 6.10?
by tirwhan (Abbot) on Apr 13, 2007 at 10:15 UTC

    Not a direct answer to your question, but when working with Debian-derived distributions (such as Ubuntu) I find it is always a good idea to use dh-make-perl for installing CPAN packages not provided by the distribution itself. This will allow you to manage the installed modules with the standard Debian package management software (i.e. apt-get,dpkg,aptitude etc.) and even allow proper (albeit slightly painful) dependency management.

    More pertinent to the question you ask, you could always become a Debian package maintainer and as such add the modules you're interested in to the Debian system. You'll be required to maintain those packages down the road, and the process of registering is slightly and unavoidably convoluted (I think. Haven't tried it in practice though I intend to, much for similar reasons you give here) but it's a perfect example of scratching one's own itch and thereby benefitting the community.


    All dogma is stupid.
Re: Which CPAN modules are available in standard Ubuntu 6.10?
by ferreira (Chaplain) on Apr 13, 2007 at 09:52 UTC
    So is there a place like this?

    I think you may see what CPAN packages for Ubuntu were released in a page like http://packages.ubuntulinux.org/dapper/perl/. The information for the kind of report you want is there. It should not be that hard to extract and massage into your liking.

    If not, would someone volunteer to create such a report?

    If not, how could you approach the problem?

    Maybe the someone and you above may be filled up by yourself while waiting for interested contributors.
      Actually that you should have been I if I did not make a typo.
Re: Which CPAN modules are available on platform X?
by Herkum (Parson) on Apr 13, 2007 at 12:05 UTC

    This is not a good idea. CPAN is about platform independence( in as much as you get platform indepedence). As long as you have the proper libraries and a version of make, you should have something that will work for that platform.

    Think of it this way, you are approaching this from a result perspective instead of a process/method. By focusing on the result (ie the Platform) you are create a lot of work to tell people that a module does not work. However you are rarely more than a make program and a few C libraries away from getting a module from working.

      I am not sure I follow you on this.
      I would like to show which modules do work for sure as they come with the standard distribution of the given platform.

      In many cases companies are reluctant to use Perl (or for that matter CPAN) as they don't know where to go for support. If the module actually comes from the supplier of the OS they are ok, they get all (or none) of the support of the supplier.

      In the longer run I hope to encourage these suppliers to include more CPAN modules in their distro.

        There are basically two types of modules, Pure Perl and XS modules.

        Pure Perl modules should work straight out of the box with the exception of dependencies.

        XS modules needs make and the C libraries that are used for a particular module to be installed. The code is calling these libraries to do the actual work for that module.

        If you are getting a module from a vendor supplied distribution, they are just pre-packaging the C libraries and copying the compile XS modules to a pre-determined location. Just because the distribution provider is doing the work for you does not mean that the module is unavailable for the platform.

        All you need is make and the C libraries and you can do the same thing. Some platforms are harder to get certain modules compiled (*cough* Windows *cough*). However this is not a limitation of the platform but of the compiler.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://609866]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2022-12-03 02:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?