将CPAN模块转换为Debian软件包的最佳方法是什么?

时间:2009-08-26 19:05:05

标签: perl debian

每当我处理任何具有处理包管理的特定方式的系统时,我都会尝试使用该标准来管理我的Perl模块。 “在罗马时等等。”

例如,在使用ActivePerl的Win32系统上,我将PPM用于所有内容并使用了很棒的PPM::Make。在RedHat系统上,我更喜欢使用RPM。

现在我正在研究Debian系统,并发现自己需要一种方法将任意CPAN或CPAN样式分配转换为deb。

Google展示的选项包括dh-make-perl,CPANPLUS :: Dist :: Deb和CPAN :: Packager :: Builder :: Deb。

有这些不同工具经验的人是否有任何关于使用或避免使用的建议?

从标准CPAN模块处理构建deb文件的最佳方法是什么?

更新

我在这个问题上找到了an article by Hans Dieter Piercy - 他根据自己的需要建议使用CPANPLUS工具。在某些情况下,他建议使用dh-make-perl。 Jeremiah Foster(撰写文章brian d foy指向)回应HDP并为dh-make-perl提供案例。

还有a post on idimmu.net描述了使用dh-make-perl。

ATM,我倾向于dh-make-perl,因为已经三次推荐(brian d foy作为Jeremy Foster的代理人,idimmu.net作者和hillu)vs一次为CPANPLUS

5 个答案:

答案 0 :(得分:12)

dh-make-perl在处理重复和繁重的工作以及猜测来源信息方面做得很好。它几乎适用于我打包为Debian软件包的几乎所有CPAN模块(官方或仅供内部使用)。

也就是说,生成的软件包应该只被视为适当的Debian软件包的起点。 dh-make-perl将警告注释放入自动生成的内容中,例如debian/control(即包和依赖项的描述)和debian/copyright(许可信息)。

为了回应Manni,我认为很好的想法是使用工作服或分发工具为包管理提供工具,而不是针对他们。对于Debian,这意味着将东西放入.deb包中并安装它们。 Perl的构建工具和CPAN在提供跨平台构建环境和分发源代码方面做得很好,但与现代Linux发行版中的软件包管理工具相比,它们执行次优,仅仅因为经常需要额外的手动干预,与卷起包装相比,在多台机器上不易自动化。

(对于一次性和测试安装,安装到/usr/local/并使用stow(8)作为穷人的包管理器可能没问题。)

即使您只是构建自己使用的软件包,也可以考虑联系Debian Perl组,如果您认为相关模块对其他人有用,可以让某人赞助上传到Debian。

答案 1 :(得分:3)

我建议您询问Debian Perl维护者小组,而不是问SO。只需在任何奇数包装上邮寄显示为维护者的地址:
Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>

在当天,我向Debian添加了一些模块,并且“手动完成”。我仍然保持一些。这也不难。但该小组现在维持更多的包装,并有工具。

答案 2 :(得分:3)

Jeremiah Foster在2009年春季刊The Perl Review发表了一篇关于将Perl发行版转换为Debian软件包的文章。

答案 3 :(得分:2)

这里也有很好的步骤。 (还有其他好的资源和一些体面的评论的链接。[它是2005年的日期,但仍然主要是相关性和许多评论更近期])

http://www.debian-administration.org/articles/78

这是debian perl政策(也与文章相关) http://www.debian.org/doc/packaging-manuals/perl-policy/

答案 4 :(得分:1)

你不会喜欢这个,但我真的认为你应该这样做。各种Perl Debian软件包不适用于在其计算机上需要某些Perl模块的开发人员。它们的构建是因为其他应用程序需要它们,用户想要或可能想要这些应用程序。

在做一些你可能不应该做的事之前,请先查看this question的答案。