@m040601, you're confusing hash verification with PGP verification. They work differently and provide different security guarantees, you can look that up if you’re interested. gtypist uses both for added security, but gtypist-git uses neither.
Hash verification is impossible in -git packages because you get a different source every time you build them, that's the whole point of VCS packages. PGP verification, on the other hand, is impractical: for the package to enforce it without constantly failing, every single commit would need to be signed, and signed with a known key (e.g., one listed in validpgpkeys=()).
That said, it is technically possible (though not practical) to skip hash verification and still use PGP verification:
source=("git+https://git.savannah.gnu.org/git/gtypist.git?signed" # <- ?signed enables PGP verification
ncurses.patch)
sha256sums=('SKIP'
'SKIP')
validpgpkeys=('...')
When yay calls gpgme (the PGP frontend utility) to retrieve keys based on the fingerprints listed in validpgpkeys=(), it contacts a keyserver. You’re getting the "no data" error because your default keyserver doesn't have the key:
$ gpg --recv-keys 0FB807D2E7C7C96C
gpg: keyserver receive failed: No data
If you switch to a keyserver that does have it, you'll instead get an error about a missing user ID:
$ gpg --keyserver hkps://keys.openpgp.org --recv-keys 0FB807D2E7C7C96C
gpg: key 0FB807D2E7C7C96C: new key but contains no user ID - skipped
gpg: Total number processed: 1
gpg: w/o user IDs: 1
Both errors occur because the key owner didn't export it properly or upload it to common keyservers. You could try contacting them using the email associated with the correct key, but I didn't bother.
Pinned Comments
vitaliikuzhdin commented on 2026-04-10 17:45 (UTC)
To import the PGP key:
This is the only location where I could find a valid key with a unique user ID, it comes from OpenSUSE: https://build.opensuse.org/package/show/Education/gtypist