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


9

に依存するポートを構築しようとしています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

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

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

回答:


17

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

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

乾杯、グレッグ


こんにちはグレッグ、依存関係の印刷ターゲットが文書化されている場所を知っていますか?特定のmanファイルはありますか?質問はありません...理解を深めるためです。ありがとう。

気にしないで。それらはに記載されていman portsます。

1

すべての従属関係も再帰的に取得する必要があります。おそらく、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

ほとんどの依存関係リストは、一目で解析するのが困難です。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

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

pkg_info -rx "port-name"

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

pkg_info -Rx "port-name"

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


ご回答ありがとうございます。しかし、私がいることを指摘する必要があるpkg_*とツールは非推奨と置き換えられたpkgng
ステファンLasiewski

コマンドは機能します。pkgngであなただけのアンダースコアを削除する必要があります:pkg info -Rx 'port-name'
エリック・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.