我打包了一個使用DistUtilsExtra的Python軟件。在我的debian/rules
中運行python setup.py install
時,DistUtilsExtra會自動重新編譯翻譯模板.pot
文件並直接在源存儲庫中對其進行更新。因此,我第二次執行打包命令(與debuild
或pdebuild
一起),自動補丁文件被創建(因爲它認爲我手動更新了.pot文件)。這個補丁在Debian軟件包中顯然是不需要的,我正在尋找一種不生成它的方法。如何在Debian打包時訪問原始tarball?
一個解決方案是讓DistUtilsExtra不更改源存儲庫中的.pot文件,但目前這是不可能的。因此,我正在測試另一種解決方案:在debian/rules
創建爲clean
指令提取從.orig.tar.gz
壓縮包的原始文件.POT的覆蓋,這樣做:
override_dh_clean:
tar -zxvf ../<projname>_*.orig.tar.gz --wildcards --strip-components=1 <projname>-*/po/<projname>.pot
dh_clean
但是有人告訴我在Debian的導師郵件列表,原始壓縮包不保證位於../
。因此,我想知道是否有辦法可靠地訪問debian/rules
中的.orig.tar.gz
tarball,就像包含其位置的「變量」一樣?
tumbleweed,.pot文件已存在於源文件中,打包過程會對其進行更新。因此,在清理過程中刪除它們實際上是對源文件的另一種修改。我試圖做的是通過複製將該文件恢復到其原始狀態。然而,使用'--extend-diff-ignore'選項可以讓我指定要忽略哪個自動生成的文件,實際上解決了這個問題。看到我對這個問題提出的解決方案(我並沒有將其標記爲公認的,因爲它實際上並沒有回答這個問題,只是提出瞭解決方法) – Emilien 2012-01-16 12:51:35
不,dpkg-source會忽略刪除,正是出於這種原因。 – tumbleweed 2012-01-16 22:09:17