When did it change from Requires: gnupg2 to Requires: gpgverify by the way? The issue I have with that is we do not have that tiny thing in RHEL.

I try to keep the most recent rawhide branch buildable in RHEL too, without any modifications. ELN branch is exactly building rawhide branch like RHEL. Because we do not have gpgverify in RHEL, any package with BuildRequires: gpgverify will fail to build on RHEL10, CentOS 10 and even in eln branch, afaik.

This seems like major issue in new proposed way. I fail to see a good reason for it. gnupg2 provides everything on RHEL9 and RHEL10 and worked well enough. This creates a regression compared to previous state. It works on epel branches, but not on centos only repositories.

https://gitlab.com/redhat/centos-stream/rpms/gpgverify

On 16/01/2026 17:12, Michael J Gruber wrote:
Petr Menšík venit, vidit, dixit 2026-01-16 16:55:25:
I think it would help for a start, if we allowed verification of
signatures by something different than gnupg2. It MUST be done by
%{gpgverify} macro, meaning using sequia-sqv is not allowed. Can we
change that, please?

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_verifying_signatures

I have done that in dnsmasq for a test. It is nice, but parameters of
sqv are a bit different.

https://src.fedoraproject.org/rpms/dnsmasq/pull-request/24

I think sqv should be officially allowed, unless there exist well
specified reason why not.
Do you envisage different packages using different verification tools? I
don't think that flies well.

I do not read the guidelines as requiring that gpgverify needs to be
*that* gpgverify, only:

```
The verification MUST be done with the macro %{gpgverify}, which expands into a 
command whose parameters shall be the pathnames of the keyring, the signature 
and the signed file. BuildRequires: gpgverify is necessary for the verification 
to work.
```

I read it like MUST used in RFCs, https://datatracker.ietf.org/doc/html/rfc2119#section-1. Not optional. SHOULD would have to be used there instead.

This has certainly changed. All my packages with PGP signature still have BuildRequires: gnupg2 with rpm -E %gpgverify pointing to /usr/lib/rpm/redhat/gpgverify. This is a change that needs modification in my opinion.

I think redhat-rpm-config should provide %gpgverify_requires gpgverify on Fedora. It might be provided also on RHEL10 and RHEL9 package, where it would still contain %gpgverify_requires gnupg2. Kind of similar to %systemd_requires or %pyproject_buildrequires.

If we use macros for build dependency, we could insert also %gpgverify_requires (sequoia-sqv or gnupg2). That would work also on RHEL systems without Fedora EPEL repositories enabled. It should be simple to detect presence of at least one of such tools in shell script and verify it.

What I do not understand is, why is not gpgverify in normal /usr/bin/gpgverify? It should have also man page perhaps?


sqv's purpose is not being a drop-in replacement. That purpose is served
by `gpgv-sq` from `sequoia-chameleon-gnupg`. `gpgverify` from the same
named package wraps `gpgv` and could simply wrap `gpgv-sq` instead, or
`sqv`. That way no package needs to change, assuming existing signatures
are "v4 or below".
We do not have to use drop-in replacement of gnugp2. What we have already in gpgverify is a shell wrapper, transforming used parameters. I see no reason why the same wrapper cannot support also verification using sqv tool. The only difference is in --data= parameter. sqv also prefers to specify --signature-file, we have that parameter parsed. I am sure that can be fixed by the shell script itself.

Alternatively, the gpgverify macro could call `sqv` directly, keeping
the macro call signature as is.

I mean, if we use sq for rpm signatures we can use it for source tarball
checks by default, can't we?

Cheers
Michael

--
Petr Menšík
Senior Software Engineer, RHEL
Red Hat, https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB

--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to