[Guidelines change] Changes to the packaging guidelines

2019-01-17 Thread Jason L Tibbitts III
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

2018-09-17 Thread Jason L Tibbitts III
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

2018-07-24 Thread Jason L Tibbitts III

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

2018-06-15 Thread Jason L Tibbitts III
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

2018-05-25 Thread Jason L Tibbitts III
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

2018-04-23 Thread Jason L Tibbitts III

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

2018-02-14 Thread Jason L Tibbitts III
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

2018-01-30 Thread Jason L Tibbitts III
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

2017-11-01 Thread Jason L Tibbitts III
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

2017-06-07 Thread Jason L Tibbitts III
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

2017-03-03 Thread Jason L Tibbitts III
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

2017-02-17 Thread Jason L Tibbitts III
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

2017-02-17 Thread Jason L Tibbitts III
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

2016-08-18 Thread Jason L Tibbitts III
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

2016-05-11 Thread Jason L Tibbitts III
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

2016-03-29 Thread Jason L Tibbitts III
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

2016-02-25 Thread Jason L Tibbitts III
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

2016-02-18 Thread Jason L Tibbitts III
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

2015-11-10 Thread Jason L Tibbitts III
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

2015-08-04 Thread Jason L Tibbitts III
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

2015-07-08 Thread Jason L Tibbitts III
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

2015-05-21 Thread Jason L Tibbitts III
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

2015-04-23 Thread Jason L Tibbitts III
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

2015-03-10 Thread Jason L Tibbitts III
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

2015-02-06 Thread Jason L Tibbitts III
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

2014-03-08 Thread Tom Callaway
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

2013-04-10 Thread Tom Callaway
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

2013-02-24 Thread Tom Callaway
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

2013-01-09 Thread Tom Callaway
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

2012-10-31 Thread Tom Callaway
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

2012-06-06 Thread Tom Callaway
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

2012-02-06 Thread Tom Callaway
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

2011-09-22 Thread Tom Callaway
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

2011-05-28 Thread Tom Callaway
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

2011-05-18 Thread Tom Callaway
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

2011-04-28 Thread Tom Callaway
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

2011-03-24 Thread Tom Callaway
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

2011-03-21 Thread Tom Callaway
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

2011-02-04 Thread Tom Callaway
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

2010-12-09 Thread Tom Callaway
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

2010-11-17 Thread Tom "spot" Callaway
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

2010-11-17 Thread Tom "spot" Callaway
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

2010-03-03 Thread Tom "spot" Callaway
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