Debian
什麼是 Debian 軟體包的好臨時安裝目錄?
我正在為 Meteor 應用程序編寫 debian 打包。該
meteor build
命令將創建一個需要在其上執行的“捆綁包”npm install
(以解決其 node.js 依賴項);然後我們就可以打封包件了。在哪裡創建捆綁包?
我決定在 debian/tmp 的子目錄中創建它,如下所示(在規則文件中):
override_dh_auto_build: cd bigbluebutton-html5; meteor build --directory ../debian/tmp/bigbluebutton-html5 cd debian/tmp/bigbluebutton-html5/bundle/programs/server; npm install
但是 debian/tmp 在二進制階段開始時被刪除,由
dh_prep
. 我可以通過覆蓋來解決這個問題dh_prep
,如下所示:# This is here to prevent removal of debian/tmp during the install step. override_dh_prep:
但這似乎違反直覺。
有人可以建議一個更好的地方來上演“捆綁”嗎?還是打包 Meteor 項目的更好方法?
這通常在
build
項目頂層下的目錄中完成,或者在debian/build
. 無論您選擇哪個,請確保將其添加到debian/clean
,並帶有斜杠,以便在建構開始時將其刪除。使用
debian/tmp
會導致dh_prep
您遇到的問題之外的問題;例如,dh_missing
期望所有內容都debian/tmp
安裝在結果包中的某個位置。在過去的幾個月裡,Debian 開發社區對此進行了一些討論,請參閱最近試圖提出更廣泛提案的這個文章。