Hello packagers,
the Fedora Packaging Committee has been asked to send summaries of changes in
the Fedora Packaging Guidelines. Here is my attempt to do that. Since this
hasn't been done in years, this first announcement sets the boundary of what to
announce somewhat arbitrarily. I will try to followup on this announcement in
the future once there is something new to announce.
Here are the noteworthy "recent" changes, newest to oldest (more or less):
-------------------------------------------------------------------------------
Perl packages are no longer required to have:
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo
$version))
https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/#_versione...
https://pagure.io/packaging-committee/pull-request/1242
-------------------------------------------------------------------------------
New section: Ansible Collection Packaging Guidelines
https://docs.fedoraproject.org/en-US/packaging-guidelines/Ansible_collect...
https://pagure.io/packaging-committee/pull-request/1201
-------------------------------------------------------------------------------
Rust packages are no longer required to have:
ExclusiveArch: %{rust_arches}
https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/
https://pagure.io/packaging-committee/pull-request/1222
-------------------------------------------------------------------------------
GAP packaging guidelines have been updated, packages MUST use:
ExclusiveArch: %{gap_arches} (noarch)
https://docs.fedoraproject.org/en-US/packaging-guidelines/GAP/
https://pagure.io/packaging-committee/pull-request/1211
-------------------------------------------------------------------------------
Packages are told not to conditionalize Sources definitions
(e.g. on %fedora or %rhel).
https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_do_...
https://pagure.io/packaging-committee/pull-request/1163
-------------------------------------------------------------------------------
Packagers SHOULD NOT simply glob everything under a shared directory.
E.g. this SHOULD NOT be used in %files:
%{_bindir}/*
%{_datadir}/*
%{_includedir}/*
%{_mandir}/*
%{_docdir}/*
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists
https://pagure.io/packaging-committee/pull-request/1160
-------------------------------------------------------------------------------
Packages MUST use the SPDX license identifiers in the License tag.
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidel...
https://pagure.io/packaging-committee/pull-request/1142
-------------------------------------------------------------------------------
Python packages SHOULD undefine macros if they need to remove some default
flags from Python shebangs.
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_shebangs
https://pagure.io/packaging-committee/pull-request/1191
-------------------------------------------------------------------------------
Java packages MUST use:
ExclusiveArch: %{java_arches}
https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_architec...
https://pagure.io/packaging-committee/pull-request/1187
-------------------------------------------------------------------------------
I've decided to end here. If you think I've omitted something important, let me
know.
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok