Comment exécuter le make parallèle avec debuild?

17

J'essaie de créer un package d'un logiciel que j'ai (co-) écrit. j'utilise

debuild -i -us -uc -b 

Et en principe, cela fonctionne bien. Afin de raccourcir le temps de compilation, je voudrais débuilder pour exécuter make en parallèle (comme je le fais normalement en exécutant make -j4, par exemple). J'ai trouvé quelques emplacements sur le Web qui suggèrent ce qui suit:

debuild -eDEB_BUILD_OPTIONS="parallel=4" -us -uc -b
debuild -j4 -us -uc -b

Un autre site a suggéré d'ajouter du code au debian/rulesfichier qui définit essentiellement

MAKEFLAGS += -j4

Cependant, rien de tout cela ne semble fonctionner. Ai-je raté quelque chose? ou devrais-je changer quelque chose dans les paramètres autoconf / automake de la source?

ph0t0nix
la source

Réponses:

16

Il doit être activé dans debian / rules. Si le paquet utilise dh, il y a une ligne comme celle-ci dans debian / rules:

dh $@

Changer cela en

dh $@ --parallel

Ensuite, vos commandes fonctionneront, au moins DEB_BUILD_OPTIONS = "parallel = 4"

gggf
la source
4
N'oubliez pas d'exporter DEB_BUILD_OPTIONSpour rendre tous les outils heureux.
rbrito
L' --paralleloption n'est plus nécessaire, il suffit de définir la variable d'environnement.
gps
8

Avec debhelper 10, vous n'avez plus besoin de fournir l' --paralleloption dans debian/rules; il exécute désormais des builds parallèles par défaut. Voir les notes de version

La réponse est donc simplement de définir le contenu de debian/compatto 10et de mettre à jour la debhelperversion en >=10in debian/control.

Alex Valavanis
la source
5

Je recommande d'utiliser la DEB_BUILD_OPTIONSvariable d'environnement, comme décrit dans la section 4.9.1 du manuel de politique Debian.

DEB_BUILD_OPTIONS='parallel=4' debuild -i -us -uc -b
Manuel
la source