From Fedora Project Wiki
Comps.xml
Draft!
The comps file adds meta data information to the repository that cannot be extracted from the packages themselves. Although there is one big tree of items there are several different functions merged into it. The structure of comps looks like this:
- category
- id
- name (translated string)
- displayorder (int)
- grouplist (groupids)
- group
- id
- name (translated string)
- description (translated string)
- display_order (int)
- default (bool)
- user visible (bool)
- langonly (two letter lang code)
- package list
- conditional
- mandatory
- default
- optionals
Anaconda magic:
- whiteout
- requires, pacakge
- blacklist
- packagename, arch
So there is a tree with fixed depth: Categories -> Groups -> optional packages.
Categories (7) and groups (~70) in Fedora 14 (without language groups (~130)):
- language-support
- *-support
- desktops
- gnome-desktop
- kde-desktop
- lxde-desktop
- moblin-desktop
- sugar-desktop
- window-managers
- xfce-desktop
- apps
- authoring-and-publishing
- editors
- education
- engineering-and-scientific
- font-design
- games
- graphical-internet
- graphics
- office
- sound-and-video
- text-internet
- development
- development-libs
- development-tools
- eclipse
- electronic-lab
- fedora-packager
- gnome-software-development
- haskell
- java-development
- kde-software-development
- legacy-software-development
- mingw32
- ocaml
- openoffice.org-development
- perl
- ruby
- web-development
- x-software-development
- xfce-software-development
- servers
- clustering
- directory-server
- dns-server
- ftp-server
- legacy-network-server
- mail-server
- mysql
- network-server
- news-server
- printing
- server-cfg
- smb-server
- sql-server
- web-server
- base-system
- admin-tools
- base
- base-x
- dial-up
- fonts
- hardware-support
- input-methods
- java
- legacy-fonts
- legacy-software-support
- system-tools
- virtualization
- content
- books