Dato un pacchetto sorgente debian - Come installo i build-deps?


47

Ho un pacchetto sorgente debian (ben tecnicamente ubuntu), cioè il .dsc, il .tar.gz, ecc., Voglio costruirlo. Il dpkg-buildpackagefallimento, dal momento che non ho tutte le dipendenze di build.

Normalmente userei apt-get build-dep, ma questo pacchetto non è in apt.

Esiste un modo "pulito", "corretto" per installare tutte le dipendenze di compilazione, dato un pacchetto sorgente. So che potrei semplicemente aprire il file debian / control, ma sono curioso di sapere se esiste un modo "corretto".

Ho installato build-essential, e ho tutti i normali compilatori ecc., Questo pacchetto richiede software aggiuntivo.

Risposte:


34

Usa di mk-build-depscui fa parte devscripts.


12

Ecco un flusso di lavoro di esempio usando il suggerimento di ptman.

Supponendo di aver scaricato il .dscfile, il .orig.*zfile e forse anche un .debian.*zfile, quindi decomprimere il pacchetto di origine con:

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

Passa alla cartella di origine estratta ed esegui:

sudo mk-build-deps -i

Questo creerà il file [package_name]-build-deps_[version].debe lo installerà, e installerà anche tutte le dipendenze che suggerisce.

Ora dovresti essere in grado di compilare il tuo pacchetto dal sorgente:

debuild

Al termine, è possibile rimuovere facilmente le dipendenze che sono state estratte, rimuovendo il build-depspacchetto generato:

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

2
Puoi anche passare -ra sudo mk-build-deps -iper rimuovere il pacchetto dopo averlo installato. Inoltre, invece di creare come root, puoi installarlo come root usando --root-cmd sudo. Alla fine, usamk-build-deps --install --root-cmd sudo --remove
Lucas l'

Inoltre, potrebbe essere necessario sudo apt install devscripts equivsprima.
Alba Mendez,

9

In realtà posso usare ciò dpkg-checkbuilddepsche mostra le dipendenze di compilazione. Questo mi dà il 99% di ciò di cui ho bisogno


2
stranamente, il file nomepacchetto-version.dsc contiene le dipendenze di compilazione nella riga che inizia con la stringa Build-Depends
quack quixote

6

Di solito uso debuildda devscriptsper compilare pacchetti e, se pertinente, stampa una riga dei build-deps mancanti.

Il modo "corretto" è quello di usare pbuildero simili che costruiranno il pacchetto in un minimo chroot, e installeranno solo eventuali build-deps come specificato dal pacchetto, questo rimuove anche un sacco di altri potenziali problemi (installazioni locali di librerie non pacchettizzate per esempio).


-6

Provare:

apt-get install build-essential

Ho installato build-essential. Questo pacchetto richiede software aggiuntivo.
Rory,

E non spiega ciò che richiede? forse anche libncurses-dev.
Lanselot,

1
Non è questo il punto; certo che lo fa. Il punto è avere un comando che installa effettivamente le dipendenze, non uno che le visualizza semplicemente.
Matthias Urlichs,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.