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