RPM-level auto release and changelog bumping - Fedora 33 System-Wide Change proposal
by Ben Cotton
https://fedoraproject.org/wiki/Changes/rpm_level_auto_release_and_changel...
== Summary ==
redhat-rpm-config will be updated so users of the auto framework get
automated release and changelog bumping.
== Owner ==
* Name: [[User:nim| Nicolas Mailhot]]
* Email: <nicolas.mailhot at laposte.net>
== Detailed Description ==
This is a system-wide change because all packages build with
redhat-rpm-config, but it only concerns packages that opted to use
this part of redhat-rpm-config (auto framework).
The change will make those packages auto-bump and auto-changelog at
the rpm level, in an infrastructure-independent way.
== Benefit to Fedora ==
Autobumping removes a huge packager shore and makes timestamping in
changelogs more reliable.
== Scope ==
* Proposal owners: The feature is coded and works at the rpm level.
Unfortunately, mock filters away the srpms containing the bump state,
so it does not work in upper layers.
* Other developers: The feature requires buy-in by mock developers
(and probably koji developers) to lift the restrictions that block it
above the rpm level. Also, it requires a mechanism to pass the user
name and email that will be used in bumped changelogs (defining two
variables in ~/.rpmmacros is sufficient at rpm level)
* Mock issue: https://github.com/rpm-software-management/mock/issues/599
* Release engineering: https://pagure.io/releng/issue/9567
* Policies and guidelines: maybe eventually if things work out on the
technical level
* FPC issue: https://pagure.io/packaging-committee/issue/998
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This is a pure build tooling update, it changes how things are built
not what is built.
== How To Test ==
A redhat-rpm-config packages with the changes and some example
packages are available in
https://copr.fedorainfracloud.org/coprs/nim/refactoring-forge-patches-aut...
Since the mock/copr layer is currently blocking the feature, you need
to install the redhat-rpm-config and forge macro packages available in
this repo locally. Afterwards you can take any of the example packages
in the repo and rebuild them with rpmbuild -ba to your heart content,
and see the releases bump and the changelogs being updated
accordingly.
To get beautiful changelogs, you also need to add
<pre>
%buildsys_name Your name
%buildsys_email Your email
</pre>
in ~/.rpmmacros
== User Experience ==
N/A Packager experience change only
== Dependencies ==
The change is a spin-off of
https://fedoraproject.org/wiki/Changes/Patches_in_Forge_macros_-_Auto_mac...
Therefore, it depends on the success of that other change and will
probably need rebasing if the code in this other change evolves during
the redhat-rpm-config merge.
It also depends on mock / copr/ koji buy-in and changes, that may add
their own requirements.
== Contingency Plan ==
There is no contingency plan because the change will happen or not at all.
== Documentation ==
There is as much documentation as the average redhat-rpm-config change
(ie comments in the macro files themselves)
== Release Notes ==
N/A Packager productivity change only
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
1 year, 3 months
Odd problem with obsoletes in EPEL8
by Martin Jackson
Hello,
I'm having a problem I don't understand how to fix, and I would
appreciate some guidance. I'm maintaining nagios-plugins, which bundles
a number of different "check" plugins and has some metapackages that
include different subsets of those check plugins.
In the EL 8.2 release cycle, one of the dependencies of one of those
plugins was moved from EPEL into EL proper, which broke new installs of
that plugin and the -all metapackage. A user filed a bug, so as a
temporary workaround, I stopped building the plugin package with that
dependency (nagios-plugins-ssl_validity, and had that version
(nagios-plugins-2.3.3-3) obsolete the ssl_validity plugin, since leaving
it around caused it to want to keep the base package in conflict with
other packages that were upgrading.
Now that CentOS 8.2 is released, and the dependency is available, I've
issued an update
(https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-70bcfe5382)
that builds ssl_validity again, and also adds it back to the -all
subpackage. I can upgrade it sucessfully (which installs the
ssl_validity plugin again, as expected), but subsequent calls to dnf
upgrade give this error:
Obsoleting Packages
nagios-plugins.x86_64 2.3.3-3.el8 epel
nagios-plugins-ssl_validity.x86_64 2.3.3-4.el8 @epel-testing
nagios-plugins 2.3.3-3 is not installed anymore, and there are no
explicit Obsoletes: in the ssl_validity package. I'm not sure what
needs to be done here, but whatever it is I'm willing to make the
change. Also wondering if this is expected behavior.
Thanks,
Marty
2 years, 4 months
Directory ownership of %{_datadir}/icons/hicolor
by Otto Urpelainen
Hello packagers,
I have problems interpreting Packaging Guidelines section File and
Directory Ownership [1] for icons application place in
%{_datadir}/icons/hicolor. I ran into this during package review for
dosbox-x [2], but I think the issue is more general than that, because
many applications add their icons to the (default, fallback) hicolor theme.
So the package places application's icon to
%{_datadir}/icons/hicolor/scalable/apps/dosbox-x.svg. From the
guidelines, it is clear that for all directories in the chain, one of
the following has to be true:
1. Package owns the directory
2. A dependency package owns the directory
3. _filesystem_, _man_ or "other explicitly created -filesystem
package" own the directory
Item 3 takes care of %{_datadir}/icons part, because that is included in
_filesystem_. The remainder hicolor/scalable/apps is unclear for me.
Method 1 could be used. But there is also package _hicolor-icon-theme_.
Is that package an "explicitly created -filesystem package", so method 3
could be used? That would feel natural, because hicolor is the fallback
theme that must exist according to freedesktop.org specification.
Related but separate question about the guidelines: Section Unowned
Directories:Inaccessible Directories [3] discusses a problem that is
only relevant to Fedora < 9 and RHEL < 5.3. It does not really contain
any information that is relevant today. Should that section simply be
removed?
Otto
[1]:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_dire...
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1919639
[3]:
https://docs.fedoraproject.org/en-US/packaging-guidelines/UnownedDirector...
2 years, 5 months
Summary/Minutes from today's FPC Meeting (2021-03-25 16:00 - 17:00 UTC)
by James Antill
======================
#fedora-meeting-1: fpc
======================
Meeting started by geppetto at 16:01:10 UTC. The full logs are available
at
https://meetbot.fedoraproject.org/fedora-meeting-1/2021-03-25/fpc.2021-03...
.
Meeting summary
---------------
* Roll Call (geppetto, 16:01:10)
* Schedule (geppetto, 16:06:30)
* LINK:
https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproje...
(geppetto, 16:06:34)
* #1055 can't navigate to pkg instructions from fedoraproject.org
(geppetto, 16:07:33)
* We don't really know what we need to do here (geppetto, 16:17:18)
* #1058 How to handle %lang files in package owned directories?
(geppetto, 16:17:33)
* #1055 can't navigate to pkg instructions from fedoraproject.org
(geppetto, 16:21:04)
* ACTION: tibbs to add link to Join document from packaging guidelines
(geppetto, 16:27:28)
* #1058 How to handle %lang files in package owned directories?
(geppetto, 16:30:42)
* ACTION: tibbs to ask if anyone knows what gettext is supposed to do
(geppetto, 16:53:18)
* Open Floor (geppetto, 16:55:55)
Meeting ended at 17:00:41 UTC.
Action Items
------------
* tibbs to add link to Join document from packaging guidelines
* tibbs to ask if anyone knows what gettext is supposed to do
Action Items, by person
-----------------------
* tibbs
* tibbs to add link to Join document from packaging guidelines
* tibbs to ask if anyone knows what gettext is supposed to do
* **UNASSIGNED**
* (none)
People Present (lines said)
---------------------------
* geppetto (68)
* tibbs (42)
* Eighth_Doctor (18)
* zodbot (13)
* bcotton (6)
* cstratak (5)
* limburgher (4)
* carlwgeorge (2)
* austinpowered (1)
Generated by `MeetBot`_ 0.1.4
.. _`MeetBot`: http://wiki.debian.org/MeetBot
2 years, 8 months
Re-review
by Alessio
Hello.
The redir package was orphaned some time ago. I often use this command and I would like to continue to see it in the Fedora repository.
Original (upstream) redir software is at version 2.2.1 for many years, and it seems that upstream is no more maintaining/developing it.
However there is a 3.x version maintained on github.
The new upstream developer states that:
"Redir was originally created by Sam [http://sammy.net/~sammy/hacks/]Creasey[http://sammy.net/~sammy/hacks/] and is now developed and maintained at GitHub[https://github.com/troglobit/redir] by Joachim Nilsson[http://troglobit.com]."
Indeed the command, its options and how it operates are the same.
However, since upstream source code location for version 3.x should change, and since the spec file should require some interventions, like removing patch files and some other stuff, does the package require a re-review?
Thanks,
A.
2 years, 8 months
Is srpm allowed to violate a license if %prep restores compliance?
by Otto Urpelainen
Greetings,
I am doing my first Fedora package review [1], for litehtml library. The
source tree contains some bundled items that, in violation of original
licenses, do not include a copy of the relevant licenses. There are two
problem items:
1. gumbo-parser is included in source form and only contains link to the
correct license in source files and repository README, but license text
itself is not included like the license, Apache Software License 2.0,
demands.
2. tools/xxd.exe is included as a (Windows) binary used during the
build. It does not have any mention of licensing. Supposedly, it comes
from Vim [2] and uses the Vim License [3], which also demands including
copy of the license.
Neither of these are actually required for anything. Fedora already has
the gumbo-parser package that can be used, while the Windows binary is
obviously useless, but the vim-common package contains a usable xxd binary.
Since neither 1 or 2 is needed for anything, they can be removed in
%prep section of the specfile. However, they still end up in the srpm.
The fedora-review tool does not see this as a problem: "Note: Checking
patched sources after %prep for licenses."
Is it really so that srpms are allowed have content that violates
licenses, as long as %prep removes them? I am not able to find any
explicit confirmation for this interpretation the the Licensing
Guidelines [4]. Actually, the guidelines are generally do not make a
clear distinction between srpms and binary rpms.
Perhaps somebody on this list understands this topic and can explain how
this situation should be handled?
Regards,
Otto
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1939875
[2]: https://github.com/vim/vim/tree/master/src/xxd
[3]: https://github.com/vim/vim/blob/master/LICENSE
[4]:
https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidel...
2 years, 8 months
Ignoring backup-file-in-package
by Vitaly Dolgov
Hi, everybody!
I'm working on a new RPM spec for Pd (Pure Data). And there is an error
from `rpmlint` (actually, `fedpkg --release f33 lint`) that I
cannot solve:
E: backup-file-in-package /usr/lib64/pd/extra/bob~
This is not a backup file, but a directory and there are
several of them. In Pd tilde in the end is used for so-called 'audio'
objects, so I cannot exclude these paths.
In which way should I modify spec to conform lint rules?
Thanks,
Vitaly
2 years, 8 months