BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

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).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink