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

I have some module management scripts that rely on the .packlist files that are put in place by ExtUtils::MakeMaker. These contain useful information by way of a list of deliverables for each module distribution.

I've recently installed DBIx::Class, which has pulled in some of the newer modules which make use of Module::Build. Sadly, some of these modules don't put a .packlist in place, leaving my module management scripts clueless as to where the new .pm files have come from.

I would have thought that packlists would be a standard mechanism that comes for free with Module::Build for ./Build install. Maybe this is so, but the module authors are rolling their own actions and bypassing the packlist generation. I don't know the guts of Module::Build well enough to tell which is the case.

Or maybe, packlists are deprecated and dying - if so, this is news to me, as I find the information quite useful.

So, my question is: can I rely on the mechanism of packlists to manage CPAN modules after installation? I am aware that external package managers, such as Debian apt or ActiveState ppm don't maintain packlists, but they have their own metadata recording package installation states and manifests.

Maybe I should be looking at the META.yml 'provides' key, but this file is missing from many module distributions.

--

Oh Lord, won’t you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, won’t you burn me a Knoppix CD ?
(Missquoting Janis Joplin)

Replies are listed 'Best First'.
Re: packlists and Module::Build
by xdg (Monsignor) on Sep 07, 2006 at 12:21 UTC

    What version of Module::Build are you using? Recent version are supposed to support packlists. c.f the 0.2805 Changes file:

    0.27_10 Tue Mar 28 22:50:50 CST 2006 - Added the create_packlist property, default true, which controls whether packlist files will be written during installation. This was already part of Module::Build 0.2609, but for some reason we've forgotten it in the 0.27_xx series. [Spotted by Steve Kirkup]
    0.2609 Wed Mar 16 22:18:35 CST 2005 - We now write a .packlist file upon installation, in the same place that ExtUtils::MakeMaker does. [Johnny Lam]

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      Much appreciated!

      I was indeed running a version of Module::Build older than 0.26, and the problem is now sorted.

      --

      Oh Lord, won’t you burn me a Knoppix CD ?
      My friends all rate Windows, I must disagree.
      Your powers of persuasion will set them all free,
      So oh Lord, won’t you burn me a Knoppix CD ?
      (Missquoting Janis Joplin)