Frage Gegeben ein Debian-Quellpaket - Wie installiere ich die Build-Deps?


Ich habe ein debian (gut technisch ubuntu) Quellpaket, d. H. Die .dsc, die .tar.gz, usw., ich möchte das erstellen. Das dpkg-buildpackage scheitert, da ich nicht alle Build-Abhängigkeiten habe.

Normalerweise würde ich verwenden apt-get build-dep, aber dieses Paket ist nicht in apt.

Gibt es eine "saubere", "richtige" Möglichkeit, alle Build-Abhängigkeiten bei einem Quellpaket zu installieren. Ich weiß, ich könnte einfach die debian / control-Datei öffnen, aber ich bin neugierig, ob es einen "richtigen" Weg gibt.

ich habe installiert build-essential, und haben alle normalen Compiler etc., benötigt dieses Paket zusätzliche Software.


36
2018-03-30 11:09


Ursprung




Antworten:


Benutzen mk-build-deps welches ist ein Teil von devscripts.


26
2018-03-30 13:50





Hier ist ein Beispiel-Workflow, der den Vorschlag von ptman verwendet.

Angenommen, Sie haben das heruntergeladen .dsc Datei, die .orig.*z Datei und vielleicht auch ein .debian.*z Datei, entpacken Sie das Quellpaket mit:

dpkg-source -x [package_name]_[package_version].dsc

In den extrahierten Quellordner verschieben und ausführen:

sudo mk-build-deps -i

Dies wird die Datei erstellen [package_name]-build-deps_[version].deb und installieren Sie es, und installieren Sie auch alle Abhängigkeiten, die es vorschlägt.

Jetzt sollten Sie in der Lage sein, Ihr Paket von der Quelle zu erstellen:

debuild

Wenn Sie fertig sind, können Sie die Abhängigkeiten, die übernommen wurden, leicht entfernen, indem Sie die build-deps Paket, das du generiert hast:

sudo apt-get purge --auto-remove [package_name]-build-deps

8
2017-12-24 08:07



Sie können auch bestehen -r zu sudo mk-build-deps -i um das Paket nach der Installation zu entfernen. Anstatt als root zu erstellen, können Sie auch als root mit installieren --root-cmd sudo. Am Ende, verwenden mk-build-deps --install --root-cmd sudo --remove - Lucas


Eigentlich kann ich verwenden dpkg-checkbuilddeps Das zeigt die Build-Abhängigkeiten. Das bringt mir 99% von dem, was ich brauche


7
2018-03-30 13:43



Seltsamerweise Paketname-Version.dsc Datei enthält die Buildabhängigkeiten in der Zeile, die mit der Zeichenfolge beginnt Build-abhängig - quack quixote


Ich benutze normalerweise debuild von devscripts um Pakete zu bauen, und wenn es relevant ist, druckt es eine Zeile mit den fehlenden Build-Deps.

Der "richtige" Weg ist zu benutzen pbuilder oder Ähnliches, das das Paket in einem minimalen bauen wird chrootInstallieren Sie einfach zusätzliche Build-Deps, wie im Paket angegeben. Dadurch werden auch einige andere potenzielle Probleme beseitigt (z. B. lokale Installationen von nicht-verpackten Bibliotheken).


6
2018-04-02 06:53





Versuchen:

apt-get install build-essential

-6
2018-03-30 11:13



Ich habe Build-Essential installiert. Dieses Paket erfordert zusätzliche Software. - Rory
Und es erklärt nicht, was erfordert? vielleicht auch libncurses-dev. - Lanselot
Das ist nicht der Punkt; natürlich tut es das. Der Punkt ist, einen Befehl zu haben, der tatsächlich die Abhängigkeiten installiert, nicht einen, der sie nur anzeigt. - Matthias Urlichs