Here are the latest set of changes to the Fedora Packaging Guidelines: --- The rules for substituting dots with dashes in package names have been clarified to make explicit that they apply to python modules and that they do not apply to version numbers in compat libraries. https://fedoraproject.org/wiki/Packaging:NamingGuidelines --- Many implementations of md5 originate in a program and then end up copied to other programs with compatible license terms. These implementations have been granted a bundling exception. The usual requirement to set a Virtual Provides: if bundling are in effect and have some special notes due to the many implementations out there. Note that copying the implementation from a library is not covered under this exception. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions --- rpm and yum treat a dependency on a package of the form Requires: foo as being fulfilled by any available package foo, regardless of arch. On multilib architectures, this means that there are often two packages with the same name: one for each of the multilib arches. When yum is asked to satisfy a dependency for that package name it could pull in the package for the wrong arch. This happens when the correct architecture is not available to yum. That might be the case if, due to some malfunction, the Fedora repositories are out of synch. It can also happen if a user has installed a package that is treated as "newer" than the corresponding package in the currently enabled set of repositories; in attempting to resolve otherwise-unresolvable dependency chains, yum may decide to pull in the dependency chain for a different arch. In some situations, this is not a problem, but there are some situations where it does matter: * A library that is explicitly Required (example a dlopen'd library) * The dependency from one -devel packages that is not noarch to another -devel package. * A non-noarch subpackage's dependency on its main package or another subpackage (e.g., libfoo-devel depends on libfoo, or fooapp-plugins depends on foo-app). The Packaging Guidelines (and Naming Guidelines) have been amended to reflect that %{?_isa} must be used for Explicit Requires and Provides that match those situations. http://fedoraproject.org/wiki/Packaging:Guidelines#Requires http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Renaming.2Freplacing_existing_packages --- Previously, there was a change made to the Documentation guidelines which stated that: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. In addition, %doc files must not have executable permissions. This has been revised to: Files marked as documentation must not cause the package to pull in more dependencies than it would without the documentation. One simple way to ensure this is to remove all executable permissions from %doc files (chmod -x). Also, if a package includes something as %doc, it must not affect the runtime of the packaged application(s). To summarize: If it is in %doc, the included programs must run properly if it is not present. https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation --- A new section has been added to the Packaging Guidelines concerning test suites included with source code: If the source code of the package provides a test suite, it should be executed in the %check section, whenever it is practical to do so. https://fedoraproject.org/wiki/Packaging:Guidelines#Test_Suites --- A new section has been added to the Packaging Guidelines concerning the proper packaging of tmpfiles.d configurations and directories: https://fedoraproject.org/wiki/Packaging:Tmpfiles.d --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Jochen Schmitt 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: http://fedoraproject.org/wiki/Packaging/Committee#GuidelineChangeProcedure Thanks, ~spot -- announce mailing list announce@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/announce