พอร์ต 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

แต่หลังจากติดตั้งทุกอย่างแล้วพอร์ตก็มีรายการการพึ่งพาซึ่งมีความยาวหนึ่งไมล์:

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

ไชโยเกร็ก


สวัสดี Greg คุณรู้หรือไม่ว่าเป้าหมายการพิมพ์ที่ขึ้นต่อกันนั้นมีการจัดทำเอกสารไว้ที่ใด มีไฟล์เฉพาะคนหรือไม่? ฉันไม่มีคำถาม ... เพื่อความเข้าใจที่ลึกซึ้งยิ่งขึ้น ขอบคุณ

ไม่เป็นไร. man portsพวกเขาได้รับการบันทึกไว้ใน

1

คุณจะต้องรับส่วนย่อยทั้งหมดซ้ำด้วยซ้ำ อาจมีเครื่องมือบางอย่างสำหรับที่อยู่ในประเภทports-mgmt ...

ฉันใช้พอร์ตมาสเตอร์ (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

รายการพึ่งพาส่วนใหญ่ยากที่จะแยกวิเคราะห์ได้อย่างรวดเร็ว ฉันชอบใช้สคริปต์ wrapper นี้โดย 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 (ขอบคุณ Ross)


ขอบคุณสำหรับคำตอบ อย่างไรก็ตามฉันต้องชี้ให้เห็นว่าpkg_*เครื่องมือเลิกใช้แล้วและแทนที่ด้วยpkgng
Stefan Lasiewski

คำสั่งใช้งานได้; ใน pkgng คุณจะต้องลบเครื่องหมายขีดล่าง:pkg info -Rx 'port-name'
Eric
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.