BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

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

 Permalink