[Guidelines Change] Changes to the Packaging Guidelines

Tom Callaway tcallawa at redhat.com
Thu Apr 28 16:06:37 UTC 2011

Here are the latest changes to the Fedora Packaging Guidelines:


A new set of guidelines have been written for handling systemd in packages:



A new set of guidelines have been written for packaging Octave packages:


Some clarification was added to the Guidelines section on Macros.
Previously, it said:

"Use macros instead of hard-coded directory names (see
Packaging:RPMMacros )."

Now, that line has been replaced with:

"Packagers are strongly encouraged to use macros instead of hard-coded
directory names (see Packaging:RPMMacros ). However, in situations where
the macro is longer than the path it represents, or situations where the
packager feels it is cleaner to use the actual path, the packager is
permitted to use the actual path instead of the macro. There are several
caveats to this approach:

* The package must be consistent. For any given path, within the same
spec, use either a hard-coded path or a macro, not a combination of the two.
* %{_libdir} must always be used for binary libraries due to multi-lib,
you may not substitute a hard-coded path. "



The Guidelines covering MinGW packaging have been updated for Fedora 16.
The previous guidelines still apply for older Fedora releases (Fedora 15
and older) and all RHEL releases.



The Packaging Guidelines have been updated to allow the use of /run and
to clarify that directory hierarchies not listed in the FHS are not
allowed unless listed in the Packaging Guidelines.



In the past (pre rpm 4.4), it was necessary to have a %defattr section
at the beginning of each %files section, but this is now the default and
no longer necessary to explicitly include.

The guidelines have been updated in numerous places to remove references
to hard-coded %defattr sections.



The Scriptlets for GSettings have been updated to:

if [ $1 -eq 0 ] ; then
     glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :

glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :



These guidelines (and changes) were approved by the Fedora Packaging
Committee (FPC).

Many thanks to Christopher Aillon, Richard W. M. Jones, Erik van
Pienbroek, Lennart Poettering, Orion Poplawski, Julian Sikorski, and all
of the members of the FPC, for assisting in drafting, refining, and
passing these guidelines.

As a reminder: The Fedora Packaging Guidelines are living documents! If
you find something missing, incorrect, or in need of revision, you can
suggest a draft change. The procedure for this is documented here:



More information about the devel-announce mailing list