Sie könnten verwenden dpkg-checkbuilddeps
. Die Manpage sagt
Dieses Programm vergleicht die im System installierten Pakete mit den in der Steuerdatei aufgeführten Build-Abhängigkeiten und Build-Konflikten. Wenn einige nicht erfüllt sind, werden sie angezeigt und mit einem Rückkehrcode ungleich Null beendet.
Beispielsweise:
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
Sie können jedoch auch einfach versuchen, das Paket zu erstellen, indem Sie beispielsweise (z. B.) debuild
z
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ debuild -uc -us
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package julia
dpkg-buildpackage: source version 0.3.2-1
dpkg-buildpackage: source changed by Sébastien Villemot <[email protected]>
dpkg-source --before-build julia-0.3.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Das gibt die gleichen Informationen (da es verwendet dpkg-checkbuilddeps
), ist aber etwas lauter.
dpkg-checkbuilddeps
gibt nur nicht erfüllte Build-Abhängigkeiten aus. Siehe meine Antwort zum Parsen im allgemeinen Fall.Parsing:
Verwenden Sie Module aus dem
libdpkg-perl
(dpkg-checkbuilddeps
verwendet diese Module intern)Fügen Sie die folgenden Zeilen zum Quellpaketstamm hinzu
print-build-deps
und führen Sie sieprint-build-deps
aus.Siehe auch:
Installation:
Sie können verwenden
mk-build-deps
vondevscripts
:man mk-build-deps
sagt:quelle
devscripts
undequivs
generiert ein temporäres Paketmyproject-build-deps
und installiert es. Das ist schön , wenn Sie beabsichtigen nicht die Build-Zeitabhängigkeiten auf Ihrem Computer zu halten: nur deinstallierendevscripts
,equivs
undmyproject-build-deps
.Mit diesem Perl-Einzeiler können Abhängigkeiten analysiert werden von
debian-control
:oder
quelle
apt-get install $(perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' < debian/control)'
. Beachten Sie jedoch, dass die Abhängigkeiten als manuell installiert markiert werden, damit sie in der Build-Umgebung verbleiben. Dies hat in einer wegwerfbaren Build-Umgebung (Chroot, Docker) keine Bedeutung. Wenn Sie jedoch in Ihrer regulären Umgebung erstellen, bleiben die Build-Time-Abhängigkeitspakete erhalten. Sie können für einige Pakete ziemlich groß sein.