Wie laufe ich parallel make mit debuild?


17

Ich versuche, ein Paket aus einer Software zu erstellen, die ich (mit-) geschrieben habe. Ich benutze

debuild -i -us -uc -b 

Und im Prinzip funktioniert das gut. Um die Kompilierungszeit zu verkürzen, möchte ich make parallel ausführen (wie ich es normalerweise mache, indem ich es zum Beispiel ausführe make -j4). Ich habe im Internet einige Standorte gefunden, die Folgendes vorschlagen:

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

Eine andere Site schlug vor, der debian/rulesDatei, die im Grunde genommen festgelegt wird, Code hinzuzufügen

MAKEFLAGS += -j4

Keiner dieser scheint jedoch zu funktionieren. Habe ich etwas verpasst oder soll ich etwas an den autoconf / automake einstellungen der quelle ändern?

Antworten:


16

Es muss in debian / rules aktiviert sein. Wenn das Paket dh verwendet, gibt es in debian / rules eine Zeile wie die folgende:

dh $@

Ändern Sie das zu

dh $@ --parallel

Dann funktionieren deine Befehle, zumindest DEB_BUILD_OPTIONS = "parallel = 4"


4
Denken Sie daran, zu exportieren DEB_BUILD_OPTIONS, um alle Werkzeuge glücklich zu machen.
Großbritannien

Die --parallelOption wird nicht mehr benötigt, setzen Sie einfach die Umgebungsvariable.
GPS

8

Mit Debhelper 10 müssen Sie die --parallelOption nicht mehr in angeben debian/rules. Standardmäßig werden jetzt parallele Builds ausgeführt. Siehe die Versionshinweise

Die Antwort ist daher, nur den Inhalt von debian/compatzu setzen 10und die debhelperVersion auf >=10in zu aktualisieren debian/control.


5

Ich empfehle die Verwendung der DEB_BUILD_OPTIONSUmgebungsvariablen, wie in Abschnitt 4.9.1 des Debian-Richtlinienhandbuchs beschrieben.

DEB_BUILD_OPTIONS='parallel=4' debuild -i -us -uc -b
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.