[Guidelines Change] Changes to the Packaging Guidelines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There have been quite a few approved changes to the Fedora Packaging
Guidelines since the previous announcement, but this is mostly because I
have not had time to actually apply the approved updates to the wiki
until recently. These updates actually were approved over a period of
several months. I will try harder to get updates written up and
announced in a more timely fashion going forward.

---

The Eclipse Plugin Packaging Guidelines were updated. The most major
change is the addition of a section discussing how to run the
reconciler. For the full updated guidelines see:
https://fedoraproject.org/wiki/Packaging:EclipsePlugins

---

t4k_common contains a forked copy of an older version of liblinebreak. A
temporary bundling exception has been granted until the t4k_common
upstream is able to port their code to use the newer system copy of
liblinebreak. The t4k_common package must include Provides:
bundled(liblinebreak) until the issue is resolved.

This exception has been added to the list here:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

Spring RTS includes a forked and bundled copy of Lua which has Spring
RTS specific patches applied, must link to streflop, and is configured
differently from stock Lua (most importantly it needs lua_Number to be a
float and not a double). Lua is particularly important because parts of
the game code may be written in it, which must yield exactly identical
results (also floating point operations!) on all platforms.

As a result, it has been granted a bundling exception for lua. The
Spring RTS package must include Provides: bundled(lua) = X.Y.Z (where
X.Y.Z is the base lua version), until the bundling issue is resolved (if
ever).

This exception has been added to the list here:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

A section has been added to the Guidelines that limits which package
manager repositories are allowed to be configured in Fedora. Additional
repository configuration files are allowed as documentation provided
that they are legally allowable by Fedora.

https://fedoraproject.org/wiki/Packaging:Guidelines#Configuration_of_Package_Managers

---

The MPI Guidelines have been clarified by adding this additional statement:

If the maintainer wishes for the environment module to load
automatically by use of a scriptlet in /etc/profile.d or by some other
mechanism, this MUST be done in a subpackage.

https://fedoraproject.org/wiki/Packaging:MPI

---

The Devel Packages section of the Packaging Guidelines has been
rewritten to be more comprehensive and clear:

https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages

In addition, the ReviewGuidelines have been simplified to state simply
that Development files must be in a -devel package.

---

An exception was granted which permits the bundling of binutils
libraries, (most notably, libbfd, libcpu, libopcodes, and libdecnumber)
but only to packages which share the same upstream as binutils
(sourceware.org). This is because the libraries are developed by the
application authors as common functionality shared between several
applications. Being developers of both, they'll be intimately aware of
both issues that arise in the libraries and know how to port to newer
versions of the library as needed. Note that, at the moment, all of
these applications and libraries come from sourceware.org but not all of
them are used in binutils.

Packages leveraging this exception must add: Provides: bundled(binutils)
= %{snap}, where %{snap} is defined in the package as the date that the
binutils checkout was made, until the bundling issue is resolved (if ever).

This exception has been added to the list here:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

The Packaging Guidelines section on Architecture Support has been
amended to clarify that all Fedora packages must successfully compile
and build into binary rpms on at least one supported primary
architecture, except where the package is useful only on a secondary
architecture (such as an architecture-specific boot utility, microcode
loader, or hardware configuration tool).

https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Support

---

The "okjson" software has reluctantly been granted a bundling exception.
Packages which bundle okjson.rb must add: Provides: bundled(okjson),
until the bundling issue is resolved (if ever).

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

The section of the Packaging Guidelines covering /srv was amended to
include /opt and /usr/local. Specifically, the following sentence was added:

  In addition, no Fedora package can have any files or directories
  under /opt or /usr/local, as these directories are not permitted to
  be used by Distributions in the FHS.

https://fedoraproject.org/wiki/Packaging:Guidelines#No_Files_or_Directories_under_.2Fsrv.2C_.2Fopt.2C_or_.2Fusr.2Flocal

---

A new section has been added to the Fedora Packaging Guidelines
regarding Network Support. Specifically, if an application contains
native and stable support for both IPv4 and IPv6, and support for IPv6
does not negatively affect IPv4 then both must be enabled in the Fedora
package.

https://fedoraproject.org/wiki/Packaging:Guidelines#Networking_Support

---

As part of the /usrmove feature in Fedora 17, Fedora packages MUST NOT
place files or directories in the /bin, /sbin, /lib or /lib64
directories. Instead, the /usr/bin, /usr/sbin, /usr/lib, and /usr/lib64
directories must be used. Packages must assume that /bin, /sbin, /lib,
and /lib64 are symbolic links to the /usr/bin, /usr/sbin, /usr/lib, and
/usr/lib64 directories, respectively.

This is effective immediately for new packages, however, packagers are
not required to implement this change for distributions older than
Fedora 17.

https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout

---

A temporary bundling exception has been granted for libtdb_compat and
libccan, but only for samba4 packages. This exception will last until
F18 GA, or libtdb 2.x releases, whichever comes first.

Samba4 packages which bundle libtdb_compat or libccan must include
Provides: bundled(libtdb_compat) or Provides: bundled(libccan), until
the bundling issue(s) are resolved.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

A bundling exception has been granted for libreplace, but only if the
package in question shares the same upstream as samba. This is because
the libreplace library is developed by the application authors as common
functionality shared between several applications. Being developers of
both, they'll be intimately aware of both issues that arise in the
libraries and know how to port to newer versions of the library as needed.

Samba packages which bundle libreplace must include Provides:
bundled(libreplace), until the bundling issue is resolved (if ever).

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

The Pre-Release packages section was improved significantly, with the
intent of making it more clear through the use of specific examples in
tables.

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages

---

The Icon Tag in Desktop Files section in the Packaging Guidelines has
been amended to include a link to the scriptlets to refresh the icon cache.

https://fedoraproject.org/wiki/Packaging:Guidelines#Icon_tag_in_Desktop_Files

---

The Emacs Packaging Guidelines have been clarified and simplified, with
much unnecessary duplication removed.

https://fedoraproject.org/wiki/Packaging:Emacs

---

A new section containing tips and best practices for writing scriptlets
for Fedora packages has been added.

https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Writing_scriptlets

---

The Guidelines section on Handling Locale Files has been updated to
reflect the additional functionality in %find_lang.

https://fedoraproject.org/wiki/Packaging:Guidelines#Handling_Locale_Files

---

Ulrich Drepper's MD5 implementation, as found originally in gcc, was
added to the list of MD5 exception cases permitted for bundling exceptions.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

A link to the No Bundling Libraries page, which contains the steps
necessary to request a Bundling exception, has been added to the
"Bundling of multiple projects" section in the main Guidelines.

https://fedoraproject.org/wiki/Packaging:Guidelines#Bundling_of_multiple_projects

---

The section on File and Directory Ownership has been updated to reflect
the fact that while in most cases, it should not be necessary for
multiple packages to contain identical copies of the same file, if it is
necessary, multiple packages may contain identical copies of the same
file, as long as the following requirements are met:

* The packages sharing ownership of the identical files are built from a
single SRPM.

OR

* The packages sharing ownership of the identical files are not in a
dependency chain (e.g. if package A requires package B, they should not
both contain identical files, either A or B must own the common files,
but not both.)

In addition, identical files are defined as files which are always
identical in content, checksum, permissions, and location on the
filesystem in each package.

https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Ownership

---

Announce Text:

A new section has been added to the PHP Guidelines, documenting the PHP
ZTS extension.

https://fedoraproject.org/wiki/Packaging:PHP#PHP_ZTS_extension

---

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

Many thanks to Nick Clifton, Remi Collet, Frank R Dana Jr., Gilboa
Davara, Kevin Fenzi, Stephen Gallagher, Harald Hoyer, Jan Kratochvil,
Jussi Lehtola, Marcela Mašláňová, Panu Matilai, Vít Ondruch, Petr Pisar,
Michael Schwendt, Kay Sievers, Chris Tyler, Jonathan Underwood, Karel
Volný, Sami Wagiaalla, Christoph Wickert, 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:
https://fedoraproject.org/wiki/Packaging/Committee#GuidelineChangeProcedure

Thanks,

~tom
-- 
announce mailing list
announce@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/announce



[Index of Archives]     [Fedora Package Announce]     [Fedora Users]     [Fedora Package Review]     [Fedora Desktop]     [PAM]     [Big List of Linux Books]     [Gimp]     [Yosemite News]     [Yosemite Camping]     [Fedora Users]

  Powered by Linux