Linux

建構 debian 包時如何忽略文件/目錄?

  • December 28, 2020

我製作了一些 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/

引用自:https://serverfault.com/questions/247120