web-dev-qa-db-ja.com

複数のバイナリパッケージの例

our PPA ...にInkscapeの新しい実験的なGtk + 3ビルドのプレビューを含めようとしています。異なるコンパイル時オプションを使用してアップストリームソースをコンパイルし、2つの異なるバイナリパッケージを生成します。 「inkscape-trunk」(通常のデイリービルド)および「inkscape-trunk-gtk3」(実験的なGtk + 3ビルド)。

以下では、アップストリームソースを使用して手動でこれを行う方法を示しましたが、Debianパッケージツールを使用して行う方法を知る必要があります。

mpbvim のUbuntuソースパッケージはすでに見つかりました。どちらも異なるコンパイル時構成を使用して複数のバイナリを作成します。ただし、これらはどちらも古いdebhelper構文を使用し、ルールファイルはどちらもかなり複雑になります。

私の質問:新しいエレガントな「dh」debhelper構文を使用して複数のバイナリビルドを実行する適切なサンプルパッケージを誰でも提案できますか?これは可能ですか、それともルールファイルを手動で記述することに頼らなければなりませんか。

# Building two different configurations of the same package...

# Make subfolders for building the two different configurations
src_dir=`pwd`
build_default_dir=${src_dir}/build-default
build_gtk3_dir=${src_dir}/build-gtk3
mkdir -p $build_default_dir
mkdir -p $build_gtk3_dir

# Generate build files
./autogen.sh

# Configure and build the default version
cd $build_default_dir
../configure --prefix=/usr/
make

# Configure and build the gtk+ 3 version
cd $build_gtk3_dir
../configure --prefix=/usr/ --enable-gtk3-experimental
make
3
Alex Valavanis

qbittorrent パッケージを見てください。新しいdh構文を使用して、同じソースから2つのバージョンのパッケージをビルドします。ケースでの表示は次のとおりです(テストなし)。

#!/usr/bin/make -f
%:
    dh $@

override_dh_auto_configure:
    mkdir -p build-nox && cd build-default && ../configure --prefix=/usr
    mkdir -p build-gtk3 && cd build-gtk3 && ../configure --prefix=/usr --enable-gtk3-experimental

override_dh_auto_build:
    dh_auto_build --builddirectory build-default
    dh_auto_build --builddirectory build-gtk3

override_dh_auto_install:
    dh_auto_install --builddirectory build-default --destdir debian/inkscape-trunk
    dh_auto_install --builddirectory build-gtk3 --destdir debian/inkscape-trunk-gtk3

override_dh_auto_clean:
    dh_auto_clean --builddirectory build-default
    dh_auto_clean --builddirectory build-gtk3
4
andrewsomething