Add Arch Linux repository setup and key troubleshooting

warkanum committed 2026-10-15 16:55:26 +00:00
commit 19ab7aeaf8
1 file changed
+52
+52
@@ -0,0 +1,52 @@
# Arch Linux Repository
## Setup
`/etc/pacman.conf`:
```ini
[relspec]
SigLevel = Optional TrustAll
Server = https://git.warky.dev/api/packages/wdevs/arch/$repo/$arch
```
Import the signing key:
```sh
curl -sSf https://git.warky.dev/api/packages/wdevs/arch/repository.key -o /tmp/relspec.key
sudo pacman-key --add /tmp/relspec.key
sudo pacman-key --lsign-key <FINGERPRINT>
```
Get the fingerprint: `gpg --show-keys /tmp/relspec.key`
Install: `yay -Sy relspec` (or `sudo pacman -Sy relspec`)
## Troubleshooting: unknown key
```
error: relspec: key "<KEYID>" is unknown
error: database 'relspec' is not valid (invalid or corrupted database (PGP signature))
```
- Cause: the registry signing key was rotated; the local keyring has the old key.
- `SigLevel = Optional TrustAll` does not help — a signature from a missing key still fails.
- `keyring is not writable` only means the command ran without root; it is not the cause.
Fix: re-import the current key (Setup steps above), then `yay -Sy relspec`.
Check which key signs the DB:
```sh
curl -sSfO https://git.warky.dev/api/packages/wdevs/arch/relspec/x86_64/relspec.db.sig
gpg --list-packets relspec.db.sig | grep 'issuer fpr'
```
Remove an old key: `sudo pacman-key --delete <OLD_FINGERPRINT>`
## Key history
| Fingerprint | Created |
|---|---|
| `13DACD9EE6E5BA4ED059113B4672DC0F3BDF6DE9` | 2026-10-14 (current) |
| `3354C1D1D0277531BB57A2E71289ABA000C5D933` | 2026-09-11 (old) |