My team is delivering a product that requires some perl modules, and since we deliver a full OS installer (Ubuntu 12.04) we want those modules as .deb packages. I've been able to build some other perl (like Algorithm::LUHN, Env::C, Linux::PID and Config::Properties) by following the instructions here, but having problems with Apache2::SizeLimit
Tried with Apache-SizeLimit-0.96 and Apache-SizeLimit-0.97... and all the methods described in the doc. Also tried in different OSs versions; Ubuntu 14.04.2, Ubuntu 12.04.5 (clean install), all the attempts ended with the same error:
test@test:~$ dh-make-perl --build --cpan Apache::SizeLimit Going to read '/home/test/.cpan/Metadata' Database was generated on Thu, 19 Mar 2015 02:17:02 GMT CPAN: Digest::SHA loaded ok (v5.61) Checksum for /home/test/.cpan/sources/authors/id/P/PH/PHRED/Apache-SizeLimit-0.97.tar.gz ok Apache-SizeLimit-0.97/ Apache-SizeLimit-0.97/Changes Apache-SizeLimit-0.97/INSTALL Apache-SizeLimit-0.97/lib/ Apache-SizeLimit-0.97/LICENSE Apache-SizeLimit-0.97/Makefile.PL Apache-SizeLimit-0.97/MANIFEST Apache-SizeLimit-0.97/MANIFEST.SKIP Apache-SizeLimit-0.97/META.json Apache-SizeLimit-0.97/META.yml Apache-SizeLimit-0.97/README Apache-SizeLimit-0.97/t/ Apache-SizeLimit-0.97/t/apache/ Apache-SizeLimit-0.97/t/apache2/ Apache-SizeLimit-0.97/t/pod.t Apache-SizeLimit-0.97/t/response/ Apache-SizeLimit-0.97/t/response/TestApache/ Apache-SizeLimit-0.97/t/response/TestApache2/ Apache-SizeLimit-0.97/t/response/TestApache2/basic.pm Apache-SizeLimit-0.97/t/response/TestApache2/check_n_requests2.pm Apache-SizeLimit-0.97/t/response/TestApache2/deprecated.pm Apache-SizeLimit-0.97/t/response/TestApache2/zzz_check_n_requests.pm Apache-SizeLimit-0.97/t/response/TestApache/basic.pm Apache-SizeLimit-0.97/t/response/TestApache/check_n_requests2.pm Apache-SizeLimit-0.97/t/response/TestApache/deprecated.pm Apache-SizeLimit-0.97/t/response/TestApache/zzz_check_n_requests.pm Apache-SizeLimit-0.97/t/apache2/all.t Apache-SizeLimit-0.97/t/apache/all.t Apache-SizeLimit-0.97/lib/Apache/ Apache-SizeLimit-0.97/lib/Apache2/ Apache-SizeLimit-0.97/lib/Apache2/SizeLimit.pm Apache-SizeLimit-0.97/lib/Apache/SizeLimit/ Apache-SizeLimit-0.97/lib/Apache/SizeLimit.pm Apache-SizeLimit-0.97/lib/Apache/SizeLimit/Core.pm CPAN: File::Temp loaded ok (v0.22) ====================================================================== Unpacked tarball already existed, directory renamed to /home/test/Apache-SizeLimit-0.97.13910 ====================================================================== Using META.json Found: Apache2-SizeLimit 0.97 (libapache2-sizelimit-perl arch=all) cat: /etc/mailname: No such file or directory No APT contents can be loaded. Please install 'apt-file' package (at least version 2.5.0) and run 'apt-file update' as root. Dependencies not updated. Using maintainer: test Found docs: README cat: /etc/mailname: No such file or directory Using rules: /usr/share/dh-make-perl/rules.dh7.tiny cat: /etc/mailname: No such file or directory make: Entering directory `/home/test/Apache-SizeLimit-0.97' dh clean dh_testdir dh_auto_clean dh_clean make: Leaving directory `/home/test/Apache-SizeLimit-0.97' make: Entering directory `/home/test/Apache-SizeLimit-0.97' dh build dh_testdir dh_auto_configure Can't find mod_perl installed The error was: Can't locate mod_perl2.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at Makefile.PL line 147. dh_auto_configure: perl Makefile.PL INSTALLDIRS=vendor returned exit code 2 make: *** [build] Error 2 make: Leaving directory `/home/test/Apache-SizeLimit-0.97' Cannot create deb package: 'debian/rules build' failed.
Will appreciate any help on fixing it
Sharing how it was solved. As @grant-mclean answered; I was missing a -dev package: the "apache2-dev" (apache2-threaded-dev). With it, and skipping tests I was able to build the .deb package.
sudo apt-get install devscripts dh-make-perl libapache2-mod-perl2 libapache2-mod-perl2-dev apache2-threaded-dev
export DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS nocheck"
dh-make-perl --build --cpan Apache::SizeLimit