Automatic virtual provides for RPM macros?
by Miro Hrončok
Hello,
today at Nest, somebody said "unfortunately, there is no way to tell what
package to install to get a particular RPM macro".
I think that having an RPM provides generator for "rpm-macro(__python3)" or
similar should be a fairly simple exercise.
Would you folks consider that useful?
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
2 months, 4 weeks
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
9 months, 4 weeks
How do I get the source package _name_ from an RPM?
by Matthew Miller
rpm -qa --qf '%{sourcerpm}\n'
gives me a list of source RPM names, but it's in filename format. I don't
want to have to try to parse that to figure out the actual source package
base name (i.e. the dist-git name). Is there something I'm missing? Probably
there is. :)
--
Matthew Miller
<mattdm(a)fedoraproject.org>
Fedora Project Leader
1 year, 6 months
Should we have rpm package policies tying extension packages to the GNOME versions they'll work with?
by Matthew Miller
See this Ask Fedora topic: https://ask.fedoraproject.org/t/fedora-34-extensions-installed-from-dnf-d...
In short, some rpm-packaged GNOME Shell extensions don't work with the GNOME
Shell we are shipping, but this isn't expressed in the dependencies.
I looked at the package which triggered the question, and:
$ rpm -qRp gnome-shell-extension-sound-output-device-chooser-39^1.8c90ed0-1.fc35.noarch.rpm
gnome-shell-extension-common
python3
rpmlib(CaretInVersions) <= 4.15.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
and
$ rpm2cpio gnome-shell-extension-sound-output-device-chooser-39^1.8c90ed0-1.fc35.noarch.rpm |cpio -i --quiet --to-stdout './usr/share/gnome-shell/extensions/*/metadata.json'|jq '."shell-version"'
[
"3.32",
"3.34",
"3.36",
"3.38",
"40"
]
Would it make sense to have an automatic dependency generator which requires
gnome-shell to be one of those versions? (Or conflicts with gnome-shell which is
_not_ those versions?)
--
Matthew Miller
<mattdm(a)fedoraproject.org>
Fedora Project Leader
1 year, 6 months
Re: Should we have rpm package policies tying extension packages to the GNOME versions they'll work with?
by Matthew Miller
On Mon, Nov 15, 2021 at 01:40:39PM +0100, Frantisek Zatloukal wrote:
> On the other hand though, I barely remember that the compatibility check by
> GNOME was re-introduced with GNOME 40 and it may be disabled by default in
> the future again.
>
> Matthew, can you ask the GNOME folks if they have any plans about this? If
> the compatibility enforcement was to be disabled again, this "may not" (I
> am not 100 % sure about this) be necessary at all (the extensions worked
> throughout different GNOME versions before 40 just fine in the most cases,
> without any fixing and tweaking)?
It seems like the upstream consensus* is that it's better to keep the check,
so that someone at least looks and does the update. And honestly, I think
that's completely reasonable for extensions that we've chosen to
specifically make available in RPM form as part of the Fedora Linux distro.
But it'd be nice to have tooling (both upstream and in Fedora) to help
extension developers and maintainers. I don't know how much capacity we have
for openqa testing of something like this, or what GNOME can offer.
* https://discourse.gnome.org/t/plans-for-extension-validation-setting/8107
and https://discourse.gnome.org/t/unable-to-download-updates-from-extentions-...
--
Matthew Miller
<mattdm(a)fedoraproject.org>
Fedora Project Leader
1 year, 6 months
Re: Should we have rpm package policies tying extension packages to the GNOME versions they'll work with?
by Matthew Miller
On Mon, Nov 15, 2021 at 01:40:39PM +0100, Frantisek Zatloukal wrote:
> Matthew, can you ask the GNOME folks if they have any plans about this? If
> the compatibility enforcement was to be disabled again, this "may not" (I
> am not 100 % sure about this) be necessary at all (the extensions worked
> throughout different GNOME versions before 40 just fine in the most cases,
> without any fixing and tweaking)?
Sure, or some of the folks on the desktop list here who might be already in
the know could chime in. :)
I kind of think it'd be useful to at least _alert_ maintainers and ask them
to test and update (either to a new version, or just patch the compat list
if the current one works), no matter what that setting ends up as.
--
Matthew Miller
<mattdm(a)fedoraproject.org>
Fedora Project Leader
1 year, 6 months