How to use and edit comps.xml for package groups

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Add some more docs.)
Line 26: Line 26:
 
* <code>default</code> are, but can be unchecked in a gui tool
 
* <code>default</code> are, but can be unchecked in a gui tool
 
* <code>required</code> are always brought in (if group is selected)
 
* <code>required</code> are always brought in (if group is selected)
 +
* <code>conditional</code> are brought in if their <code>requires</code> package is installed
  
 
Usually optional is the way, however if you feel that your package deserves a default or required level bring it up for discussion on fedora-devel-list.  Remember that this has effect on whether or not your package winds up on distribution media such as Live images and spins.
 
Usually optional is the way, however if you feel that your package deserves a default or required level bring it up for discussion on fedora-devel-list.  Remember that this has effect on whether or not your package winds up on distribution media such as Live images and spins.
 
  
 
== Package selection ==
 
== Package selection ==
  
In general, it's going to be
+
* If your app will show up in the application menu of the desktop, it should be included
applications which show up in the menus somewhere.  Libraries should
+
* Libraries should not be included - they will be pulled in via dependencies
almost *never* be explicitly listed and instead pulled in via
+
* Most text-mode utilities don't really fit in unless they have a pretty large established user-base.
dependencies.  Also, most text-mode utilities don't really fit in unless
+
 
they have a pretty large established user-base. Given that the primary
+
If you have questions as to whether it makes sense or not, feel free to post to fedora-devel-list.
use is with a GUI, selecting a lot of text-mode things make little
+
 
sense.  If you have questions as to whether it makes sense or not, feel
+
Some guidelines on specific groups in comps follows.
free to post to fedora-devel-list.
+
 
 +
=== Core ===
 +
 
 +
Core is not visible, so adding 'default' or 'optional' packages to it isn't needed. bootloaders are listed as 'default' in the group so that they're pulled in by compose tools.
 +
 
 +
=== [[SIGs/Desktop | GNOME Desktop ]] ===
 +
 
 +
The gnome-desktop group is maintained by the [[SIGs/Desktop | Desktop SIG]]. Please run changes through fedora-desktop-list.
 +
 
 +
=== [[SIGs/KDE | KDE Desktop ]] ===
 +
 
 +
The kde-desktop group is maintained by the [[SIGs/KDE | KDE SIG]]. Please run changes by them.
  
 
=== [[:Category:Fonts | Fonts]] ===
 
=== [[:Category:Fonts | Fonts]] ===

Revision as of 17:44, 29 October 2008

If you maintain an application which makes sense for a user to select during installation, check out the comps module and make sure that your package is listed in a reasonable group in the comps-fn.xml.in files (n = number of release; note the files for Fedora Extras ≤ 6 are named comps-fen.xml.in). If it's not, please add it using the following as a template if your package were named "foo":

<packagereq type="optional">foo</packagereq>

  • Make sure to preserve the alphabetical order in each group.
  • Make sure to run xmllint on the result to check you didn't make a mistake in the XML syntax.

You can use the provided xslt filter to sort, indent and check the syntax of your comps file in one run:

$ xsltproc --novalid -o sorted-file comps-cleanup.xsl original-file

The filter will warn you if it removes redundant information or if something needs to be checked by a human.

If you think there needs to be a new group, please post on fedora-devel-list.


Contents

Some background

There are three levels of packages: optional, default, and required

  • optional are not automatic
  • default are, but can be unchecked in a gui tool
  • required are always brought in (if group is selected)
  • conditional are brought in if their requires package is installed

Usually optional is the way, however if you feel that your package deserves a default or required level bring it up for discussion on fedora-devel-list. Remember that this has effect on whether or not your package winds up on distribution media such as Live images and spins.

Package selection

  • If your app will show up in the application menu of the desktop, it should be included
  • Libraries should not be included - they will be pulled in via dependencies
  • Most text-mode utilities don't really fit in unless they have a pretty large established user-base.

If you have questions as to whether it makes sense or not, feel free to post to fedora-devel-list.

Some guidelines on specific groups in comps follows.

Core

Core is not visible, so adding 'default' or 'optional' packages to it isn't needed. bootloaders are listed as 'default' in the group so that they're pulled in by compose tools.

GNOME Desktop

The gnome-desktop group is maintained by the Desktop SIG. Please run changes through fedora-desktop-list.

KDE Desktop

The kde-desktop group is maintained by the KDE SIG. Please run changes by them.

Fonts

A page of the Fonts Special Interest Group

The following is part of the Fonts SIG packaging rules.


Fonts for a particular linguistic region used to be bundled in fonts-region packages. Nowadays this practice is frowned upon, fonts package naming reflects upstream naming like in any other Fedora package, and grouping is achieved through comps groups.

  • Font packages in a legacy format (not TTF or OTF) MUST be registered in the legacy-fonts group.
  • Font packages in a non-legacy format (TTF or OTF):
    1. MUST be registered in the fonts group:
      • except when they don't have an active upstream, in which case putting them in legacy-fonts is fine.
    2. SHOULD also be registered in every applicable xxx-support localization group:
      • except groups that only require glyphs in the basic latin range.
      • if a font package adds support for a script previously not supported by Fedora the associated localization groups MUST be created and filed, and the relevant localization teams notified.
    3. SHOULD be declared optional, unless:
      • they add support for a new script, in which case they MUST be declared required in the associated localization groups.
      • they add better support for already supported scripts, in which case, if the localization team in charge of each localization group agrees:
        • they can replace existing fonts as mandatory if this script is not covered by distribution-wide default fonts.
        • they can replace existing fonts as default if this script is covered by distribution-wide default fonts.



Idea.png
Fonts in Fedora
The Fonts SIG takes loving care of Fedora fonts. Please join this special interest group if you are interested in creating, improving, packaging, or just suggesting a font. Any help will be appreciated.

How it works

Checkout the comps CVS module:

cvs -d :ext:<username>@cvs.fedoraproject.org:/cvs/pkgs co comps

then edit the proper comps-f<x>.xml.in file and commit your changes.

Please make sure to run cvs update right before cvs commit to avoid overwriting other people's changes as much as possible

Current status

You can check our current comps status file there.