我正在开发Debian软件包,但在DEBIAN/control下正确定义“Installed-Size”方面遇到了问题。
我编写了一个脚本,不断检查svn存储库以获取新的修订版本,如果发现更改,则使用du -s命令计算代码的大小(不包括DEBIAN文件夹),然后将此值放入“Installed-size”中。
第一次安装(通过apt存储库)进行得很好,但在创建新版本并尝试更新软件包后,我收到了“大小不匹配”或“哈希摘要不匹配”的错误信息。
有什么问题?
我编写了一个脚本,不断检查svn存储库以获取新的修订版本,如果发现更改,则使用du -s命令计算代码的大小(不包括DEBIAN文件夹),然后将此值放入“Installed-size”中。
DEBIAN/control文件如下所示:
Package: myfirstdebpackage
Version: 1.0
Architecture: all
Maintainer: me
Installed-Size: 16664
Depends: python (>=2.7), python-appindicator, python-numpy, python-suds
Section: extras
Priority: optional
Homepage: www.example.com
Description: My first deb package
应用程序的文件夹结构:
myfirstdebpackage/DEBIAN
myfirstdebpackage/usr/bin/myfirstdebpackage/<files>
第一次安装(通过apt存储库)进行得很好,但在创建新版本并尝试更新软件包后,我收到了“大小不匹配”或“哈希摘要不匹配”的错误信息。
有什么问题?
dpkg-gencontrol
的例子吗?我似乎无法让它正常工作,总是报错。 - codejedi365debian/control
和debian/changelog
文件,如果按原样运行,则还需要debian/tmp/DEBIAN/
目录。如果软件包动态链接了程序,则需要先运行dpkg-shlibdeps
。然后运行dpkg-gencontrol -p<package-name>
应该会生成它(当debian/control
包含多个软件包时,只有-p
是必要的)。但这都是非常简短的,因为它相当于“如何在没有像 debhelper 这样的帮助程序的情况下打包”,我建议不要这样做,除非真的知道自己在做什么。 - Guillem Jover