web-dev-qa-db-ja.com

FreeBSDポート:ポートのすべての依存関係、およびそれらの依存関係のすべてのサブ依存関係を確認するにはどうすればよいですか?

Apache-antに依存するポートを構築しようとしています。

make build-depends-listを実行して、このポートに必要なすべての依存関係を確認できると思いました。

# make build-depends-list
/usr/ports/devel/Apache-ant
/usr/ports/Java/jdk16
/usr/ports/math/gmp

しかし、すべてをインストールした後、ポートには1マイルの長さの依存関係リストがありました。

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

この依存関係リストは失礼な驚きであり、portsのインストールをコミットする前にそれについて知りたいのです。

ポートのすべての依存関係とすべての従属関係を確認するにはどうすればよいですか?

9

あなたはとても近いです。代わりにこれを試してください:

make all-depends-list

それはすべての依存関係を再帰し、それらを出力します。さまざまなビルドシナリオをテストし、それらが依存関係リストにどのように影響するかをテストするには、次のことを試してください。

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

乾杯、グレッグ

17
glarkin

ほとんどの依存関係リストは、一目で解析するのは困難です。私は、helmut @ charlieroot.deによる このラッパースクリプト の使用を好んでいます。

$ 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

引数なしで実行すると、すべてのファイルのすべての依存チェーンが表示されるため、非常に長いリストが生成される可能性があるため、通常、特定のポートに対してのみ実行することをお勧めします。

1
Royce Williams

すべての従属関係も再帰的に取得する必要があります。おそらく ports-mgmt カテゴリにそのためのいくつかのツールがあります...

ポート管理には portmaster(8) を使用しています。ポートをコンパイルしてインストールする前に、常に(サブ)依存関係を収集します。

~> 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
...
1
mschuett

依存するポートをリストするには:

pkg_info -rx "port-name"

必要なポートをリストするには:

pkg_info -Rx "port-name"

-このウェブサイトからの回答: http://daemon-notes.com/tips (Rossに感謝)

1
End User