Exemplos de múltiplos pacotes binários

3

Estou tentando incluir uma prévia da nova versão experimental do Inkscape Gtk + 3 em nosso PPA ... Eu quero compilar a fonte upstream usando diferentes opções de tempo de compilação para gerar dois pacotes binários diferentes: "inkscape-trunk" (a compilação diária normal) e "inkscape-trunk-gtk3" (a compilação experimental Gtk + 3) .

Abaixo, mostrei como eu faria isso manualmente usando o código fonte do upstream, mas eu preciso saber como fazê-lo usando as ferramentas de empacotamento do Debian.

Eu já encontrei o mpb e vim Pacotes fonte do Ubuntu, que criam múltiplos binários usando diferentes configurações de tempo de compilação. No entanto, ambos usam a sintaxe antiga do debhelper, e os arquivos de regras acabam sendo bastante complexos.

Minha pergunta: Alguém pode sugerir um pacote de exemplo adequado, no qual várias compilações binárias são executadas usando a nova e elegante sintaxe de debhelper "dh"? Isso é mesmo possível, ou eu tenho que recorrer a escrever o arquivo de regras manualmente?

# 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
    
por Alex Valavanis 08.07.2013 / 14:01

1 resposta

4

Dê uma olhada no qbittorrent , ele constrói duas versões do pacote a partir da mesma fonte usando a nova sintaxe dh . Aqui está o que pode parecer no seu caso (não testado):

#!/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
    
por andrewsomething 09.07.2013 / 18:00