Biorąc pod uwagę pakiet źródłowy Debiana - Jak zainstalować build-deps?

47

Mam pakiet źródłowy debiana (dobrze technicznie ubuntu), tj. .Dsc, .tar.gz itp., Chcę to zbudować. dpkg-buildpackageNie powiedzie się, ponieważ nie mam wszystkich zależności kompilacji.

Normalnie skorzystałbym apt-get build-dep, ale ten pakiet nie jest w apt.

Czy istnieje „czysty”, „właściwy” sposób instalacji wszystkich zależności kompilacji, biorąc pod uwagę pakiet źródłowy. Wiem, że mogłem po prostu otworzyć plik debian / control, ale jestem ciekawy, czy istnieje „właściwy” sposób.

Zainstalowałem build-essentiali mam wszystkie normalne kompilatory itp. Ten pakiet wymaga dodatkowego oprogramowania.

Rory
źródło

Odpowiedzi:

34

Użyj, mk-build-depsktóry jest częścią devscripts.

ptman
źródło
12

Oto przykładowy przepływ pracy z sugestią ptmana.

Zakładając, że pobrałeś .dscplik, .orig.*zplik, a może także .debian.*zplik, a następnie rozpakuj pakiet źródłowy za pomocą:

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

Przejdź do wyodrębnionego folderu źródłowego i uruchom:

sudo mk-build-deps -i

Spowoduje to utworzenie pliku [package_name]-build-deps_[version].debi zainstalowanie go, a także zainstalowanie wszystkich sugerowanych zależności.

Teraz powinieneś być w stanie zbudować swój pakiet ze źródła:

debuild

Po zakończeniu możesz łatwo usunąć zależności, które zostały pobrane, usuwając build-depswygenerowany pakiet:

sudo apt-get purge --auto-remove [package_name]-build-deps
joeytwiddle
źródło
2
Możesz także przejść -rdo, sudo mk-build-deps -iaby usunąć pakiet po jego zainstalowaniu. Ponadto, zamiast budować jako root, możesz zainstalować jako root, używając --root-cmd sudo. Na koniec użyjmk-build-deps --install --root-cmd sudo --remove
Lucas
Być może trzeba sudo apt install devscripts equivsnajpierw.
Alba Mendez
9

Właściwie mogę użyć, dpkg-checkbuilddepsktóry pokazuje zależności kompilacji. To daje mi 99% tego, czego potrzebuję

Rory
źródło
2
co dziwne, plik packagename-version.dsc zawiera zależności kompilacji w linii rozpoczynającej się od ciągu Build-Depends
quack quoteote
6

Zwykle używam debuildz devscriptsdo budowania pakietów, a jeśli to odpowiednie, wypisuje wiersz brakujących kompilacji.

„Właściwym” sposobem jest użycie pbuilderlub podobne, które zbuduje pakiet w minimalnym stopniu chroot, i po prostu zainstaluje wszelkie dodatkowe kompilacje zgodnie z pakietem, to także usunie wiele innych potencjalnych problemów (lokalne instalacje nieopakowanych bibliotek) na przykład).

LapTop006
źródło
-6

Próbować:

apt-get install build-essential
Lanselot
źródło
Mam zainstalowany niezbędny do kompilacji. Ten pakiet wymaga dodatkowego oprogramowania.
Rory
I nie wyjaśnia, co wymaga? może także libncurses-dev.
Lanselot
1
Nie o to chodzi; Oczywiście, że tak. Chodzi o to, aby mieć polecenie, które faktycznie instaluje zależności, a nie takie, które je wyświetla.
Matthias Urlichs