Linux
建構 debian 包時如何忽略文件/目錄?
我製作了一些 debian 軟體包來簡化在新伺服器上的配置部署,並希望將它們放入 SVN 原始碼控制中。問題是 SVN 為原始碼樹中的每個子目錄創建一個 .svn 目錄,所以我無法在原始碼樹“dpkg-deb –build”上建構包,因為“.svn”目錄將包含在結果中包裹。到目前為止,當我想建構一個包時,我必須將目錄導出到另一個地方並從那裡建構。
有沒有一種快速的方法可以讓 ‘dpkg-deb –build’ 忽略 .svn 目錄?
我的理解是,你不應該首先建構一個 debian 包
dpkg-deb --build
。如果您dpkg-buildpackage
改用,您將不必擔心 .svn 目錄包含在您的包中。見:http ://raphaelhertzog.com/2010/12/17/do-not-build-a-debian-package-with-dpkg-b/
可能有更好的方法,但這是我沒有徹底測試過的方法:
用於
dh_make
創建骨架 debian 包。將您的文件放在目錄上方的debian
目錄中。編輯生成的
dirs
文件,並將您要移動文件的路徑放入,例如:/opt/mypackage /usr/local/bin
然後在您的
rules
文件中,刪除 $(MAKE) 程式碼並將您的 install: build 部分設置為如下所示:install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Copy files into staging area rsync --exclude .svn -a mypackage/ debian/tmp/opt/mypackage/