Portbaum mit virtuellen Kategorien erstellen
Im FreeBSD Portbaum werden die Port-Kategorien durch Verzeichnisse dargestellt. Daneben werden bestimmte Ports auch in virtuelle Kategorien eingeteilt. So werden zum Beispiel alle Ports welche ein Kernelmodul installieren, in die virtuelle Kategorie kld eingeteilt. Für virtuelle Kategorien ist im Portbaum kein Verzeichnis vorhanden. Mit Hilfe von symports kann ein Portbaum erstellt werden, in welchem auch virtuelle Kategorien durch Verzeichnisse dargestellt werden:
# cd /usr/ports/ports-mgmt/symports && make install clean
Führt man symports aus, wird im aktuellen Verzeichnis der neue Portbaum erstellt:
# symports accessibility/accerciser: accessibility/at-poke: accessibility/at-spi: [...] x11-wm/xfce4-session: x11-wm/xfce4-wm: x11-wm/xmonad: x11-wm/xmonad-contrib:
Darin sind nun alle Kategorien verfügbar:
# ls accessibility/ elisp/ java/ parallel/ tcl/ afterstep/ emulators/ kde/ pear/ textproc/ arabic/ finance/ kld/ perl5/ tk/ archivers/ french/ korean/ plan9/ ukrainian/ astro/ ftp/ lang/ polish/ vietnamese/ audio/ games/ linux/ ports-mgmt/ windowmaker/ benchmarks/ geography/ lisp/ portuguese/ www/ biology/ german/ mail/ print/ x11/ cad/ gnome/ math/ python/ x11-clocks/ chinese/ gnustep/ mbone/ ruby/ x11-drivers/ comms/ graphics/ misc/ rubygems/ x11-fm/ converters/ hamradio/ multimedia/ russian/ x11-fonts/ databases/ haskell/ net/ scheme/ x11-servers/ deskutils/ hebrew/ net-im/ science/ x11-themes/ devel/ hungarian/ net-mgmt/ security/ x11-toolkits/ dns/ ipv6/ net-p2p/ shells/ x11-wm/ docs/ irc/ news/ spanish/ xfce/ editors/ japanese/ palm/ sysutils/ zope/
In den jeweiligen Verzichnis sind nun alle Ports dieser Kategorie mit einem symbolischen Link auf den Port im Portbaum dargestellt:
# cd kld # ls -l total 0 lrwxr-xr-x 1 root wheel 21 25 Jun 23:38 acx100-net@ -> /usr/ports/net/acx100 lrwxr-xr-x 1 root wheel 28 25 Jun 23:26 aureal-kmod-audio@ -> /usr/ports/audio/aureal-kmod lrwxr-xr-x 1 root wheel 28 25 Jun 23:42 biosfont-sysutils@ -> /usr/ports/sysutils/biosfont lrwxr-xr-x 1 root wheel 31 25 Jun 23:27 bluez-firmware-comms@ -> /usr/ports/comms/bluez-firmware lrwxr-xr-x 1 root wheel 32 25 Jun 23:38 bwi-firmware-kmod-net@ -> /usr/ports/net/bwi-firmware-kmod lrwxr-xr-x 1 root wheel 26 25 Jun 23:38 cx88-multimedia@ -> /usr/ports/multimedia/cx88 lrwxr-xr-x 1 root wheel 26 25 Jun 23:42 devcpu-sysutils@ -> /usr/ports/sysutils/devcpu lrwxr-xr-x 1 root wheel 24 25 Jun 23:26 emu10kx-audio@ -> /usr/ports/audio/emu10kx lrwxr-xr-x 1 root wheel 23 25 Jun 23:42 est-sysutils@ -> /usr/ports/sysutils/est [...]
Mehr Informationen zu symports findet man in der Manpage symports(1).