- Package:
- git-buildpackage
- Source:
- git-buildpackage
- Submitter:
- Guido Günther
- Date:
- 2025-08-23 18:27:01 UTC
- Severity:
- wishlist
gbp-import-ref should be able to use `debian/upstream/signing-key.asc` to check git tag signatures when importing. Cheers, -- Guido
This is a comment to both Bug#839866 import-orig: please make --upstream-vcs-tag=... verify tag signatures Bug#980927 import-ref: Check tag signatures The function to verify git tags is already in https://salsa.debian.org/agx/git-buildpackage/-/commit/07b86440438286a03ffa7b314534f9bbb3d0a805 but it is currently not being used anywhere. I wish that gbp import-ref and gbp import-orig *if* gbp.conf:upstrem-vcs-tag would automatically attempt to run `git verify-tag` and emit a warning if the upstream signature does not have a signature, encouraging Debian maintainers to ask upstream to start using signed git tags. When the upstream tag does have a signature, gbp would emit a warning if the tag wasn't signed with `debian/upstream/signing-key.asc`. Additionally, there should be a new config option `upstream-git-signatures`, which if set would make the warnings errors and refuse to import if tag was not signed, or the key didn't match. In some cases the `debian/upstream/signing-key.asc` might be a release CI key, while the git tags might be signed by individual authors. Thus we might also need to support something like `debian/upstream/signing-keyring.asc` that has all valid upstream release tag authors.
Otto Kekäläinen <otto@debian.org> writes: +1 I think upstream tag signature verification failures should be an error, not a warning. That would be consistent with uscan, doesn't it also fail on pgp key signature failures? I believe signing-key.asc can contain multiple keys already. /Simon
Hi, Yes, that is what I tried to mean with what I wrote above :) Opportunistically check everything and warn if they things are missing, and when told via gbp.conf what to expect from upstream, then enforce it and abort imports if requirements not met. Yes, most of the time, but if gbp.conf:upstream-signatures=on is used it can to enforce that no imports can happen without downloading the signature. We should encourage people to use a gbp.conf and not rely on if a maintainer happens to remember to pass a certain flag to gbp or uscan or not. Probably, but I feel a little bit at unease of mixing "official" release signing keys with upstream author personal keys (what is typically used for signing tags).
There seems to be 3 bug reports about checking upstream release tag signatures: Bug#839866 import-orig: please make --upstream-vcs-tag=... verify tag signatures Bug#871806: uscan: (dpkg, git-buildpackage) accept/mangle/store signed git tags in cases where upstream does not publish detached sigs on tarballs Bug#980927 import-ref: Check tag signatures