web-dev-qa-db-ja.com

Debianパッケージをビルドするときにファイル/ディレクトリを無視するにはどうすればよいですか?

新しいサーバーへの設定の導入を容易にするためにいくつかのdebianパッケージを作成し、それらをSVNソース管理に配置したいと考えています。問題は、SVNがソースツリーのサブディレクトリごとに.svnディレクトリを作成するため、ソースツリー 'dpkg-deb --build'にパッケージをビルドできません。パッケージ。これまでのところ、パッケージをビルドする場合は、ディレクトリを別の場所にエクスポートして、そこからビルドする必要があります。

'dpkg-deb --build'に.svnディレクトリを無視させる簡単な方法はありますか?

6

私の理解では、そもそもdpkg-deb --buildを使用してdebianパッケージを構築するべきではありません。代わりに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/
5
chrishiestand

ソースのdebianパッケージに入れるファイルを除外するには、ファイルを作成する必要があります:

debian/source/options

場合は、dpkg-sourceに渡すオプションを入力します。

tar-ignore = ".svn/*"

Dpkg-sourceについてはmanを参照してください。

7

dpkg-buildpackageを使用する場合は、無視するための-iスイッチがあることをここで文書化する価値があります。 IE、-i.svnを使用して、.svnディレクトリを無視します。

5
Wes Hardaker