我的团队正在交付一个需要一些Perl模块的产品,因为我们交付了一个完整的OS安装程序(Ubuntu12.04),所以我们希望这些模块是.deb包。我已经能够按照指令here构建一些其他Perl(比如algorithm::luhn、env::c、linux::pid和config::properties),但是在Apache2::sizeLimit上有问题
尝试使用apache-sizelimit-0.96和apache-sizelimit-0.97…以及文档中描述的所有方法。在不同的OSS版本中也尝试过;Ubuntu14.04.2,Ubuntu12.04.5(干净安装),所有的尝试都以相同的错误结束:
test@test:~$dh make perl——构建——cpan apache::sizelimit
将读取“/home/test/.cpan/metadata”
数据库生成于2015年3月19日星期四02:17:02 GMT
cpan:digest::sha加载正常(v5.61)
/home/test/.cpan/sources/authors/id/p/ph/phred/apache-sizelimit-0.97.tar.gz的校验和正常
apache-sizelimit-0.97版本/
apache-sizelimit-0.97/更改
apache-sizelimit-0.97/安装
apache-sizelimit-0.97/lib/
apache-sizelimit-0.97/许可证
apache-sizelimit-0.97/makefile.pl文件
apache-sizelimit-0.97/清单
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/吨/
apache-sizelimit-0.97/t/阿帕奇/
apache-sizelimit-0.97/t/apache2版本/
apache-sizelimit-0.97/t/pod.t版本
apache-sizelimit-0.97/t/响应/
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\u请求2.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加载正常(v0.22)
======================================================================
未包装的TabBar已经存在,目录更名为/home /Test/ApACHE-SIZELITIT-0.97.13910
======================================================================
使用meta.json
找到:apache2 sizelimit 0.97(libapache2 sizelimit perl arch=all)
cat:/etc/mailname:没有这样的文件或目录
无法加载apt内容。
请安装“apt file”软件包(至少2.5.0版),然后
以根用户身份运行“apt file update”。
依赖项未更新。
使用Maintainer:测试
找到的文档:自述
cat:/etc/mailname:没有这样的文件或目录
使用规则:usr/share/dh make perl/rules.dh7.tiny
cat:/etc/mailname:没有这样的文件或目录
make:输入目录`/home/test/apache-sizelimit-0.97'
DH清洁
DH_测试目录
DH U自动清洗
卫生部
make:离开目录`/home/test/apache-sizelimit-0.97'
make:输入目录`/home/test/apache-sizelimit-0.97'
DH构建
DH_测试目录
dh_auto_配置
找不到已安装的mod_perl
错误是:在@inc中找不到mod_perl2.pm(@inc包含/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.),位于makefile.pl第147行。
DHYAutoSuper:Perl MaFrime.PL安装DRIDS=厂商返回的退出代码2
生成:***[生成]错误2
make:离开目录`/home/test/apache-sizelimit-0.97'
无法创建DEB包:“Debian/Rules Build”失败。
将感谢任何帮助修理它。

最佳答案

分享它是如何解决的。正如@grant mclean所回答的;我缺少一个-dev包:“apache2 dev”(apache2线程dev)。
有了它,跳过测试,我就可以构建.deb包。

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

07-24 12:31