我正在打包一段使用DistUtilsExtra的Python软件。在my debian/rules中运行python setup.py install时,DistUtilsExtra会自动重新编译转换模板.pot文件,并直接在源存储库中更新该文件。因此,当我第二次执行打包命令(使用debuild或pdebuild)时,会自动创建一个补丁文件(因为它认为我已经手动更新了.pot文件)。这个补丁在Debian包中显然是不需要的,我正在寻找一种不生成它的方法。
一种解决方案是DistUtilsExtra不更改源代码库中的.pot文件,但目前这是不可能的。因此,我正在测试另一种解决方案:为从.orig.tar.gz压缩包中提取原始.pot文件的clean指令创建一个覆盖,在debian/rules中这样做
override_dh_clean:
tar -zxvf ../<projname>_*.orig.tar.gz --wildcards --strip-components=1 <projname>-*/po/<projname>.pot
dh_clean然而,我在debian-mentors邮件列表上被告知,不能保证原始的tarball位于../中。因此,我想知道是否有一种方法可以从debian/rules内部可靠地访问.orig.tar.gz压缩包,就像包含其位置的“变量”一样?
发布于 2011-04-20 06:17:27
严格地说,这并不是在为Debian打包时如何访问原始tarball的问题的答案,但这就是我如何解决引发我的问题的问题,所以它是这样的:
我发现了一个有趣的blog post by Raphaël Hertzog,它解释了在构建Debian包时如何忽略自动生成的文件。这是通过在debian/source/options文件中将--extend-diff-ignore选项传递给dpkg-source来完成的。因此,我已经从override_dh_clean中删除了建议的命令,并且不再创建不需要的自动补丁。
发布于 2012-01-11 16:49:01
对于自动生成的文件,通常的解决方案是在清理过程中删除它们。
https://stackoverflow.com/questions/5695688
复制相似问题