有很多关于如何做到这一点的信息,但是由于有不止一种方法可以剥猫皮,而且所有涉及这一过程的教程/手册似乎都做出了与其他教程不同的某些假设,所以我仍然没有掌握。
到目前为止,这是我认为我理解的。
CDBS
或debhelper
。Debhelper是初学者推荐的方法。DEBIAN
目录中填充一些文件,这些文件说明了需要复制的文件位置、它们所受的版权和许可方案、它们具有的依赖关系等等。。。setup.py
脚本,那么步骤4可以在很大程度上自动执行dh_make
命令。现在我的问题是:
setup.py
脚本?编辑:通过独立程序我指的是桌面用户打算使用的程序(与模块相反,我理解它就像是其他软件在导入后使用的功能集合)。在我的具体案例中,我实际上需要两个这样的“程序”:主软件和一个单独的实用程序(实际上,第二个“程序”应该与另一个在同一个包中)。顺便说一句:这些是目前为止我能找到的最好的信息来源。如果你还有比这更好的,请分享!:)
构建deb包的正确方法是使用
dpkg-buildpackage
,但有时它有点复杂。相反,您可以使用dpkg -b <folder>
,它将创建您的Debian包。以下是使用
dpkg -b <folder>
创建Debian包的基础知识,该包可以使用任何二进制文件,也可以使用不需要手动编译就能自动运行的任何脚本(Python、Bash、Perl和Ruby):创建文件和文件夹以重新创建以下结构:
放置在
/usr/bin/
的脚本是从终端直接调用的,请注意,我没有向脚本添加扩展。另外,您可以注意到,一旦安装了deb包,它的结构就是程序的结构。如果你的程序只有一个文件,你可以直接把它放在ProgramName-Version/usr/bin/your_script
下,但是如果你有多个文件,你应该把它们放在ProgramName-Version/usr/share/ProgramName/all your files
下,并且只把一个文件放在/usr/bin/
下,这个文件将从/usr/share/ProgramName/
将所有文件夹权限更改为根目录:
更改脚本的权限:
最后,您可以运行:
dpkg -b /path/to/the/ProgramName-Version
,您的deb包将被创建!(您还可以添加post/pre-inst脚本和您想要的所有内容,它的工作方式与普通的Debian包类似)下面是
control
文件的示例。您只需要将其复制粘贴到一个名为“control”的空文件中,并将其放入DEBIAN文件夹。看起来stdeb会做你想做的事。
另外,对于安装脚本,我强烈建议支持distribute's console_scripts入口点。
This article by Barry Warsaw帮助我在这个过程中走得很远。尽管如此,我还是要在旁边做大量的搜索,而且在过去的一段时间里,我阅读了大部分Ubuntu packaging guide。
拥有一个好的
setup.py
是一个非常好的建议。我觉得这两个指南很好:相关问题 更多 >
编程相关推荐