我正在尝试build立一个依赖于apache-ant的端口。
我想我可以运行make build-depends-list来查看此端口所需的所有依赖关系:
# make build-depends-list /usr/ports/devel/apache-ant /usr/ports/java/jdk16 /usr/ports/math/gmp
但是在安装了所有东西之后,这个端口有一个长达一英里的依赖列表:
apache-ant-1.8.1 desktop-file-utils-0.15_2 gamin-0.1.10_4 gettext-0.18.1.1 gio-fam-backend-2.26.1 glib-2.26.1_1 gmp-5.0.1 inputproto-2.0 javavmwrapper-2.3.5 kbproto-1.0.4 libX11-1.3.3_1,1 libXau-1.0.5 libXdmcp-1.0.3 libXext-1.1.1,1 libXi-1.3,1 libXtst-1.1.0 libiconv-1.13.1_1 libpthread-stubs-0.3_3 libxcb-1.7 pcre-8.12 perl-5.10.1_3 pkg-config-0.25_1 python26-2.6.6 recordproto-1.14 unzip-6.0 xextproto-7.1.1 xproto
这个依赖列表是一个粗鲁的惊喜,我想知道它之前,我承诺安装一个端口。
我怎样才能看到所有的依赖关系,以及一个端口的所有子依赖关系?
你非常接近。 试试这个:
make all-depends-list
这将缓解所有的依赖关系,并为您打印。 要testing不同的构build场景以及它们如何影响依赖项列表,请尝试以下操作:
make NOPORTDOCS=yes NOPORTEXAMPLES=yes all-depends-list make WITHOUT_X11=yes all-depends-list
以下是一系列依赖打印目标:
all-depends-list build-depends-list run-depends-list package-depends-list pretty-print-build-depends-list pretty-print-run-depends-list
干杯,格雷格
你将不得不recursion获得所有的subdependencies。 在ports-mgmt类中可能有一些工具…
我使用portmaster(8)进行端口pipe理。 在编译和安装端口之前,它总是收集(子)依赖关系:
~> portmaster --show-work devel/apache-ant ===>>> Port directory: /usr/ports/devel/apache-ant ===>>> Starting check for all dependencies ===>>> Gathering dependency list for devel/apache-ant from ports ===>>> Installed converters/libiconv ===>>> Installed devel/gettext ===>>> NOT INSTALLED devel/gmake ===>>> Installed devel/libcheck ...
大多数依赖列表一目了然难以parsing。 我更喜欢用[email protected]来使用这个包装器脚本 ,因为它显示了一个很好的嵌套列表,同时具有向上和向下的依赖关系:
$ pkg_depends.pl ruby18-bdb-0.6.5_1 Package ruby18-bdb-0.6.5_1 depends on: db41-4.1.25_4 ruby-1.8.7.248_5,1 Package ruby18-bdb-0.6.5_1 is required by: portupgrade-2.4.7,2
不带参数运行它可以产生一个很长的列表,因为它显示了所有文件的所有依赖链,所以我通常只build议为特定的端口运行它。
要列出取决于的端口:
pkg_info -rx "port-name"
要列出需要的端口:
pkg_info -Rx "port-name"
– 从这个网站的答案: http : //daemon-notes.com/tips (感谢罗斯)