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

모든 하위 종속성도 재귀 적으로 가져와야합니다. 아마도 포트 -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 (로스에게 감사)


답변 주셔서 감사합니다. 그러나 pkg_*도구가 더 이상 사용되지 않고 pkgng
Stefan Lasiewski

명령이 작동합니다. pkgng에서는 밑줄 만 제거하면됩니다.pkg info -Rx 'port-name'
Eric
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.