[Guidelines Change] Changes to the Packaging Guidelines 04/09 - 02/10

Tom "spot" Callaway tcallawa at redhat.com
Wed Mar 3 21:45:42 UTC 2010


It has been almost a year since we announced changes to the Packaging
Guidelines, so this will be a long list. In the future, we'll try to be
more timely in writing up changes and announcing them to the Fedora
Community.

Here are the list of changes to the Fedora Packaging Guidelines:

When selecting which source to download from upstream and use in a
Fedora package, the smallest available (and Fedora compatible) source
should be used:
https://fedoraproject.org/wiki/Packaging/SourceURL#Referencing_Source

The Fortran Packaging Guidelines have been updated:
https://fedoraproject.org/wiki/Packaging:Fortran

The Ant Sample Spec in the Java Packaging Guidelines has been corrected:
https://fedoraproject.org/wiki/Packaging/Java

The R Packaging Guidelines have been updated:
https://fedoraproject.org/wiki/Packaging:R

The Scrollkeeper scriptlets were removed from the Packaging Guidelines:
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scrollkeeper

The Python Packaging Guidelines were significantly rewritten including
changes to address:
* Python 3
* PyGTK2 and Numpy
https://fedoraproject.org/wiki/Packaging:Python

Dos2unix is no longer forbidden when removing DOS line breaks in a file:
https://fedoraproject.org/wiki/Packaging/Guidelines#Rpmlint_Errors

The Packaging Guidelines now contain a lengthy explanation of why
Bundled Libraries are not permitted in Fedora:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

The Packaging Guideline section on dealing with pre-built libraries has
been improved:
https://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries

Fedora packages no longer need to explicitly define a BuildRoot, as RPM
now always defines one:
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag

The Fedora Packaging Guidelines now contain more information on how to
deal with Conflicting Files in scenarios involving "common names":
https://fedoraproject.org/wiki/Packaging:Conflicts#Conflicting_Files

There are now Packaging Guidelines for Wordpress Plugins:
https://fedoraproject.org/wiki/Packaging:WordPress_plugin_packaging_guidelines

There are now Packaging Guidelines for Globus Toolkit components:
https://fedoraproject.org/wiki/Packaging:Globus

Since RPM now detects pkgconfig dependencies in all Fedora releases, it
is no longer necessary for Fedora packages with .pc files to explicitly
Require: pkgconfig :
https://fedoraproject.org/wiki/PackagingGuidelines#Pkgconfig_Files

Fedora packages should contain man pages for all included binaries and
scripts, and if not present, Fedora packagers should work with upstream
to add them:
https://fedoraproject.org/wiki/Packaging:Guidelines#Man_pages

There are now Packaging Guidelines for MPI packages:
https://fedoraproject.org/wiki/Packaging:MPI

There are now Packaging Guidelines for proper usage of Environment Modules:
https://fedoraproject.org/wiki/Packaging:EnvironmentModules

There are now Packaging Guidelines for proper usage of Alternatives:
https://fedoraproject.org/wiki/Packaging:Alternatives

The Packaging Guidelines now have a section covering how to properly
handle filtering of Automatic Provides and Requires:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering

The GConf scriptlets have been rewritten to use macros (and be much
simpler):
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GConf

The Guidelines concerning RPath have been clarified:
https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath

The Guidelines concerning File and Directory ownership have been clarified:
https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Ownership

The Emacs Packaging Guidelines have been changed:
https://fedoraproject.org/wiki/Packaging:Emacs

The PHP Packaging Guidelines have been changed:
https://fedoraproject.org/wiki/Packaging:PHP

The Fedora Packaging Guidelines now contain a section on dealing with
Buildtime Macros in Source RPMS:
https://fedoraproject.org/wiki/Packaging:Guidelines#Source_RPM_Buildtime_Macros

A clarification note has been added to the SourceURL section, reminding
Fedora packagers to use "downloads.sourceforge.net":
https://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net

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

Many thanks to Pierre-Yves Chibon, Remi Collet, Mattias Ellert, Adam
Jackson, Jussi Lehtola, David Malcolm, Till Maas, Bill Nottingham, Orcan
Ogetbil, Rahul Sundaram, Alexey Torkhov, Jonathan Underwood, Ivana
Varekova, Ian Weller, Chris Weyl and all of the members of the FPC and
FESCo, 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:
http://fedoraproject.org/wiki/Packaging/Committee#GuidelineChangeProcedure

Thanks,

~spot


More information about the devel-announce mailing list