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?

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"


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.