我在浏览python和debian的分发工具迷宫时遇到了麻烦; cdbs,debhelper,python-support,python-central,等等等等..
我的应用程序是一个相当简单的 - 一个python包(包含模块和a的目录__init__.py),一个用于运行程序(script.py)的脚本和一些图标(.png)和菜单项(.desktop文件).
从这些文件中,如何在不使用上面列出的无意义工具的情况下从头构建一个简单,干净的.deb文件?
我主要针对的是ubuntu,但是如果这个软件包直接用于debian,我会很喜欢
在我的公司,我正在努力deb从第三方库创建Debian 软件包.该库是使用Autotools构建的.我之前从未使用过Autotools,而且我遇到了一些困难.库源包含configure.in与Makefile.am文件和m4/目录.我能够使用以下序列构建库:
aclocal -I m4 -I /usr/share/aclocal
autoheader
libtoolize --automake
automake -a
autoconf
./configure
make
Run Code Online (Sandbox Code Playgroud)
在debian/rules文件中我想使用CDBS.我写了这个:
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它抱怨该configure文件丢失.这是对的,因为Autotools类希望这个文件存在.但它不存在,有人必须先autoconf和朋友打电话!
为什么Autotools CDBS课程不让我autoconf和朋友打电话?我该如何规避呢?
题外话:
当我使用程序时,我不会每次都编译它,我编译一次并重用二进制文件.
当人们安装软件时,他们不会自己编译,维护者编译一次,人们重用二进制包.
当维护者编译包时,他/她configure每次编译时都不创建脚本,上游作者创建它一次,维护者可以重用它.
这最后一句是真的吗?因为对我而言,似乎Autotools CDBS类的作者假设了这样的东西 - 他们假设configure存在,并在为不同的架构编译包时重用它.我对吗?
一方面,如果configure可以生成,它不应该出现在任何地方 - 如果你需要它,你从其他文件生成.另一方面,Autotools CDBS类的作者必须有一些理由以这种方式实现它而不是另一种.
摘要:
configure?(一般情况下和构建Debian软件包时.)