web-dev-qa-db-fra.com

Comment utiliser une construction parallèle avec debuild?

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, j'aimerais lancer Debuild pour exécuter make en parallèle (comme je le fais normalement en exécutant make -j4, par exemple). J'ai trouvé quelques endroits 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 fichier debian/rules qui définit essentiellement

MAKEFLAGS += -j4

Cependant, aucun de ceux-ci ne semble fonctionner. Ai-je raté quelque chose? ou dois-je changer quelque chose dans les paramètres autoconf/automake de la source?

16
ph0t0nix

Il doit être activé dans debian/rules. Si le paquet utilise dh, il existe 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"

16
gggf

Avec debhelper 10, il n’est plus nécessaire de fournir l’option --parallel dans debian/rules; il exécute maintenant des constructions parallèles par défaut. Voir le notes de version

La solution consiste donc simplement à définir le contenu de debian/compat sur 10 et à mettre à jour la version debhelper en >=10 dans debian/control.

8
Alex Valavanis

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

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