Cheap website hosting service by Active-Venture.com
  

Cheap Domain Name -
Cheap domain registration and domain transfer  service from just
$8.50/year only

 

Cheap Domain Name Registration -
Cheap domain name registration and transfer by Cheap Domain Name Registrar.

 Back to Index

5.3 Categorization

5.3.1 CATEGORIES

When a package is created, it is put under /usr/ports/packages/All and links are made from one or more subdirectories of /usr/ports/packages. The names of these subdirectories are specified by the variable CATEGORIES. It is intended to make life easier for the user when he is wading through the pile of packages on the FTP site or the CDROM. Please take a look at the existing categories and pick the ones that are suitable for your port.

This list also determines where in the ports tree the port is imported. If you put more than one category here, it is assumed that the port files will be put in the subdirectory with the name in the first category. See the categories section for more discussion about how to pick the right categories.

If your port truly belongs to something that is different from all the existing ones, you can even create a new category name. In that case, please send mail to the FreeBSD ports mailing list to propose a new category. However, in general, until there are more than a handful of ports which could be reclassified into the category you propose, you will probably be turned down.

Note: Occasionally someone proposes reorganizing the categories with either a 2-level structure, or some other kind of keyword structure. To date, nothing has come of any of these proposals because, while they are very easy to make, the effort involved to retrofit the entire existing ports collection with any kind of reorganization is daunting to say the very least. Please read the history of these proposals in the mailing list archives before you post this idea; furthermore, you should be prepared to be challenged to offer a working prototype.

5.3.2 Current list of categories

Here is the current list of port categories. Those marked with an asterisk (*) are virtual categories--those that do not have a corresponding subdirectory in the ports tree. They are only used as secondary categories, and only for search purposes.

Note: For non-virtual categories, you will find a one-line description in the pkg/COMMENT file in that subdirectory (e.g., archivers/pkg/COMMENT).

Category Description Notes
accessibility Ports to help disabled users.  
afterstep* Ports to support the AfterStep window manager.  
arabic Arabic language support.  
archivers Archiving tools.  
astro Astronomical ports.  
audio Sound support.  
benchmarks Benchmarking utilities.  
biology Biology-related software.  
cad Computer aided design tools.  
chinese Chinese language support.  
comms Communication software. Mostly software to talk to your serial port.
converters Character code converters.  
databases Databases.  
deskutils Things that used to be on the desktop before computers were invented.  
devel Development utilities. Do not put libraries here just because they are libraries--unless they truly do not belong anywhere else, they should not be in this category.
dns DNS-related software.  
editors General editors. Specialized editors go in the section for those tools (e.g., a mathematical-formula editor will go in math).
elisp* Emacs-lisp ports.  
emulators Emulators for other operating systems. Terminal emulators do not belong here--X-based ones should go to x11 and text-based ones to either comms or misc, depending on the exact functionality.
finance Monetary, financial and related applications.  
french French language support.  
ftp FTP client and server utilities. If your port speaks both FTP and HTTP, put it in ftp with a secondary category of www.
games Games.  
german German language support.  
gnome* Ports from the GNOME Project.  
graphics Graphics utilities.  
haskell* Software related to the Haskell language.  
hebrew Hebrew language support.  
hungarian Hungarian language support.  
ipv6* IPv6 related software.  
irc Internet Relay Chat utilities.  
japanese Japanese language support.  
java Software related to the Java language.  
kde* Ports from the K Desktop Environment (KDE) Project.  
korean Korean language support.  
lang Programming languages.  
linux* Linux applications and support utilities.  
lisp* Software related to the Lisp language.  
mail Mail software.  
math Numerical computation software and other utilities for mathematics.  
mbone MBone applications.  
misc Miscellaneous utilities Basically things that do not belong anywhere else. This is the only category that should not appear with any other non-virtual category. If you have misc with something else in your CATEGORIES line, that means you can safely delete misc and just put the port in that other subdirectory! If at all possible, try to find a better category for your port than misc, as ports tend to get overlooked in here.
multimedia Multimedia software.  
net Miscellaneous networking software.  
net-mgmt Networking management software.  
news USENET news software.  
offix* Ports from the OffiX suite.  
palm Software support for the Palm™ series.  
parallel* Applications dealing with parallelism in computing.  
pear* Ports related to the Pear PHP framework.  
perl5* Ports that require Perl version 5 to run.  
picobsd Ports to support PicoBSD.  
plan9* Various programs from Plan9.  
polish Polish language support.  
portuguese Portuguese language support.  
print Printing software. Desktop publishing tools (previewers, etc.) belong here too.
python* Software related to the Python language.  
ruby* Software related to the Ruby language.  
russian Russian language support.  
science Scientific ports that do not fit into other categories such as astro, biology and math.  
security Security utilities.  
shells Command line shells.  
sysutils System utilities.  
tcl76* Ports that use Tcl version 7.6 to run.  
tcl80* Ports that use Tcl version 8.0 to run.  
tcl81* Ports that use Tcl version 8.1 to run.  
tcl82* Ports that use Tcl version 8.2 to run.  
tcl83* Ports that use Tcl version 8.3 to run.  
textproc Text processing utilities. It does not include desktop publishing tools, which go to print.
tk42* Ports that use Tk version 4.2 to run.  
tk80* Ports that use Tk version 8.0 to run.  
tk81* Ports that use Tk version 8.1 to run.  
tk82* Ports that use Tk version 8.2 to run.  
tk83* Ports that use Tk version 8.3 to run.  
tkstep80* Ports that use TkSTEP version 8.0 to run.  
ukrainian Ukrainian language support.  
vietnamese Vietnamese language support.  
windowmaker* Ports to support the WindowMaker window manager.  
www Software related to the World Wide Web. HTML language support belongs here too.
x11 The X Window System and friends. This category is only for software that directly supports the window system. Do not put regular X applications here; most of them should go into other x11-* categories (see below). If your port is an X application, define USE_XLIB (implied by USE_IMAKE) and put it in the appropriate category.
x11-clocks X11 clocks.  
x11-fm X11 file managers.  
x11-fonts X11 fonts and font utilities.  
x11-servers X11 servers.  
x11-toolkits X11 toolkits.  
x11-wm X11 window managers.  
zope* Zope support.  

5.3.3 Choosing the right category

As many of the categories overlap, you often have to choose which of the categories should be the primary category of your port. There are several rules that govern this issue. Here is the list of priorities, in decreasing order of precedence:

  • Language specific categories always come first. For example, if your port installs Japanese X11 fonts, then your CATEGORIES line would read japanese x11-fonts.

  • Specific categories win over less-specific ones. For instance, an HTML editor should be listed as www editors, not the other way around. Also, you should not list net when the port belongs to any of irc, mail, mbone, news, security, or www, as net is included implicitly.

  • x11 is used as a secondary category only when the primary category is a natural language. In particular, you should not put x11 in the category line for X applications.

  • Emacs modes should be placed in the same ports category as the application supported by the mode, not in editors. For example, an Emacs mode to edit source files of some programming language should go into lang.

  • If your port truly does not belong anywhere else, put it in misc.

If you are not sure about the category, please put a comment to that effect in your send-pr(1) submission so we can discuss it before we import it. If you are a committer, send a note to the FreeBSD ports mailing list so we can discuss it first. Too often, new ports are imported to the wrong category only to be moved right away. This causes unnecessary and undesirable bloat in the master source repository.

 

  

 

 

© 2002-2004 Active-Venture.com Website Hosting Service

 

Disclaimer: This documentation is provided only for the benefits of our website hosting customers.
For authoritative source of the documentation, please refer to http://www.freebsd.org