Abhängigkeiten eines Portes als Baum anzeigen
Mit Hilfe von porttree können die Abhängigkeiten eines Portes graphisch als Baum dargestellt werden. Im FreeBSD-Portbaum findet man porttree unter ports-mgmt/porttree:
# cd /usr/ports/ports-mgmt/porttree && make install clean
Mit der -A Option werden alle Ports aufgelistet, welche für das Bauen und das Ausführen des angegebenen Portes benötigt werden. Mit der -R Option werden alle Ports aufgelistet, welchen den angegebenen Port als Abhängigkeit haben. Folgendes Beispiel zeigt alle Abhängigkeiten von Firefox:
# porttree -A -R www/firefox /usr/ports/accessibility /usr/ports/arabic /usr/ports/archivers /usr/ports/astro [...] /usr/ports/x11-toolkits /usr/ports/x11-wm Depending on 0 +www/firefox 1 ++accessibility/atk 2 |++devel/gettext 3 ||++converters/libiconv 4 |||`devel/libtool ||`devel/libtool -> 4 5 |++devel/gio-fam-backend 6 ||++devel/gamin |||++devel/gettext -> 2 7 |||++devel/glib20 ||||++devel/gettext -> 2 8 ||||++devel/gmake |||||`+devel/gettext -> 2 ||||+devel/libtool -> 4 9 ||||+devel/pcre 10 ||||++devel/pkg-config |||||`+devel/gmake -> 8 11 ||||+lang/perl5.10 12 ||||`lang/python26 |||++devel/gmake -> 8 |||+devel/libtool -> 4 |||`+devel/pkg-config -> 10 ||++devel/glib20 -> 7 ||++devel/gmake -> 8 ||`+devel/pkg-config -> 10 |++devel/glib20 -> 7 |++devel/gmake -> 8 13 |++devel/gobject-introspection 14 ||++devel/bison |||++devel/gettext -> 2 15 |||`devel/m4 ||++devel/gettext -> 2 ||++devel/gio-fam-backend -> 5 ||++devel/glib20 -> 7 ||++devel/gmake -> 8 16 ||++devel/libffi |||`+devel/pkg-config -> 10 ||+devel/libtool -> 4 ||++devel/pkg-config -> 10 17 ||++graphics/cairo |||++devel/gio-fam-backend -> 5 |||++devel/glib20 -> 7 |||+devel/libtool -> 4 |||++devel/pkg-config -> 10 18 |||+graphics/png 19 |||++print/freetype2 ||||++devel/gmake -> 8 ||||+devel/libtool -> 4 ||||`+devel/pkg-config -> 10 20 |||++x11-fonts/fontconfig ||||++devel/gmake -> 8 ||||+devel/libtool -> 4 ||||++devel/pkg-config -> 10 ||||++print/freetype2 -> 19 21 ||||`textproc/expat2 22 |||++x11/libXrender ||||++devel/pkg-config -> 10 23 ||||++x11/libX11 |||||++devel/pkg-config -> 10 24 |||||+devel/xorg-macros 25 |||||+x11-fonts/xf86bigfontproto 26 |||||+x11/bigreqsproto 27 |||||+x11/inputproto 28 |||||+x11/kbproto 29 |||||++x11/libXau ||||||++devel/pkg-config -> 10 30 ||||||`+x11/xproto |||||| `+devel/pkg-config -> 10 31 |||||++x11/libXdmcp ||||||++devel/pkg-config -> 10 ||||||`+x11/xproto -> 30 32 |||||++x11/libxcb ||||||++devel/gmake -> 8 33 ||||||++devel/libcheck |||||||`+devel/gmake -> 8 34 ||||||++devel/libpthread-stubs |||||||++devel/gmake -> 8 |||||||`+devel/pkg-config -> 10 ||||||+lang/python26 -> 12 35 ||||||++textproc/libxslt |||||||++devel/gmake -> 8 |||||||++devel/pkg-config -> 10 36 |||||||++security/libgcrypt ||||||||+devel/libtool -> 4 37 ||||||||`+security/libgpg-error |||||||| ++converters/libiconv -> 3 |||||||| ++devel/gettext -> 2 |||||||| `devel/libtool -> 4 38 |||||||`+textproc/libxml2 ||||||| ++converters/libiconv -> 3 ||||||| ++devel/gmake -> 8 ||||||| `+devel/pkg-config -> 10 ||||||++x11/libXau -> 29 ||||||++x11/libXdmcp -> 31 39 ||||||`+x11/xcb-proto |||||| +lang/python26 -> 12 |||||| `+textproc/libxml2 -> 38 40 |||||+x11/xcmiscproto 41 |||||+x11/xextproto |||||++x11/xproto -> 30 42 |||||`+x11/xtrans ||||| `+devel/pkg-config -> 10 43 ||||+x11/renderproto ||||`+x11/xproto -> 30 44 |||++x11/pixman ||||+devel/libtool -> 4 ||||++devel/pkg-config -> 10 ||||`lang/perl5.10 -> 11 45 |||`+x11/xcb-util ||| ++devel/gmake -> 8 46 ||| +devel/gperf ||| +devel/libtool -> 4 ||| ++x11/libXau -> 29 ||| ++x11/libXdmcp -> 31 ||| `+x11/libxcb -> 32 ||`lang/python26 -> 12 |+devel/libtool -> 4 |`+devel/pkg-config -> 10 47 +archivers/unzip 48 ++archivers/zip |`archivers/unzip -> 47 ++converters/libiconv -> 3 49 ++devel/autoconf213 50 |+devel/autoconf-wrapper |+devel/m4 -> 15 |`lang/perl5.10 -> 11 51 ++devel/dbus-glib 52 |++devel/dbus ||++devel/gmake -> 8 ||+devel/libtool -> 4 ||++devel/pkg-config -> 10 53 ||+sysutils/gnome_subr ||+textproc/expat2 -> 21 ||++textproc/libxml2 -> 38 54 ||++x11/libICE |||++devel/pkg-config -> 10 |||++x11/xproto -> 30 |||`+x11/xtrans -> 42 55 ||++x11/libSM |||++devel/pkg-config -> 10 |||+devel/xorg-macros -> 24 |||++x11/libICE -> 54 |||++x11/xproto -> 30 |||`+x11/xtrans -> 42 ||`+x11/libX11 -> 23 |++devel/gettext -> 2 |++devel/gio-fam-backend -> 5 |++devel/glib20 -> 7 |++devel/gmake -> 8 |+devel/libtool -> 4 |`+devel/pkg-config -> 10 56 ++devel/desktop-file-utils |++devel/gettext -> 2 |++devel/gio-fam-backend -> 5 |++devel/glib20 -> 7 |++devel/gmake -> 8 |`+devel/pkg-config -> 10 ++devel/gio-fam-backend -> 5 ++devel/glib20 -> 7 ++devel/gmake -> 8 57 ++devel/libIDL |++devel/bison -> 14 |++devel/gettext -> 2 |++devel/gio-fam-backend -> 5 |++devel/glib20 -> 7 |++devel/gmake -> 8 |`+devel/pkg-config -> 10 58 +devel/libevent 59 +devel/libexecinfo 60 ++devel/libnotify |++accessibility/atk -> 1 |++devel/gettext -> 2 |++devel/gio-fam-backend -> 5 |++devel/glib20 -> 7 |++devel/gmake -> 8 |++devel/gobject-introspection -> 13 |+devel/libtool -> 4 |++devel/pkg-config -> 10 61 |++textproc/intltool ||++converters/libiconv -> 3 ||++devel/gmake -> 8 ||+lang/perl5.10 -> 11 62 ||`+textproc/p5-XML-Parser || +lang/perl5.10 -> 11 || `textproc/expat2 -> 21 63 |++x11-toolkits/gtk20 ||++accessibility/atk -> 1 ||++devel/gettext -> 2 ||++devel/gio-fam-backend -> 5 ||++devel/glib20 -> 7 ||++devel/gmake -> 8 ||++devel/gobject-introspection -> 13 ||+devel/libtool -> 4 ||++devel/pkg-config -> 10 64 ||++graphics/gdk-pixbuf2 |||++devel/gio-fam-backend -> 5 |||++devel/glib20 -> 7 |||++devel/gmake -> 8 |||++devel/gobject-introspection -> 13 |||+devel/libtool -> 4 |||++devel/pkg-config -> 10 65 |||++graphics/jasper ||||+archivers/unzip -> 47 ||||+devel/libtool -> 4 66 ||||`+graphics/jpeg |||| `devel/libtool -> 4 |||++graphics/jpeg -> 66 |||+graphics/png -> 18 67 |||++graphics/tiff ||||+devel/libtool -> 4 68 ||||+graphics/jbigkit ||||`+graphics/jpeg -> 66 69 |||++x11-toolkits/libXt ||||++devel/pkg-config -> 10 ||||+x11/kbproto -> 28 ||||++x11/libSM -> 55 ||||++x11/libX11 -> 23 ||||`+x11/xproto -> 30 |||++x11/libX11 -> 23 70 |||`+x11/libXi ||| ++devel/pkg-config -> 10 ||| +x11/inputproto -> 27 ||| ++x11/libX11 -> 23 71 ||| ++x11/libXext ||| |++devel/pkg-config -> 10 ||| |++x11/libX11 -> 23 ||| |++x11/libXau -> 29 ||| |+x11/xextproto -> 41 ||| |`+x11/xproto -> 30 ||| +x11/xextproto -> 41 ||| `+x11/xproto -> 30 72 ||++graphics/gtk-update-icon-cache |||++accessibility/atk -> 1 |||++devel/gettext -> 2 |||++devel/gio-fam-backend -> 5 |||++devel/glib20 -> 7 |||++devel/gmake -> 8 |||++devel/gobject-introspection -> 13 |||+devel/libtool -> 4 |||++devel/pkg-config -> 10 |||++graphics/gdk-pixbuf2 -> 64 |||+lang/perl5.10 -> 11 73 |||+misc/hicolor-icon-theme 74 |||++misc/shared-mime-info ||||++devel/gettext -> 2 ||||++devel/gio-fam-backend -> 5 ||||++devel/glib20 -> 7 ||||++devel/gmake -> 8 ||||++devel/pkg-config -> 10 ||||++textproc/intltool -> 61 ||||`+textproc/libxml2 -> 38 75 |||++x11-toolkits/pango ||||++devel/gettext -> 2 ||||++devel/gio-fam-backend -> 5 ||||++devel/glib20 -> 7 ||||++devel/gmake -> 8 ||||++devel/gobject-introspection -> 13 ||||+devel/libtool -> 4 ||||++devel/pkg-config -> 10 ||||++graphics/cairo -> 17 ||||++print/freetype2 -> 19 76 ||||++x11-fonts/encodings 77 |||||++x11-fonts/bdftopcf ||||||++devel/pkg-config -> 10 78 ||||||`+x11-fonts/libXfont |||||| ++devel/pkg-config -> 10 |||||| ++print/freetype2 -> 19 79 |||||| +x11-fonts/fontsproto 80 |||||| ++x11-fonts/libfontenc |||||| |++devel/pkg-config -> 10 |||||| |`+x11/xproto -> 30 |||||| ++x11/xproto -> 30 |||||| `+x11/xtrans -> 42 81 |||||+x11-fonts/font-util 82 |||||`+x11-fonts/mkfontscale ||||| ++devel/pkg-config -> 10 ||||| ++print/freetype2 -> 19 ||||| ++x11-fonts/libfontenc -> 80 ||||| `+x11/xproto -> 30 83 ||||++x11-fonts/libXft |||||++devel/pkg-config -> 10 |||||++print/freetype2 -> 19 |||||++x11-fonts/fontconfig -> 20 |||||++x11/libXrender -> 22 |||||`+x11/xproto -> 30 84 ||||++x11-fonts/xorg-fonts-truetype 85 |||||++x11-fonts/bitstream-vera ||||||`+x11-fonts/fontconfig -> 20 |||||++x11-fonts/encodings -> 76 86 |||||++x11-fonts/font-bh-ttf ||||||++devel/pkg-config -> 10 ||||||++x11-fonts/fontconfig -> 20 87 ||||||++x11-fonts/mkfontdir |||||||++devel/pkg-config -> 10 |||||||`+x11-fonts/mkfontscale -> 82 ||||||`+x11-fonts/mkfontscale -> 82 88 |||||++x11-fonts/font-misc-ethiopic ||||||++devel/pkg-config -> 10 ||||||++x11-fonts/fontconfig -> 20 ||||||++x11-fonts/mkfontdir -> 87 ||||||`+x11-fonts/mkfontscale -> 82 89 |||||`+x11-fonts/font-misc-meltho ||||| ++devel/pkg-config -> 10 ||||| ++x11-fonts/fontconfig -> 20 ||||| ++x11-fonts/mkfontdir -> 87 ||||| `+x11-fonts/mkfontscale -> 82 ||||`+x11/libXrender -> 22 |||++x11/libX11 -> 23 90 |||++x11/libXcomposite ||||++devel/pkg-config -> 10 91 ||||+x11/compositeproto 92 ||||+x11/fixesproto ||||++x11/libX11 -> 23 ||||++x11/libXext -> 71 93 ||||++x11/libXfixes |||||++devel/pkg-config -> 10 |||||+x11/fixesproto -> 92 |||||++x11/libX11 -> 23 |||||+x11/xextproto -> 41 |||||`+x11/xproto -> 30 ||||`+x11/xproto -> 30 94 |||++x11/libXcursor ||||++devel/pkg-config -> 10 ||||+x11/fixesproto -> 92 ||||++x11/libX11 -> 23 ||||++x11/libXfixes -> 93 ||||++x11/libXrender -> 22 ||||+x11/xextproto -> 41 ||||`+x11/xproto -> 30 95 |||++x11/libXdamage ||||++devel/pkg-config -> 10 96 ||||+x11/damageproto ||||+x11/fixesproto -> 92 ||||++x11/libX11 -> 23 ||||++x11/libXfixes -> 93 ||||+x11/xextproto -> 41 ||||`+x11/xproto -> 30 |||++x11/libXext -> 71 |||++x11/libXfixes -> 93 |||++x11/libXi -> 70 97 |||++x11/libXinerama ||||+devel/libtool -> 4 ||||++devel/pkg-config -> 10 ||||++x11/libX11 -> 23 ||||++x11/libXext -> 71 ||||+x11/xextproto -> 41 98 ||||`x11/xineramaproto 99 |||++x11/libXrandr ||||++devel/pkg-config -> 10 ||||++x11/libX11 -> 23 ||||++x11/libXext -> 71 ||||++x11/libXrender -> 22 100 ||||+x11/randrproto ||||+x11/renderproto -> 43 ||||+x11/xextproto -> 41 ||||`+x11/xproto -> 30 |||`+x11/libXrender -> 22 ||+lang/perl5.10 -> 11 ||+misc/hicolor-icon-theme -> 73 ||++misc/shared-mime-info -> 74 101 ||++print/cups-client |||`+devel/gmake -> 8 ||++x11-toolkits/pango -> 75 ||++x11/libX11 -> 23 ||++x11/libXcomposite -> 90 ||++x11/libXcursor -> 94 ||++x11/libXdamage -> 95 ||++x11/libXext -> 71 ||++x11/libXfixes -> 93 ||++x11/libXi -> 70 ||++x11/libXinerama -> 97 ||++x11/libXrandr -> 99 ||`+x11/libXrender -> 22 |`+x11-toolkits/pango -> 75 102 ++devel/nspr |`+devel/gmake -> 8 ++devel/pkg-config -> 10 103 ++devel/yasm |++converters/libiconv -> 3 |`+devel/gettext -> 2 ++graphics/cairo -> 17 104 ++graphics/libGL |++devel/gmake -> 8 105 |++devel/makedepend ||++devel/pkg-config -> 10 ||`+x11/xproto -> 30 106 |++graphics/libdrm ||`+devel/libpthread-stubs -> 34 |+textproc/expat2 -> 21 107 |+x11/dri2proto 108 |+x11/glproto |++x11/libX11 -> 23 |++x11/libXdamage -> 95 |++x11/libXext -> 71 |++x11/libXfixes -> 93 109 |`+x11/libXxf86vm | ++devel/pkg-config -> 10 | ++x11/libX11 -> 23 | ++x11/libXext -> 71 | +x11/xextproto -> 41 110 | +x11/xf86vidmodeproto | `+x11/xproto -> 30 +lang/perl5.10 -> 11 ++textproc/intltool -> 61 ++x11-toolkits/gtk20 -> 63 ++x11-toolkits/libXt -> 69 ++x11-toolkits/pango -> 75 ++x11/libICE -> 54 ++x11/libSM -> 55 ++x11/libX11 -> 23 ++x11/libXext -> 71 ++x11/libXi -> 70 ++x11/libXinerama -> 97 111 +x11/printproto `+x11/xproto -> 30 Required by: 0 +www/firefox 1 +german/bsdforen-firefox-searchplugin 2 +german/bsdgroup-firefox-searchplugin 3 `www/firefox-i18n
Auch können nur gewisse Abhängigkeiten abgefragt werden. Die -f Option zeigt nur die Abhängigkeiten welche zum Herunterladen des Quellcodes gebraucht werden, die -e Option jene die zum Auspacken des Quellcodes verwendet werden, die -p Option die Patch-Abhängigkeiten, die -b Option alle Ports die zum Bauen gebraucht werden, die -l Optionen alle Ports die aufgrund ihrer Libraries verwendet werden und mit der -r Option alle Ports die zum Ausführen benötigt werden.
Folgendes Beispiel zeigt alle Abhängigkeiten die zum Bauen von LLVM gebraucht werden:
# porttree -A -R -b devel/llvm /usr/ports/accessibility /usr/ports/arabic [...] /usr/ports/x11-themes /usr/ports/x11-toolkits /usr/ports/x11-wm Depending on 0 +devel/llvm 1 +devel/gmake 2 `lang/perl5.10 Required by: 0 +devel/llvm 1 +graphics/opengtl 2 +lang/clang 3 +lang/ldc-devel 4 +lang/llvm-gcc4 5 `lang/pure
Mehr Informationen und alle Optionen von porttree findet man in der Manpage porttree(1).