Я пытаюсь включить предварительный просмотр новой экспериментальной сборки Inkscape для Gtk + 3 в нашего PPA ... Я хочу скомпилировать исходный код, используя разные параметры времени компиляции, чтобы сгенерировать два разных двоичных файла пакеты: "inkscape-trunk" (обычная ежедневная сборка) и "inkscape-trunk-gtk3" (экспериментальная сборка Gtk + 3).
Ниже я показал, как я могу сделать это вручную, используя исходный код, но мне нужно знать, как это сделать с помощью инструментов упаковки Debian.
Я уже нашел исходные пакеты Ubuntu mpb и vim , которые создают несколько двоичных файлов с использованием разных конфигураций во время компиляции. Тем не менее, оба они используют старый синтаксис 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
Взгляните на пакет qbittorrent , он собирает две версии пакета из одного источника с использованием нового синтаксиса dh
. Вот как это может выглядеть в вашем случае (не проверено):
#!/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