opção para construir um aplicativo paralelo

1

Estas são as regras / regras de um aplicativo. chamado i-nex . É uma alternativa CPU-Z para GNU / Linux e possui um subdiretório debian com os seguintes arquivos -

┌─[shirish@debian] - [~/games/I-Nex] - [4454]
└─[$] ll -r debian

-rw-r--r-- 1 shirish shirish   296 2016-11-13 02:12 i-nex-library.desktop
-rw-r--r-- 1 shirish shirish    93 2016-11-13 02:12 gbp.conf
-rw-r--r-- 1 shirish shirish 16588 2016-11-13 02:12 copyright
-rw-r--r-- 1 shirish shirish 14328 2016-11-13 02:12 changelog
drwxr-xr-x 2 shirish shirish  4096 2016-11-13 02:12 source
-rwxr-xr-x 1 shirish shirish   384 2016-11-13 02:12 rules
-rw-r--r-- 1 shirish shirish    63 2016-11-13 02:12 manpages
-rw-r--r-- 1 shirish shirish   110 2016-11-13 02:12 i-nex.triggers
-rw-r--r-- 1 shirish shirish  6535 2016-11-13 02:12 i-nex.desktop
-rw-r--r-- 1 shirish shirish  1408 2016-11-13 03:16 control
-rw-r--r-- 1 shirish shirish     2 2016-11-13 03:16 compat
-rw-r--r-- 1 shirish shirish     6 2016-11-13 03:17 debhelper-build-stamp
drwxr-xr-x 5 shirish shirish  4096 2016-11-13 03:18 i-nex
-rw-r--r-- 1 shirish shirish    62 2016-11-13 03:19 i-nex.substvars
-rw-r--r-- 1 shirish shirish    91 2016-11-13 03:19 files
-rw-r--r-- 1 shirish shirish   455 2016-11-13 03:19 i-nex.debhelper.log

Eu corro os dois comandos seguintes e um pacote debian vem no final -

$ fakeroot debian/rules build 
$ fakeroot debian/rules binary 

A partir da listagem acima, é óbvio que, no final do backend, é o debhelper que está fazendo o processo de construção a partir do registro de data e hora, bem como o registro de construção. Isso também é confirmado pela execução

$ fakeroot debian/rules clean 

onde o subdiretório debian se livra de todas as entradas do debhelper.

Agora este é o debian / rules como pode ser visto -

┌─[shirish@debian] - [~/games/I-Nex] - [4453]
└─[$] cat debian/rules

#!/usr/bin/make -f
LSB_CS =        $(shell lsb_release -cs)

ifeq ($(LSB_CS),lucid)
COMPRESSION =       -- -z9 -Zgzip
else
COMPRESSION =       -- -z9 -Zxz
endif
override_dh_autoreconf:
    cd I-Nex && autoreconf -i
override_dh_auto_configure:
    dh_auto_configure --sourcedirectory=I-Nex
override_dh_builddeb:
    dh_builddeb $(COMPRESSION)
override_dh_fixperms:
    dh_fixperms
%:
    dh $@  --with autoreconf

Agora, de acordo com essa resposta , parece que a única coisa mudar é a última linha -

dh $@  --with autoreconf

com

dh $@ --parallel --with autoreconf

isto está assumindo, é claro, que não há dependências ausentes durante a compilação paralela. Estou faltando alguma coisa?

JFR existem dois RFP's no Debian para o pacote

    
por shirish 13.11.2016 / 14:54

1 resposta

3

Isso mesmo, no nível de compatibilidade 9,

dh $@ --parallel --with autoreconf

é suficiente para permitir construções paralelas. Observe que "dependências ausentes" para compilações paralelas se refere a dependências de destino em regras de compilação upstream ( Makefile etc.), não em dependências de pacote.

Com o nível de compatibilidade 10, as duas opções acima são ativadas por padrão, então

dh $@

é suficiente para permitir compilações paralelas com autoreconf .

As páginas de manual dh e debhelper têm todos os detalhes.

    
por 13.11.2016 / 18:57