在Debian上打包使用Perl和Python的应用程序

2 投票
1 回答
573 浏览
提问于 2025-04-16 10:06

我有一个应用程序,它的不同部分有些是用perl写的,有些是用python写的。请问,打包这样的应用程序最好的工具是什么?

我现在在看deb-helper,虽然我还在学习怎么使用它,但找不到类似的操作指南。有没有什么想法?

更新

我的源代码结构是:

AppRoot/
    agi-bin/
        MyApp/
        Common/
    web/
    conf/

agi-bin - perl脚本;web - python脚本。我希望安装后能保持perl和python脚本在/usr/lib/中的层次结构,而conf文件夹则移动到/etc/myapp/

更新 2:

如果是处理编译后的应用程序,比如C++,那么用dh_make和一个makefile就可以搞定。如果是perl的话,可以用dh-make-perl。然后,Thomas在评论区提供的关于打包python的链接提到了distutils。这些都展示了不同的方式来打包不同的应用程序。

我在寻找关于如何打包一个使用多种语言(即python和perl)的应用程序的最佳方法的想法或建议。我应该为两者都使用一个makefile,还是可以只在规则文件中覆盖dh_install来移动文件?你认为这样做的“正确方式”是什么?

另外,我刚开始学习这个打包的事情,所以所有的建议都非常欢迎。

1 个回答

4

使用debhelper是个不错的选择,你肯定应该创建一个.deb包。我建议你从这个教程开始。

补充说明:如果你要安装的脚本实际上是“可执行文件”(也就是说,它们是作为程序来运行的,而不是作为各自语言中的库),那么你就可以忽略dh-make-perldistutilsdh_pycentral等。这些工具都是用来安装库、包或模块的,处理依赖关系、生成字节码等等。相反,你应该配置debian/foo.install文件,列出你想要安装的所有脚本,然后让dh_install来部署它们。确保手动在debian/control中添加脚本可能需要的库的依赖关系,特别是它们所需的Python或Perl版本。如果这只是简单地在打包和安装时复制文件,那么额外的debhelper功能就没什么用处了。当你发现自己在写后安装脚本时,回过头来看看是否有debhelper可以为你生成这些脚本。

撰写回答