Debian 打包
本文是4digits项目进行Debian打包的帮助文档。
更新上游
首先用
quilt pop
把当前的补丁去掉。然后在pkg-4digits项目里面执行:
git import-orig --pristine-tar --uscan
这样就把上游的最新版(打了tag的)导入进来了。如果出现如下的信息:
gbp:info: Launching uscan...
gbp:info: package is up to date, nothing to do.
是因为debian/changelog里面已经包含了最新的版本号,需要先删除,然后再行导入。此外,需要删除老的tag才能让导入成功:
git tag -d upstream/<lastest_version_number>
打包和上传
看dpkg-source(1)里面FILE FORMATS一节。
在根目录里面,执行debuild,即可在上级目录里面打包生成deb包。安装测试没有问题之后:
debuild -S
打包出source package。如果设置好了GPG,那么会自动把dsc和changes文件签名,无须手工去做。之后
dput mentors 4digits_1.1-1_source.changes
上载到Debian的mentors服务器。可以到Mentors首页登录后查看自己的包。
找到sponsor
到irc.oftc.org的#debian-mentors频道,找人来上传到Debian的服务器。
Quilt
Quilt的用法见/usr/share/doc/quilt/quilt.pdf。
移除补丁用quilt delete <patch_name>,不要去删除补丁文件。
遇到的问题
Debian官方打包的要求很多,设计的工具也很多。以下列出一些遇到的问题和解决办法。
bad-distribution-in-changes-file
在Ubuntu下打包,lintian可能会报bad-distribution-in-changes-file的错误,用这里的方法来解决。不过不用理财,不影响打包的。
包含.mo文件
mo文件是二进制文件,来源自upstream,所以不必要加入。可以在debian/rules的clean里面把它们删除,以让dpkg-source能够正确运行。