[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - We have begun to remove content from the wiki. The old pages should all now have links to the new docs site. As we continue to work on the new documents, the corresponding wiki pages will be emptied and left only with the link to the new content. This is currently most visible on the main guidelines page. The wiki history remains, of course, and all of that history was also copied into the git repository which holds the source of the current site. As always, if you spot issues in the packaging guidelines, feel free to file a ticket at https://pagure.io/packaging-committee/issues. You can even send us a pull request. - The versioning guidelines have been modified to allow limited use of RPM's tilde (~) notation when packaging upstream-tagged prereleases. * https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ * https://pagure.io/packaging-committee/issue/832 * https://pagure.io/packaging-committee/c/5113d478f5885d2338dfbdceb043da634f732e51?branch=master - The python packaging guidelines have been updated to indicate the changed default in Fedora 30 for %_python_bytecompile_extra (to 0). This setting controls whether python files outside of the regular locations for python modules are subject to automatic byte compilation. * https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#manual-bytecompilation * https://pagure.io/packaging-committee/issue/830 * https://pagure.io/packaging-committee/c/647454105e873c15ce0c5e10cfad37aae8a50225?branch=master * https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 - Due to the recent accumulation of problems caused by unannounced SONAME bumps in rawhide, a short "Listing shared library files" section was added to the "Shared Libraries" chapter of the Packaging Guidelines: It is now discouraged to use globs of the form libFOO.so.* (or similar) for listing %files entries like libFOO.so.MAJOR.MINOR.PATCH in %{_libdir}, because it can conceal SONAME changes, and may contribute to accidental bumps. If the use of any glob is helpful in reducing maintenance burden, using something less general - like libFOO.so.MAJOR* - is encouraged instead. * https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files * https://pagure.io/packaging-committee/issue/784 * https://pagure.io/packaging-committee/c/2051d0c7dcd7f062e2c8571f19a8cf7eea8b0ce6?branch=master ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The Python packaging guidelines have been updated to reflect the fact that Python 2 is deprecated. All relevant information for legacy Python 2 packaging has been moved to the appendix. Together with this change, the rule for naming the executables if both Python versions are shipped has been changed: "The unversioned executable should be the python3 version, unless it would break users expectations, in that case it may be the python2 version." Examples of that are provided in the appendix. * https://fedoraproject.org/wiki/Packaging:Python * https://fedoraproject.org/wiki/Packaging:Python_Appendix * https://pagure.io/packaging-committee/issue/793 - The python guidelines were modified to indicate that packagers should not simply glob all files and directories under the sitelib and sitearch directories. Other small changes were made to avoid conflicting with this requirement. * https://fedoraproject.org/wiki/Packaging:Python#Files_to_include * https://pagure.io/packaging-committee/issue/782 - A section covering the new automatic dependency generator was added to the Python guidelines. * https://fedoraproject.org/wiki/Packaging:Python#Automatically_generated_dependencies * https://pagure.io/packaging-committee/issue/740 - A new guidelines page was added, providing a place to discuss what is and is not allowed in Fedora. A number of sections were moved there from the main guidelines, and a new section was added indicating that only a single kernel package is allowed in the distribution. * https://fedoraproject.org/wiki/Packaging:What_Can_Be_Packaged * https://pagure.io/packaging-committee/issue/792 - Small cleanups were made to the crypto policies guidelines to modernize them a bit, and a new section was added requiring that newly added crypto libraries must comply with existing crypto policies. * https://fedoraproject.org/wiki/Packaging:CryptoPolicies * https://pagure.io/packaging-committee/issue/785 - The section on file and directory dependencies has been rewritten to be clearer and to explicitly indicate which file dependencies are permissible and which are not. * https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Dependencies * https://pagure.io/packaging-committee/issue/714 - ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The packaging guidelines for enabling services by default were significantly revised to emphasize that services starting by default should fail only in exceptional conditions, and to provide additional guidance for services related to hardware enablement. * https://fedoraproject.org/wiki/Packaging:DefaultServices * https://pagure.io/packaging-committee/issue/777 - The Python guidelines were modified to mention the %pypi_source macro (available in all Fedora and EPEL releases) which conveniently expands to the proper source URL for the package at PyPi. * https://fedoraproject.org/wiki/Packaging:Python#Source_Files_from_PyPI * https://pagure.io/packaging-committee/issue/759 - The Python guidelines were modified to indicate that packages must not own the top-level __pycache__ directory. * https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling * https://pagure.io/packaging-committee/issue/782 - A small change was made to the Java packaging guidelines to specify a dependency on javapackages-filesystem instead of javapackages-tools. * https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires * https://pagure.io/packaging-committee/issue/781 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/message/HP4LRC2RJNMOMXITZZYJ6FLF2RITY6H6/
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - In Fedora 28 (and rawhide), the texinfo scriptlets (which call install-info) are no longer necessary and should be removed or, for cross-release specfiles, wrapped in conditionals. Note that there are nearly 300 specs currently calling install-info in scriptlets; lists of these packages will be posted separately to the devel list. * https://fedoraproject.org/wiki/Packaging:Scriptlets#Texinfo * https://pagure.io/packaging-committee/issue/773 - The section of the Python packaging appendix relating to manual byte compilation has been amended with a new section applying to Fedora 29 and newer only. Because this is a rarely-trafficked section of the guidelines and the change mandates modifications to a number of packages, I will summarize here: If your package installs files with names ending in ".py" outside of the standard directories for python files (/usr/lib(64)?/python\d.\d) then in rawhide you must disable automatic byte compilation of files outside of these directories by adding "%global _python_bytecompile_extra 0" to your spec and then, if necessary, manually byte-compile those files with a specific python version using the %py_byte_compile macro. There are 479 packages which will need attention to fix this before the default value of %_python_bytecompile_extra becomes 0 (and potentially breaks many of those packages) in a future release. Lists of these packages will be posted separately on the devel list. * https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation * https://pagure.io/packaging-committee/issue/772 - A new guideline page relating to package deprecation has been added, and both the main guidelines and review guidelines have been updated to reference it. * https://fedoraproject.org/wiki/Packaging:Deprecating_Packages * https://fedoraproject.org/wiki/Packaging:Guidelines#Deprecating_Packages * https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Things_To_Check_On_Review * https://pagure.io/packaging-committee/issue/723 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/message/4LOZKTTCTKJAT4D7FVSN7X3WVDSUVBG2/
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - Many changes have been made to the Ruby packaging guidelines to reflect the current state of Ruby packaging. * https://fedoraproject.org/wiki/Packaging:Ruby * https://pagure.io/packaging-committee/issue/710 Note that the macros required for some of those guidelines might still be making their way into the stable releases. - The Libraries and Applications section of the guidelines was modified to favor independent packaging of applications and to discourage separate graphical applications from having dependencies on each other. * https://fedoraproject.org/wiki/Packaging:Guidelines#Libraries_and_Applications * https://pagure.io/packaging-committee/issue/694 - An exception allowing the use of a specific subdirectory in /etc/opt by Chrome native messaging extensions was approved. * https://fedoraproject.org/wiki/Packaging:Guidelines#Limited_usage_of_.2Fopt.2C_.2Fetc.2Fopt.2C_and_.2Fvar.2Fopt * https://pagure.io/packaging-committee/issue/767 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/message/DJUZVSBPI7G24IQYK2Q4WYON656ECFIG/
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - A note was added to the Python guidelines indicating that the python2 stack may go away and that upstreams should be contacted about software not yet ported to python3. * https://fedoraproject.org/wiki/Packaging:Python#Python_Version_Support * https://pagure.io/packaging-committee/issue/753 - The Python guidelines now more clearly indicate that use of %{__python}, %{python_sitelib} and %{python_sitearch} is forbidden. * https://fedoraproject.org/wiki/Packaging:Python#Macros * https://pagure.io/packaging-committee/issue/745 - Information about the automatic shebang line checking and modification has been added to both the main guidelines and the Python guidelines. * https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines * https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes * https://pagure.io/packaging-committee/issue/738 - The guidelines section relating to architecture support has been updated to reflect the current state of koji's support of ExclusiveArch:/ExcludeArch: in noarch packages. * https://fedoraproject.org/wiki/Packaging:Guidelines#Noarch_with_Unported_Dependencies * https://pagure.io/packaging-committee/issue/751 - A guideline was added showing how to disable buildroot policy scripts for your package, if necessary: * https://fedoraproject.org/wiki/Packaging:Guidelines#BRP_.28BuildRoot_Policy.29_Scripts * https://pagure.io/packaging-committee/issue/749 - The Documentation section of the main guidelines was expanded to include information about reducing build dependencies by building documentation in a separate source package. * https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation * https://pagure.io/packaging-committee/issue/715 - The AppData guidelines were updated to mention the %_metainfodir macro, which was added to cut down on the need for %if blocks in cross-distro specfiles. * https://fedoraproject.org/wiki/Packaging:AppData#app-data-validate_usage * https://pagure.io/packaging-committee/issue/752 Note that redhat-rpm-config/epel-rpm-macros packages supporting this are in updates-testing, but buildroot overrides are active so you can use the macro in Koji builds now. - The section on packaging additional RPM macros has been simplified significantly. * https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_of_Additional_RPM_Macros * https://pagure.io/packaging-committee/issue/601 Note that the epel-rpm-macros package supporting this in EPEL7 is in updates-testing, but a buildroot override is active so you can use the macro in Koji builds now. ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Just this one change, but it has implications for many packages. The Scriptlet guidelines have received several changes regarding the installation of shared libraries and ldconfig. Use of the new macros is detailed, and there is a new section on the scriptlets required when linker configuration files are installed. * https://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries * https://fedoraproject.org/wiki/Packaging:Scriptlets#Shared_Libraries * https://pagure.io/packaging-committee/issue/654 Please note the following before attempting to use the new macros outside of rawhide builds: 1) The updates for F27 (redhat-rpm-config-70.1.fc27) and F26 (redhat-rpm-cponfig-64.1.fc26) which provide the new macros are currently on their way to stable and will hopefully be generally available in a day or so. 2) The epel-rpm-macros updates for EPEL7 and EPEL6, which provide the new macros for those EPEL releases, are in the testing repositories and need more karma before they can be pushed to stable: * https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-c5ae067f71 * https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-580a31cb75 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. We have more things coming in concert with various distro changes that are happening, but I wanted to get these two out there now. - The icon cache scriptlets were removed from the scriptlet guidelines, as no live Fedora release needs them. They have been moved to the EPEL packaging guidelines instead. * https://fedoraproject.org/wiki/Packaging:Scriptlets * https://fedoraproject.org/wiki/EPEL:Packaging * https://pagure.io/packaging-committee/issue/736 - A section was added to the beginning of the guidelines, clarifying how they apply to the various Fedora releases and to EPEL. * https://fedoraproject.org/wiki/Packaging:Guidelines#Applicability * https://pagure.io/packaging-committee/issue/744 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - Following releng approval, the restrictions on the use of rich/Boolean dependencies have been lifted. * https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies * https://pagure.io/packaging-committee/issue/559 - Packaging guidelines for Rust have been added. * https://fedoraproject.org/wiki/Packaging:Rust * https://pagure.io/packaging-committee/issue/705 - A new section was added to the packaging guidelines regarding shebang lines. It forbids the use of 'env' and codifies the longstanding rpmlint rule that non-executable files should not have shebang lines. * https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines * https://pagure.io/packaging-committee/issue/700 - Appstream metadata guidelines were updated to reflect the new location into which appdata files should be placed. * https://fedoraproject.org/wiki/Packaging:AppData * https://pagure.io/packaging-committee/issue/704 - The python guidelines were modified to forbid the use of /usr/bin/python in shebang lines or as a dependency of a package. * https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes * https://pagure.io/packaging-committee/issue/698 - The SourceURL guideliens were altered to Use a simplified form for github URLs. * https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Hosting_Services * https://pagure.io/packaging-committee/issue/697 - The section on bundled libraries was expanded with more explicit instructions on constructing the Provides: line which indicates the bundling. * https://fedoraproject.org/wiki/Packaging:Guidelines#Bundling_and_Duplication_of_system_libraries * https://pagure.io/packaging-committee/issue/696 - The section on statically linking executables has been completely revamped to remove the need for committee intervention and to make it more obvious that there is no prohibition on statically linking to build artifacts within a single package. * https://fedoraproject.org/wiki/Packaging:Guidelines#Statically_Linking_Executables * https://pagure.io/packaging-committee/issue/692 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The guidelines for enabling services by default modified to indicate that FESCo approval is required for services which change the behavior of other services. * https://fedoraproject.org/wiki/Packaging:DefaultServices#Restrictions * https://pagure.io/packaging-committee/issue/683 - A very minor tweak was made to the bootstrapping guidelines to invert the sense of a test so that it matches expectations. * https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping * https://pagure.io/packaging-committee/issue/684 - The python guidelines were updated to mention that "python-" MUST NOT be used in dependencies unless the proper "python2-" or "python3-" packages do not exist. * https://fedoraproject.org/wiki/Packaging:Python#Dependencies * https://pagure.io/packaging-committee/issue/686 - The naming guidelines have been altered to indicate that python2 binary packages MUST be named starting with "python2-" and that python3 binary package MUST be named starting with "python3-". The section on the old naming conventions for python packages has been removed as it has not been acceptable for many releases now. * https://fedoraproject.org/wiki/Packaging:Naming#Python_modules * https://pagure.io/packaging-committee/issue/685 - The guidelines for package dependencies were cleaned up and modified to indicate that all package dependencies MUST be satisfiable within the official Fedora repositories. A statement reiterating that fact was added to the page on weak dependencies as well. * https://fedoraproject.org/wiki/Packaging:Guidelines#Package_Dependencies * https://fedoraproject.org/wiki/Packaging:WeakDependencies * https://pagure.io/packaging-committee/issue/688 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. The guidelines on versioning packages were completely rewritten in order to make them (hopefully) more comprehensible. This rewrite was not intended to introduce functional changes, but during the draft process the following small changes to the versioning scheme were approved by the committee and included in the rewrite: * Use of Version: 0 when upstream has not chosen a version. * Allowing "MMDD.commithash" (instead of requiring mention of the SCM in use) in the "snapshot information" field. * Explicit mention of the case where upstream uses invalid characters. * More detailed explanation of dealing with "unsortable" elements, instead of leaving many cases undefined. The examples were also split out of this page and placed in a new page which is outside of the protected Packaging hierarchy. The rewrite of this page is not yet complete at this time and I will be working on over the next several days, but assistance is most welcome. * https://fedoraproject.org/wiki/Packaging:Versioning * https://fedoraproject.org/wiki/Package_Versioning_Examples * https://pagure.io/packaging-committee/issue/656 - The main guideline page has been updated to indicate that the Group: tag should not be used. * https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections * https://pagure.io/packaging-committee/issue/679 - The section of the guidelines relating to spec files was reorganized. Outdated information was removed and a new section was added indicating the canonical status of the spec file in Fedora git repository. * https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_Files * https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_Maintenance_and_Canonicity * https://pagure.io/packaging-committee/issue/613 - A new section was added to the main guideline page with information on the differences between libraries and how packages which fall into both categories should be packaged. * https://fedoraproject.org/wiki/Packaging:Guidelines#Libraries_and_Applications * https://pagure.io/packaging-committee/issue/558 - The main guidelines section on file dependencies was amended to include information about directory dependencies, including a rule against depending on a directory in order to bring in any files or package functionality. * https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Dependencies * https://pagure.io/packaging-committee/issue/632 - The Dependency Filtering guideline page was cleaned up a bit to remove outdated information about Perl filtering. * https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering * https://pagure.io/packaging-committee/issue/591 - The example spec in the tmpfiles.d guidelines has been cleaned up. * https://fedoraproject.org/wiki/Packaging:Tmpfiles.d * https://pagure.io/packaging-committee/issue/680 * https://pagure.io/packaging-committee/issue/670 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Re: [Guidelines change] Changes to the packaging guidelines
Oops, one additional change was made which I left out of the previous announcement. A section was added to the Python guidelines describing the automatic generation of Provides: which was added in Fedora 25. Descriptions of three new macros were also added. * https://fedoraproject.org/wiki/Packaging:Python#Automatic_Provides_with_a_standardized_name * https://fedoraproject.org/wiki/Packaging:Python#Macros * https://fedorahosted.org/fpc/ticket/635 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The systemd section of the scriptlet guidelines was updated to indicate situations where the %systemd_ordering macro may be used instead of %systemd_requires. * https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd * https://fedorahosted.org/fpc/ticket/644 - The guidelines for replacing existing packages have been updated with mention of the "fedora-obsolete-packages" package: * https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages * https://apps.fedoraproject.org/packages/fedora-obsolete-packages/overview/ * https://fedorahosted.org/fpc/ticket/645 - The guidelines for systemd scriptlets were updated with mention of the macros to be used for systemd user units. * https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd * https://fedorahosted.org/fpc/ticket/647 - The SourceURL guidelines were updated to reflect a simpler method for downloading tagged releases from Github. * https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Tags * https://fedorahosted.org/fpc/ticket/651 - The Tags and Sections section of the main guidelines was modified to use "SHOULD" and "MUST" language throughout, and to either discourage or prohibit the use of certain tags and sections. The section is short, so I've included it below. " * The Copyright:, Packager:, Vendor: and PreReq: tags MUST NOT be used. * The BuildRoot: tag and %clean section SHOULD NOT be used. * The contents of the buildroot SHOULD NOT be removed in the first line of %install. * The Summary: tag value SHOULD NOT end in a period. * The Source: tags document where to find the upstream sources for the package. In most cases this SHOULD be a complete URL to the upstream tarball. For special cases, please see the SourceURL Guidelines. * The Group: tag is unnecessary. " * https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections * https://fedorahosted.org/fpc/ticket/652 - The File Permissions section was cleaned up somewhat, to use slightly cleaner grammar, use "SHOULD" and "MUST" throughout and to remove redundant information. In addition, the following sentence was added: "The %defattr directive in the %files list SHOULD ONLY be used when setting a non-default value, or to reset to the default value after having set a non-default value." * https://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions * https://fedorahosted.org/fpc/ticket/652 - The Python Egg guidelines were update to better match current Python packaging and to mention the %py*_install_egg macros. * https://fedoraproject.org/wiki/Packaging:Python_Eggs * https://fedorahosted.org/fpc/ticket/663 - The example spec in the Python guidelines was modified to correspond to the usual, "python3 is default" case where versioned executables are not installed. * https://fedoraproject.org/wiki/Packaging:Python * https://fedorahosted.org/fpc/ticket/672 - The guidelines for using Alternatives have been better indicate the situations where alternatives are and are not appropriate. * https://fedoraproject.org/wiki/Packaging:Alternatives * https://fedorahosted.org/fpc/ticket/673 - The guidelines for per-product configuration have been updated to allow copying the config file instead of mandating symlinking and to specify the location where the variant configurations should be stored. * https://fedoraproject.org/wiki/Packaging:Per-Product_Configuration * https://fedorahosted.org/fpc/ticket/675 ___ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The Filesystem Layout section of the guidelines was simplified and outdated information was removed. * https://fedoraproject.org/wiki/Packaging:Guidelines * https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout * https://fedorahosted.org/fpc/ticket/623 - The outdated section restricting dependencies between /bin and /usr has been removed. * https://fedoraproject.org/wiki/Packaging:Guidelines * https://fedoraproject.org/wiki/Packaging:Guidelines#Binaries_in_.2Fbin_and_.2Fsbin (now deleted) * https://fedorahosted.org/fpc/ticket/624 - A set of guidelines for GAP packages has been added. * https://fedoraproject.org/wiki/Packaging:GAP * https://fedorahosted.org/fpc/ticket/625 - A section has been added to the guidelines which documents the procedure for deviation from those guidelines. Work will now begin to clarify the language in existing guidelines into the usual SHOULD and MUST categories to help reduce confusion surrounding the "strength" of guidelines. * https://fedoraproject.org/wiki/Packaging:Guidelines#General_Exception_Policy * https://fedorahosted.org/fpc/ticket/633 - Due to the addition of RPM file triggers, the scriptlet guidelines have been amended to indicate that some scriptlets should not be used in F24+. Specifically: gsettings schemas, gdk-pixbuf loaders, gtk+ 3 modules, gio modules and mimeinfo. Also, update-desktop-database should not be used as of Fedora 25. * https://fedoraproject.org/wiki/Packaging:Scriptlets * https://fedorahosted.org/fpc/ticket/636 - The review process document has been amended to note possible exceptions, and to indicate that review is not needed in certain situations where a different version of an existing package is being added. * https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Process * https://fedorahosted.org/fpc/ticket/637 - Corrected the suggest source URL for tarballs hosted on pypi to use https://files.pythonhosted.org * https://fedoraproject.org/wiki/Packaging:Python#Example_common_spec_file * https://fedoraproject.org/wiki/Packaging:SourceURL#Python_Packages_.28pypi.29 * https://fedorahosted.org/fpc/ticket/640 - The running of system daemons as the "nobody" user has been forbidden. * https://fedoraproject.org/wiki/Packaging:Guidelines#Users_and_Groups * https://fedorahosted.org/fpc/ticket/642 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://lists.fedoraproject.org/admin/lists/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The section on the use of pregenerated code was amended to indicate the preference for having tools necessary to regenerate such code be free software and packaged in Fedora. * https://fedoraproject.org/wiki/Packaging:Guidelines * https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code * https://fedorahosted.org/fesco/ticket/1514 - The outdated prohibition on socket activated services was removed from the Systemd packaging guidelines. * https://fedoraproject.org/wiki/Packaging:Systemd * https://fedoraproject.org/wiki/Packaging:Systemd#Socket_activation * https://fedorahosted.org/fpc/ticket/618 - The Perl guidelines were modified to include information about necessary build dependencies now that Perl itself is being removed from the default buildroot. * https://fedoraproject.org/wiki/Packaging:Perl * https://fedoraproject.org/wiki/Packaging:Perl#Build_Dependencies * https://fedorahosted.org/fpc/ticket/620 - The section on use of /run has been simplified. * https://fedoraproject.org/wiki/Packaging:Guidelines#.2Frun * https://fedorahosted.org/fpc/ticket/622 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The use of rich (or Boolean) dependencies is now OK for F23+. * https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies * https://fedorahosted.org/fpc/ticket/593 - The ban on the use of the %systemd_requires macro has been lifted. * https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd * https://fedorahosted.org/fpc/ticket/600 - The mono guidelines were modified to require that packages limit themselves via ExclusiveArch: to architectures which actually support mono. * https://fedoraproject.org/wiki/Packaging:Mono * https://fedorahosted.org/fpc/ticket/602 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - Some PHP scriptlets are now unnecessary in F24 due to the use of file triggers. * https://fedoraproject.org/wiki/Packaging:PHP#PECL_Modules * https://fedorahosted.org/fpc/ticket/597 - A page describing the implementation of Langpacks for F23 and newer has been added to the guidelines, and various other pages have been updated to reference it. * https://fedoraproject.org/wiki/Packaging:Langpacks * https://fedorahosted.org/fpc/ticket/593 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - A section on the treatment of pregenerated code has been added to the main guideline page. *https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code *https://fedorahosted.org/fpc/ticket/580 - Text was added to the section on spec legibility indicating that non Fedora/EPEL macros should not be used in Fedora specfiles. *https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_Legibility *https://fedorahosted.org/fpc/ticket/582 - The node.js guidelines have gained a requirement for a %check section which at minimam ensures that the module is loadable. * https://fedoraproject.org/wiki/Packaging:Node.js#Build_testing_in_.25check * https://fedorahosted.org/fpc/ticket/583 - The AppData guidelines were updated to reflect the current version of the AppData standard. * https://fedoraproject.org/wiki/Packaging:AppData * https://fedorahosted.org/fpc/ticket/584 - Information about requesting bootstrapping exceptions, including blanket exceptions, was added to the committee page. *https://fedoraproject.org/wiki/Packaging_Committee#Bootstrapping_Exception_Procedure *https://fedorahosted.org/fpc/ticket/585 - The systemd scriptlet guidelines were cleaned up to use correct links and fix some typos. *https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlets * https://fedorahosted.org/fpc/ticket/590 - A reference to the EPEL packaging guidelines was added to the main guidelines page. *https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_for_EPEL *https://fedoraproject.org/wiki/EPEL:Packaging *https://fedorahosted.org/fpc/ticket/599 - The shared library section of the guidelines has been updated to refer to a separate page on ABI comparison tools. *https://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries *https://fedoraproject.org/wiki/How_to_check_for_ABI_changes_in_a_package * https://fedorahosted.org/fpc/ticket/579 - A new page for guidelines specific to C and C++ has been added. *https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B?rd=C_and_C++ *https://fedorahosted.org/fpc/ticket/540 - The submodules section of the SourceURL guideline page was simplified to use git --recursive. *https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Submodules *https://fedorahosted.org/fpc/ticket/547 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel-announce@lists.fedoraproject.org
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The guidelines were updated to reflect the current policy that Fedora packages are no longer permitted to carry SysV-style initscripts. The relevant guidelines page has been moved to the EPEL hierarchy. * https://fedoraproject.org/wiki/Packaging:Guidelines#Initscripts * https://fedoraproject.org/wiki/EPEL:SysVInitScript * https://fedorahosted.org/fpc/ticket/577 - Until sufficient support exists in the build system and package manager, rich/Boolean dependencies are not permitted in Fedora. * https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies * https://fedorahosted.org/fpc/ticket/559 - The MPI packaging guidelines were updated to handle python3 packages. * https://fedoraproject.org/wiki/Packaging:MPI * https://fedoraproject.org/w/index.php?title=Packaging%3AMPI&diff=427683&oldid=309350 * https://fedorahosted.org/fpc/ticket/563 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. - The big change is that the Python guidelines have been extensively reorganized and partially rewritten, and new macros are available which simplify packaging by removing some of the boilerplate which was previously required. The main guideline page has been slimmed down to show the more basic info and a clean and simple spec using the new macros which is free of multiline conditionals. boilerplate previously associated with python packages. Some of the more esoteric information has been moved to an appendix page to keep the main page of reasonable size. The new guidelines are currently only functional on Fedora 22 and newer releases, but are currently in updates-testing for Fedora 21 and EPEL7. The older guidelines are preserved in a separate page and we'll try to keep them updated with new requirements. The new guidelines page: * https://fedoraproject.org/wiki/Packaging:Python The appendix: * https://fedoraproject.org/wiki/Packaging:Python_Appendix The old guidelines: * https://fedoraproject.org/wiki/Packaging:Python_Old Note that these cleaned up pages (and the old copy) include some new guidelines as well: There is new section indicating that -OO must not be used for python versions less than 3.5. * https://fedoraproject.org/wiki/Packaging:Python#Optimization There are requirements for what python module packages must provide (via Provides:): * https://fedoraproject.org/wiki/Packaging:Python#Provides Related FPC tickets: * https://fedorahosted.org/fpc/ticket/281 * https://fedorahosted.org/fpc/ticket/534 * https://fedorahosted.org/fpc/ticket/542 * https://fedorahosted.org/fpc/ticket/545 * https://fedorahosted.org/fpc/ticket/552 - Guidelines have been added covering services which need to perform setup when they are first started (including self-signed certificate generation). *https://fedoraproject.org/wiki/Packaging:Initial_Service_Setup *https://fedorahosted.org/fpc/ticket/506 - The guideline on spec file naming was moved into the main guidelines and now requires that its name be constructed by taking the name of the source package and appending ".spec". * https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_File_Naming * https://fedorahosted.org/fpc/ticket/553 - FPC can now grant exceptions to the regular package review procedures. * https://fedoraproject.org/wiki/Packaging_Committee#Review_Process_Exemption_Procedure * https://fedorahosted.org/fpc/ticket/539 * https://fedorahosted.org/fesco/ticket/1435 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines. Note that there is also a set of Python guideline changes pending which I will send in a separate announcement. - Guidelines for making use of weak dependencies (Recommends:, Suggests:, etc.) have been added. *https://fedoraproject.org/wiki/Packaging:WeakDependencies *https://fedorahosted.org/fpc/ticket/531 - The SSL Certificate Handling guidelines were slightly clarified. *https://fedoraproject.org/wiki/Packaging:SSLCertificateHandling *https://fedoraproject.org/w/index.php?title=Packaging%3ASSLCertificateHandling&diff=414415&oldid=412705 *https://fedorahosted.org/fpc/ticket/536 - The "Locally running services" section of the Default Services guidelines been clarified. *https://fedoraproject.org/wiki/Packaging:DefaultServices#Locally_running_services *https://fedoraproject.org/w/index.php?title=Packaging%3ADefaultServices&diff=414410&oldid=413672 *https://fedorahosted.org/fpc/ticket/532#comment:6 - The guidelines for referencing upstream source were overhauled to include more information about git hosting services. * https://fedoraproject.org/wiki/Packaging:SourceURL * https://fedoraproject.org/w/index.php?title=Packaging%3ASourceURL&diff=417378&oldid=372006 * https://fedorahosted.org/fpc/ticket/547 - The "General Naming" section of the Package Naming Guidelines has been modified to bring mention of lower casing and use of dashes to the beginning, and to slightly emphasize the use of lower case package names. * https://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming * https://fedoraproject.org/w/index.php?title=Packaging%3ANamingGuidelines&diff=417380&oldid=400817 * https://fedorahosted.org/fpc/ticket/541 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines: The policy for systemd presets has been modified to merge the individual treatments of service, socket and timer units into one policy. The policy page was also moved into the packaging guidelines proper. * https://fedoraproject.org/wiki/Packaging:DefaultServices * https://fedoraproject.org/w/index.php?title=Packaging%3ADefaultServices&diff=413672&oldid=413670 * https://fedorahosted.org/fpc/ticket/532 - Slightly modified the per-product configuration guidelines to account for changes in the os-release file. * https://fedoraproject.org/wiki/Packaging:Per-Product_Configuration * https://fedoraproject.org/w/index.php?title=Packaging%3APer-Product_Configuration&diff=411980&oldid=410805 * https://fedorahosted.org/fpc/ticket/520#comment:7 - New guidelines for the consistent usage of SSL certificates by applications have been added. * https://fedoraproject.org/wiki/Packaging:SSLCertificateHandling * https://fedorahosted.org/fpc/ticket/480 - It is now mandatory that modules which support python3 be packaged for python3. Python modules which support both python2 and python3 may be packages for both, or just python3. Packaging of modules which support only python2 are unaffected. * https://fedoraproject.org/wiki/Packaging:Python * https://fedoraproject.org/w/index.php?title=Packaging%3APython&diff=413621&oldid=409012 * https://fedorahosted.org/fpc/ticket/526 - The AppData packaging guidelines have been updated to include information about addon packages, and to use appstream-util instead of appdata-validate. * https://fedoraproject.org/wiki/Packaging:AppData * https://fedoraproject.org/w/index.php?title=Packaging%3AAppData&diff=413661&oldid=398214 * https://fedorahosted.org/fpc/ticket/527 - The R Packaging guidelines have been revised to indicate that the DESCRIPTION file should not be marked %doc, as it is actually required for operation of the R package and needs to be present even when installed with --excludedocs. * https://fedoraproject.org/wiki/Packaging:R * https://fedoraproject.org/w/index.php?title=Packaging%3AR&diff=413668&oldid=234180 * https://fedorahosted.org/fpc/ticket/535 - The BuildRequires section of the guidelines has been revised; the exceptions list is gone. The release engineering folks are free to define the buildroot and rpm is free to change its dependency list. * https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_2 * https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&diff=413629&oldid=409506 * https://fedorahosted.org/fpc/ticket/497 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines: The guidelines for packaging static libraries were amended to indicate that the -static package should require the -devel package: * https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2 * https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&diff=409506&oldid=405928 * https://fedorahosted.org/fpc/ticket/338 - Due to advancements in packaging making it somewhat irrelevant, the EE APIs section is removed from the Java packaging guidelines: * https://fedoraproject.org/wiki/Packaging:Java * https://fedoraproject.org/w/index.php?title=Packaging%3AJava&diff=407092&oldid=398187 * https://fedorahosted.org/fpc/ticket/512 - Guidelines and example SPEC for DevAssistant plug-ins are updated to accommodate for %license tag: * https://fedoraproject.org/wiki/Packaging:DevAssistant * https://fedoraproject.org/w/index.php?title=Packaging%3ADevAssistant&diff=407093&oldid=402017 * https://fedorahosted.org/fpc/ticket/511 - The guidelines for providing per-product configuration defaults have been rewritten to be much more robust. * https://fedoraproject.org/wiki/Packaging:Per-Product_Configuration * https://fedoraproject.org/w/index.php?title=Packaging%3APer-Product_Configuration&diff=410805&oldid=384093 * https://fedorahosted.org/fpc/ticket/520 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines change] Changes to the packaging guidelines
Here are the recent changes to the packaging guidelines: The documentation section of the guidelines has been updated to include a prohibition on using both %doc and direct installation of files into %_pkgdocdir. * https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation * https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&diff=405928&oldid=405492 * https://fedorahosted.org/fpc/ticket/338 - The Python guidelines were modified to clarify the use of unversioned macros (%__python instead of %__python2 or %__python3, for example). * https://fedoraproject.org/wiki/Packaging:Python * https://fedoraproject.org/w/index.php?title=Packaging%3APython&diff=406053&oldid=405394 * https://fedorahosted.org/fpc/ticket/498 - Guidelines for Preupgrade Assistant packages have been added. * https://fedoraproject.org/wiki/Packaging:PreupgradeAssistant * https://fedorahosted.org/fpc/ticket/495 - Corrected a typo/logic error in the bootstrapping guidelines: * https://fedorahosted.org/fpc/ticket/501 * https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&diff=405381&oldid=403811 - If a package builds a module for multiple python interpreters, it must be done below the source tree and not in the %{py3dir} anymore. For an example see: * http://fedoraproject.org/wiki/Packaging:Python#Building_more_than_once - The guidelines on library bundling have been expanded to provide information on some additional cases where the packaging committee may grant exceptions. * https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Some_reasons_you_might_be_granted_an_exception * https://fedoraproject.org/w/index.php?title=Packaging%3ANo_Bundled_Libraries&diff=406057&oldid=383256 * https://fedorahosted.org/fpc/ticket/391#comment:13 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the packaging guidelines
A few more changes this week: The Byte compilation section of the Python packaging guidelines was rewritten to include information about packaging the pycache directories generated by newer Python versions. https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling https://fedorahosted.org/fpc/ticket/494 The Multiple Python Runtimes section of the Python packaging guidelines was updated to indicate that packages in fedora should not reference /usr/bin/python but instead should use either /usr/bin/python2 or /usr/bin/python3 as appropriate. https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes https://fedorahosted.org/fpc/ticket/327#comment:9 The outdated rpmdev-rpmdevelrpms section was removed from the section on BuildRequires. http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_2 https://fedorahosted.org/fpc/ticket/497#comment:8 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
We've been very bad at announcing changes to the Packaging Guidelines. So very bad. Bear with us as we announce all the changes we should have been announcing in the past, but failed to do. Again, so bad. --- The Mersenne Twister implementation (mt19937ar) has been granted a general bundling exception. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions --- After an unintentional delay, the Haskell Guideline revision approved four months ago has been officially written into the Guidelines. A profound apology to everyone who wanted to point people at the new guidelines and couldn't find them in the meantime. The updated guidelines can be read here: https://fedoraproject.org/wiki/Packaging:Haskell --- The Naming Guidelines for python modules has been updated to remove the exception for packages which have a "py" prefix in the upstream name. This change comes at a time when python2 and python3 modules are commonly built from the same package and all python3 modules are required to have a "python3" in their name. This change makes it easier for users to identify that the python3-foo module is part of the python-foo package for filing bugs and searching for the python3 version of a package they use in python2. Note that packages that are already in Fedora with names allowed under the old guidelines are considered grandfathered. Renaming makes sense but the FPC is not requiring that they do. This is up to the individual package maintainers (or FESCo should someone ask them for permission to do a mass package rename). --- The syntax in the guidelines for Source macro naming of github generated tarballs has been changed from "%{name}-%{version}-%{shortcommit}.tar.gz" to "$PROJECT-%{commit}.tar.gz", because that is the default naming from github. https://fedoraproject.org/wiki/Packaging:SourceURL#Github --- An exception has been granted for sigrok-firmware-fx2lafw to bundle fx2lib. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions --- A line has been added to the arch specific Octave template to exclude .oct files from provides. (This will no longer be necessary when Fedora 19 is EOL.) https://fedoraproject.org/wiki/Packaging:Octave#Arch_specific_Octave_spec_template --- A bundling exception for JAXP and JAX-WS in openJDK has been granted. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions --- A new section was added to the guidelines covering build time network access: Packages in the Fedora buildsystem are built in a mock chroot with no access to the internet. Packages must not depend or or use any network resources that they don't themselves create (ie, for tests). In no cases should source code be downloaded from any external sources, only from the lookaside cache and/or the Fedora git repository. https://fedoraproject.org/wiki/Packaging:Guidelines#Build_time_network_access --- Additional wording was added to the procedures for dealing with bundled library handling. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#When_a_Bundled_Library_is_Discovered_Post-Review https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions --- Added a guideline: "Packages MUST NOT have SourceN or PatchN tags which are conditionalized on architecture." This makes sure an srpm has all of the files needed to rebuild itself. Note that this change *is not* intended to prevent packages from conditionally applying patches or sources during the build. That remains a valid practice. --- The trigger scripts that saved information about sysv runlevels when converting to systemd have been dropped on the basis that everything of importance has been converted and the system for saving that information was always kludgy and complex. Packages that are converting now should not include them. Lennart will submit a Changes Proposal to coordinate updating packages that presently have these trigger scripts in order to remove the actual systemd-sysv package. https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript --- The Node.JS guidelines have been changed in the following ways: * The %nodejs_fixdep section included in the original version of the draft has been readded. * The RPM magic was recently split into it's own "nodejs-packaging" SRPM, similar to Java. Accordingly, packages can now require "nodejs-packaging" instead of "nodejs-devel" to reduce the number of deps dragged in at build-time. * The necessary ExclusiveArch? line needed for Node.js packages is now documented, including the %{nodejs_arches} macro recently added to redhat-rpm-config for this purpose. * A strategy for handling multiple/compatibility versions of packages that is transparent to dependent packagers has been implemented. * The %{nodejs_default_filter} default automatic virtual provides filtering macro (similar to Perl's) is
[Guidelines Change] Changes to the Packaging Guidelines
Another round of changes to the Fedora Packaging Guidelines have been made: --- A new section on packaging cron jobs has been added: https://fedoraproject.org/wiki/Packaging/CronFiles --- The guidelines for migrating from sysv init scripts to systemd were clarified to state that the migration triggers only need to be kept for two releases (to cover the range of supported upgrades). For example, if the package converted to systemd unit files in F18, the migration support could be dropped in the F21. It is not mandatory that they drop them, this is just to clarify that they have the option of dropping them at that point. https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript --- If an update to your package resolves a known security concern (at the time of the update) with a Common Vulnerabilities and Exposures (CVE) number assigned to it, you should mention the CVE number in the RPM changelog entry. https://fedoraproject.org/wiki/Packaging:Guidelines#Security_Updates_To_Resolve_Known_CVE_Issues --- The Java Guidelines have been updated with macros that simplify packaging on F19+, a specific circumstance where JAR files can be now installed to %{_javadir}/%{name}/ under its usual name, and other cleanups proposed by the Java SIG. https://fedoraproject.org/wiki/Packaging:Java --- The ruby gems guidelines have been updated to make use of the %gem_install macro that is available in Fedora 19 and beyond. https://fedoraproject.org/wiki/Packaging:Ruby --- The packaging guidelines have been clarified to specify that RPM Macro files stored in /etc/rpm/ are not to be marked %config. https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_of_Additional_RPM_Macros --- A Bundling exception for nodejs-should to include the forked code fragment from the Node.js "assert" module was approved. --- These guideline changes were approved by the Fedora Packaging Committee (FPC). Many thanks to Jóhann B. Guðmundsson, Przemek Klosowski, David Malcolm, Jamie Nguyen, Vit Ondruch, Michal Srb, 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Some more changes to the Fedora Packaging Guidelines have been made: --- The Packaging Guidelines covering Desktop files have been amended to say that for Fedora 19 and beyond, the vendor tag must not be used. If it was being used in a previous release, it may continue to be used for that previous release, but must be removed in Fedora 19. New packages must not add the vendor tag for any release. Packagers are reminded that they must not change the name of the desktop file in a stable Fedora release. https://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_usage --- The Ruby Guidelines have been updated to prepare for JRuby integration in Fedora (and new macros to assist in this). https://fedoraproject.org/wiki/Packaging:Ruby --- The Java Guidelines have been changed to reflect BuildRequires: maven-local (instead of maven). https://fedoraproject.org/wiki/Packaging:Java#maven_3 --- These guideline changes were approved by the Fedora Packaging Committee (FPC). Many thanks to Bohuslav Kabrda, Parag Nemade, Stanislav Ochotnicky, 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Some changes to the Fedora Packaging Guidelines have been made: --- If a package is exempt from multilib, it may use %{_prefix}/lib instead of %{_libdir}. Packages that contain architecture specific files that would ordinarily be installed into %{_libexecdir} are always considered ineligible for multilib. However, you should be sure that the (sub)package that they are in does not have other content that would be considered eligible for multilib. If this is not the case for the files you wish to do this in for your package or you are just unsure, ask FESCo for an explicit multilib exemption. https://fedoraproject.org/wiki/Packaging:Guidelines#Multilib_Exempt_Locations Please note that FESCo granted an explicit exemption for systemd (and any packages with systemd unit files) to use %{_prefix}/lib/systemd. The core systemd packages were also given permission to be excluded from multilib. --- The section of the Guidelines covering how to handle Troublesome URLs in SourceURL fields has been amended: https://fedoraproject.org/wiki/Packaging:SourceURL#Troublesome_URLs Additionally, a new section has been added to cover how to handle GitHub source files: https://fedoraproject.org/wiki/Packaging:SourceURL#Github --- The Java packaging guidelines were updated for the following changes: * No longer require 2+ jars to be in subdirectory (there was no technical need) * Add standardization for compatibility packages * Remove no longer needed parts about Maven 2 * Improve add_maven_depmap documentation * Add suggestions for pom_ macros instead of patching * installation/use of J2EE APIs standardization (initial version) * JNI guidelines simplification & examples https://fedoraproject.org/wiki/Packaging:Java --- These guideline changes were approved by the Fedora Packaging Committee (FPC). Many thanks to leamas, Stanislav Ochotnicky (and the Java SIG), Kamil Páral, 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Some changes to the Fedora Packaging Guidelines have been made: --- In the specific case where multiple software components generate identically named (but incompatible) binaries, Fedora Packagers should make every effort to convince the upstreams to rename the binaries to resolve the conflict (see: Packaging:Conflicts#Binary_Name_Conflicts). However, if neither upstream is willing to rename the binaries to resolve the conflict, AND the binaries are not viable candidates for alternatives or environment modules (incompatible runtimes), as long as there are no clear cases for both packages to be installed simultaneously, explicit Conflicts are permitted at the packager's discretion. Both packages must carry Conflicts in this case. Be aware, adding explicit Conflicts means that if any other packages depend on your package, you may be creating a chain-of-conflicts that could cause user pain. Please consider this as a last resort. https://fedoraproject.org/wiki/Packaging:Conflicts#Incompatible_Binary_Files_with_Conflicting_Naming_.28and_stubborn_upstreams.29 --- The PEAR section of the PHP Guidelines has been updated to reflect the existence of a new macro, %{pear_metadir}, along with an example of how it is to be used, and a new EPEL specific section relating to the fact that %{pear_metadir} does not exist in RHEL php builds. https://fedoraproject.org/wiki/Packaging:PHP#PEAR_Modules --- The MPI Guidelines have been updated to install the module files under a "mpi" sub-directory and adds "conflict mpi" to the module files to avoid being able to load multiple mpi modules at one time. https://fedoraproject.org/wiki/Packaging:MPI --- These guideline changes were approved by the Fedora Packaging Committee (FPC). Many thanks to Remi Collet, Orion Poplawski, Michal Sekletar, 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here is the latest set of changes to the Fedora Packaging Guidelines: --- In Fedora, you can assume that the default shell (/bin/sh) is bash. Thus, all scriptlets can safely assume that if they are running in shell code, they are running within bash. https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Default_Shell --- A bundling exception was granted for calibre to bundle their forked version of pyPdf. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions --- A new set of MinGW guidelines are in place for Fedora 17+. These guidelines reflect the existence of mingw32 and mingw64. https://fedoraproject.org/wiki/Packaging:MinGW Older guidelines remain in place for older versions of Fedora (and RHEL 6 or older): https://fedoraproject.org/wiki/Packaging:MinGW_Old --- A section of the Ruby Guidelines concerning the appropriate place to copy C extensions in the spec file template has been clarified and enhanced: https://fedoraproject.org/wiki/Packaging:Ruby#Building_gems --- Guidelines for usage of tmpfiles.d have been updated to better reflect the current stage of Fedora and other Fedora guidelines. In summary: * Dropped the irrelevant talk of "both systemd and upstart" * Prefer talking of /run everywhere instead of /var/run * Ship the packaged files in %{_prefix}/lib/tmpfiles.d/, not %{_sysconfdir}/tmpfiles.d/. * Do not mark the files as %config and add an explanation why. * Use the more usual 'd' specifier instead of 'D'. * Nudge packagers into thinking about the permission mode of their directories, rather than copying the "0710" dogmatically. https://fedoraproject.org/wiki/Packaging:Tmpfiles.d --- The systemd guidelines have been update to reflect the fact that unit files should avoid using StandardOutput= or StandardError=. The default is the right choice for almost all cases, and using the default allows users to change global defaults in /etc/systemd/system.conf. Also, all references to "After=syslog.target" have been dropped, as that is no longer correct or relevant in current versions of Fedora. https://fedoraproject.org/wiki/Packaging:Systemd --- The packaging guidelines now mention that the %make_install macro (*not* to be confused with %makeinstall) may be used instead of "make DESTDIR=%{buildroot}". http://fedoraproject.org/wiki/Packaging:Guidelines#Why_the_.25makeinstall_macro_should_not_be_used --- A new section was added to the guidelines to indicate that Fedora uses gcc as the compiler (for all languages that gcc supports). Packages may only build with an alternative compiler to gcc if upstream does not support gcc. https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Kevin Fenzi, Hans de Goede, Vít Ondruch, Erik van Pienbroek, Petr Pisar, Lennart Poettering, Michal Schmidt, Rahul Sundaram, 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
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_Director
[Guidelines Change] Changes to the Packaging Guidelines
Here are the latest changes to the Fedora Packaging Guidelines: --- The section of the Packaging Guidelines regarding Compiler Flags has been updated and improved, most notably, to document handling of PIE enabled packages. https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags --- The prohibition against unnecessary explicit library requires has been updated with an example of when explicit library requires are useful and allowed. The example addresses packages that use features of a library added after the library initially adopted its current SONAME. https://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires --- An additional md5 implementation was added to the list of bundling exceptions: https://fedoraproject.org/w/index.php?title=Packaging:No_Bundled_Libraries&action=submit#Packages_granted_exceptions --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Kevin Fenzi, Adam Jackson, 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, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here is this week's change to the Fedora Packaging Guidelines: --- The systemd guidelines on naming unit files have been amended to tell packagers how to make compatibility symlinks for alternate service names should their service have had a different name in the past. http://fedoraproject.org/wiki/Packaging:Systemd#Naming --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to the Fedora Community, 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, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the latest changes to the Fedora Packaging Guidelines: --- A section has been added to the SysVInitScript guidelines covering the optional situation where a package that uses systemd unit files as the default also includes sysv initscripts in a subpackage: https://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscripts_in_addition_to_systemd_unit_files --- The GIO scriptlets have been changed to not conditionalize the %post invocation. This works around a multilib issue. https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GIO_modules --- The guideline that prohibits Fedora packages from using /srv has been updated to better represent what the FHS has to say about /srv and to clarify the expectations for Fedora packages which may be configured to use /srv. https://fedoraproject.org/wiki/Packaging:Guidelines#No_Files_or_Directories_under_.2Fsrv --- It was brought to the FPC's attention that while the new Guidelines covering MinGW packaging were technically correct, Fedora 16 did not yet contain the necessary toolchain to support the new Guidelines, nor was it clear that it would arrive in rawhide anytime soon. Accordingly, the "old" MinGW guidelines were put back in place at: https://fedoraproject.org/wiki/Packaging:MinGW The "new" MinGW guidelines remain approved, but are not active and packagers should not use them at this time. If/when the necessary toolchain components are packaged in Fedora, these guidelines will be re-enabled. In addition, the current MinGW guidelines were improved slightly to support the "new" SRPM naming standard. This is intended to prevent new MinGW packages from having to be re-reviewed when the "new" MinGW guidelines take effect. --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Kalev Lember, Matthew Miller, Michael Schwendt, 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, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the latest changes to the Fedora Packaging Guidelines: --- A new set of guidelines have been written for handling systemd in packages: https://fedoraproject.org/wiki/Packaging:Guidelines:Systemd https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd --- A new set of guidelines have been written for packaging Octave packages: https://fedoraproject.org/wiki/Packaging:Octave --- 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. " https://fedoraproject.org/wiki/Packaging:Guidelines#Macros --- 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. https://fedoraproject.org/wiki/Packaging:MinGW https://fedoraproject.org/wiki/Packaging:MinGW_Old --- 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. https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout --- 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. https://fedoraproject.org/wiki/Packaging/Guidelines#File_Permissions --- The Scriptlets for GSettings have been updated to: %postun if [ $1 -eq 0 ] ; then glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : fi %posttrans glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GSettings_Schema --- 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: https://fedoraproject.org/wiki/Packaging/Committee#GuidelineChangeProcedure Thanks, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the changes to the Fedora Packaging Guidelines for this week: --- The Packaging:PHP guidelines have been updated to reflect that PEAR documentation provided by upstream are installed in %{pear_docdir}, should stay there, and must be marked as %doc. Additionally, the definition of pear_docdir has been defined as %{_docdir}/pear. https://fedoraproject.org/wiki/Packaging:PHP --- The Java guidelines have been updated to add information and sample template for Maven 3 (Fedora 15+). https://fedoraproject.org/wiki/Packaging:Java --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Remi Collet, Stanislav Ochotnicky, 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, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the latest set of changes to the Fedora Packaging Guidelines: --- The Emacs packaging guidelines were updated to handle cases where a package's principal functionality does not require (X)Emacs, but the package also includes some auxiliary Elisp files to provide support for the package in (X)Emacs. https://fedoraproject.org/wiki/Packaging:Emacs --- The Scriptlet Snippets section dealing with the order that scriptlets are invoked has been updated to include %trigger scripts. https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering --- A subsection was added to the Packaging Guidelines section on Filesystem Layout in which it is made explicit that binaries in /bin or /sbin must NOT depend on any libraries in /usr/lib or /usr/lib64. https://fedoraproject.org/wiki/Packaging:Guidelines#Binaries_in_.2Fbin_and_.2Fsbin --- The section on Epochs was improved, and clarifying language about Epoch use in Requires was added to the Packaging Guidelines. https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_Epochs https://fedoraproject.org/wiki/Packaging:Guidelines#Requires --- New guidelines were added covering the packaging of Ada programs. https://fedoraproject.org/wiki/Packaging:Ada --- The section on Boostrapping in the Treatment of Bundled Libraries page in the Packaging Guidelines has been amended to add the following: Packages which are built in such a bootstrapping mode must not be tagged for a final release (or pushed as an update for any stable release). FPC will track the progress of approved bootstrapping exceptions via the ticket requesting the bootstrap bundling exception. https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries#Bootstrapping --- Macro forms of system executables (such as %{__rm}) should not be used except when there is a need to allow the location of those executables to be configurable. https://fedoraproject.org/wiki/Packaging:Guidelines#Macros --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Hans Niedermann, Jonathan Underwood, Pavel Zhukov, 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, ~spot ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the latest set of changes to the Fedora Packaging Guidelines: --- A new page has been added which describes how to deal with bundled libraries when you find them in your package: https://fedoraproject.org/wiki/Packaging/Treatment_Of_Bundled_Libraries --- Some clarification has been added to the sections dealing with bundled libraries, specifically that: In this RPM packaging context, the definition of the term 'library' includes: compiled third party source code resulting in shared or static linkable files, interpreted third party source code such as Python, PHP and others. At this time JavaScript intended to be served to a web browser is specifically exempted from this but this will likely change in the future. https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries Also, a note was added to make it clear that multiple licensing scenarios may be a good indicator of a bundled library situation: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios --- A section has been added to the Packaging:Guidelines#Changelog entry describing the acceptable methods of having multiple changelog entries per release: https://fedoraproject.org/wiki/Packaging:Guidelines#Multiple_Changelog_Entries_per_Release --- A new example of a reason an exception for bundling libraries might be granted has been added to the guidelines. If the library is being bundled because it is a snapshot of a newer release of the library needed for new features, you may have grounds for an exception. See the complete policy for details on when an exception might be granted for this reasoning. https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Needing_unreleased_features --- Fedora has always implied that the update path from Fedora release to Fedora release and from Fedora release to updates should be maintained but there wasn't an explicit statement in the Guidelines. Well, there is now. https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning --- The guidelines have been updated to indicate that %doc files must not have executable permissions. https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation --- The section on Requiring Base Package was clarified, as the original language involving -libs packages may have been confusing: https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Steven Garcia, Nils Philippsen, FESCo 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the list of this week's changes to the Fedora Packaging Guidelines: The FPC has taken over evaluating exceptions to the Bundled Library Guidelines. A list of standard questions to be answered to give the FPC information on whether to grant exceptions has been added to the Guidelines: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Standard_questions --- An exception was added to the Guidelines concerning use of %{_sourcedir}, specifically, when there is an available list of supplementary source files, it is permissible to use this list in conjunction with %{sourcedir} to simplify operations on those supplementary source files. https://fedoraproject.org/wiki/Packaging:RPM_Source_Dir --- rpm %post and %postun scripts have been added for the following important pieces of GNOME3 technology: GSettings, gdk-pixbuf loaders, GTK3 modules, and GIO modules: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GSettings_Schema https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#gdk- pixbuf_loaders https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GTK.2B_modules https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#GIO_modules --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Kevin Kofler, Matthias Clasen, FESCo 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines
Here are the list of recent changes to the Fedora Packaging Guidelines: D Packaging Guidelines have been added: https://fedoraproject.org/wiki/Packaging:D --- The Java Packaging Guidelines have been revised: https://fedoraproject.org/wiki/Packaging:Java Diff: https://fedoraproject.org/w/index.php?title=Packaging%3AJava&diff=206526&oldid=154023 --- The Guideline that explains how and when to require base packages has been substantially revised. The old language focused on -devel packages and left other subpackages to the imagination of the reader. The update has more generic advice and uses -devel and -libs packages as examples. http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage --- The perl guidelines have been updated with additional examples and clarifications. Specifically, the Directory ownership, requires and provides, and testing sections have seen wording changes: https://fedoraproject.org/wiki/Packaging:Perl --- A guideline was added explaining the %pretrans scriptlet and requiring that if used it must be written in Lua. https://fedoraproject.org/wiki/Packaging/Guidelines#The_.25pretrans_scriptlet --- A note was added about additional checks obtained by running rpmlint on installed packages. https://fedoraproject.org/wiki/Packaging/Guidelines#Use_rpmlint --- These guidelines (and changes) were approved by the Fedora Packaging Committee (FPC). Many thanks to Alexander Kurtakov, Jonathan Mercier, Stanislav Ochotnicky 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 ___ devel-announce mailing list devel-announce@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel-announce
[Guidelines Change] Changes to the Packaging Guidelines 04/09 - 02/10
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#Guide