in reply to Issues installing CPAN modules on Debian (OT)

I get
$ dh-make-perl --build --cpan String-Random-0.22 Dispatching deprecated method 'CPAN::Config::load' to CPAN::HandleConf +ig CPAN: File::HomeDir loaded ok (v0.69) CPAN: Storable loaded ok (v2.18) Going to read /home/bri/.cpan/Metadata Database was generated on Sun, 03 Aug 2008 02:03:08 GMT Can't find 'String::Random::0.22' module on CPAN
dh-make-perl --build --cpan ... expects a package name ie dh-make-perl --build --cpan String::Random

I've built hundreds of packages using dh-make perl. Here's how I do it...

  1. cd ~/.cpanplus/5.10.0/build/
  2. cpanp t MooseX::Getopt # I let CPANPLUS handle the dependencies
  3. dh-make-perl --build MooseX-Getopt-0.15
  4. This leaves the built deb, libmoosex-getopt-perl_0.15-1_all.deb in my cpanplus build directory. You could use this file, but I continue
  5. rm libmoosex-getopt-perl_0.15-1_all.deb
  6. cd MooseX-Getopt-0.15/
  7. emacs debian/changelog # change first line from (0.15-1) to (0.15-0) so that any official package will overwrite mine
  8. dpkg-buildpackage -us -uc # rebuild the package
  9. cd ..
  10. sudo dpkg -i libmoosex-getopt-perl_0.15-0_all.deb

There's probably an option to dh-make-perl to set the debian version number that would make steps 5-9 unnecessary, but it's so little effort I haven't looked.

I actually followed these steps as I've typed them up, so why not follow along and report back which bit doesn't work for you?

Update:

There is indeed an option to set the package's version number, but you have to include the upstream version number too: dh-make-perl --version 0.15-0.0 --build MooseX-Getopt-0.15

Replies are listed 'Best First'.
Re^2: Issues installing CPAN modules on Debian (OT)
by bradcathey (Prior) on Aug 03, 2008 at 22:10 UTC

    Thanks for the indepth reply FunkyMonk, but I bomb at the very first step:

    cd ~/.cpanplus/5.10.0/build -bash: cd: /home/bradc/.cpanplus: No such file or directory

    I'm not sure what I should be looking for. I was able to get to ~/.cpan/build but the cpanp is not found (expected). Is ./cpanplus part of Perl 5.10?

    —Brad
    "The important work of moving the world forward does not wait to be done by perfect men." George Eliot
      Yes, CPANPLUS is included with 5.10, but it's also available for other Perls from CPAN.

      However, that shouldn't matter. cpan -t MooseX::Getopt will fetch & test MooseX::Getopt in ~/.cpan/build/. Other than that I think the steps should be the same.

      Let us know how you get on.