#836 Source File Verification
Merged by ignatenkobrain. Opened by rombobeorn.
rombobeorn/packaging-committee master  into  master

Download 836.patch

This is my proposal for a signature verification policy to resolve issue 610. It relies on the pull request https://src.fedoraproject.org/rpms/fedora-rpm-macros/pull-request/1, which makes the code templates simpler than in the proposal in the wiki. I have expanded the policy on how to obtain the keys, as that's the step where everything depends on the vigilance of the packager.

I don't have problem with MUST, but probably SHOULD would be more appropriate.

That "MUST" was there already in David Woodhouse's proposal in 2016. I can change it if the FPC wants. What do others think?

I agree, MUST is a bit strong here.
Especially since it would render all existing .specs for packages with verifiable upstream sources non-conformant.

Why not use plain gpg2 as suggested in https://pagure.io/packaging-committee/issue/610#comment-535966 ? It'll work across EPEL and Fedora the same way.

Metadata Update from @ignatenkobrain:
- Request assigned

Why not use plain gpg2 as suggested in https://pagure.io/packaging-committee/issue/610#comment-535966 ?

Because that's much harder to do right for packagers who aren't GnuPG experts:

  1. GnuPG doesn't accept armored keyrings, so a separate dearmoring step may or may not be necessary. This requires packagers to understand what ASCII-armor is, and makes for complex instructions in the guidelines, which are already uncomfortably long. Using my script, packagers don't need to even know that there is a difference between armored and unarmored keyrings.

  2. GnuPG requires specific unintuitive parameters, or else it may use the wrong keyring. This again makes the instructions complex. People tend to ignore instructions when they don't understand why the instructions are necessary. Some will undoubtedly try to simplify the command by omitting "--homedir" and "./", and thereby introduce security bugs. My script doesn't allow itself to be used wrong.

It'll work across EPEL and Fedora the same way.

So will my script. I have tested it in CentOS 6 and 7. We can add the script and macro to a suitable EPEL package and have them work the same way across EPEL and Fedora. Would epel-rpm-macros be a good choice?

rebased onto 8a80fb391e0b729085fbec7d7df36512af9c256b

I have updated the proposed text to show that spec files must require GnuPG, matching this pull request:
https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/54

I have also weakened the policy to "SHOULD" as requested.

double quotes are not needed here.

use

`+%gpgverify+`

please

Once redhat-rpm-config is merged, I'll merge this as well. Sorry for such long delay.

Well, I disagree about the grammar. The percent sign isn't part of the macro name, it's syntax for expanding a macro. But I won't let an important security policy be held up by a squabble about grammar.

rebased onto 898ef9bc8ebaf4832f63afcfdf7b18f3812d627c

I made the two requested grammar changes, and suddenly this pull request shows as a gigantic patch with 48 changed files. According to Git the added section "Source File Verification" is the only difference. I guess Pagure must be confused somehow.

Yeah, I think you'd need to do rebase on top of master.

rebased onto cfe72dcaee6bb35f2b21dbd38b3b187898ee1a45

Sigh. OK, I reapplied all the commits. Now the commit history is linear and simple, and Pagure seems able to understand it.

1 new commit added

  • spelling

rebased onto 5863fcf4b54fa51acebd0c2abe5092dd99e71a1a

Commit 957404ef fixes this pull-request

Pull-Request has been merged by ignatenkobrain

Pull-Request has been merged by ignatenkobrain

Metadata