新しいサーバーへの設定の導入を容易にするためにいくつかのdebianパッケージを作成し、それらをSVNソース管理に配置したいと考えています。問題は、SVNがソースツリーのサブディレクトリごとに.svnディレクトリを作成するため、ソースツリー 'dpkg-deb --build'にパッケージをビルドできません。パッケージ。これまでのところ、パッケージをビルドする場合は、ディレクトリを別の場所にエクスポートして、そこからビルドする必要があります。
'dpkg-deb --build'に.svnディレクトリを無視させる簡単な方法はありますか?
私の理解では、そもそも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/
ソースのdebianパッケージに入れるファイルを除外するには、ファイルを作成する必要があります:
debian/source/options
場合は、dpkg-sourceに渡すオプションを入力します。
tar-ignore = ".svn/*"
Dpkg-sourceについてはmanを参照してください。
dpkg-buildpackage
を使用する場合は、無視するための-i
スイッチがあることをここで文書化する価値があります。 IE、-i.svn
を使用して、.svnディレクトリを無視します。