| Repo | Role |
|---|---|
zync-sh/zync |
App source; builds .pkg.tar.zst in release CI |
zync-sh/zync-arch |
Public pacman repo (GitHub Pages) |
- In
zyncrelease:zync-<version>-1-x86_64.pkg.tar.zst(from the.deb) plus GPG*.pkg.tar.zst.sigafter the pacman-repo job signs (forpacman -Ufrom GitHub Releases) - Job
pacman-repo:- Imports
GPG_PRIVATE_KEY(same identity as APT:releases@zync.thesudoer.in) - Detach-signs packages + DB
- Writes
key.gpgfor users - Pushes to
zync-archgh-pages
- Imports
Layout:
CNAME
key.gpg
x86_64/
zync-<ver>-1-x86_64.pkg.tar.zst
zync-<ver>-1-x86_64.pkg.tar.zst.sig
zync.db.tar.zst
zync.db.tar.zst.sig
…
curl -fsSL https://arch.zync.thesudoer.in/key.gpg -o /tmp/zync.gpg
sudo pacman-key --add /tmp/zync.gpg
FPR="$(gpg --show-keys --with-colons /tmp/zync.gpg 2>/dev/null | awk -F: '/^fpr:/ { print $10; exit }')"
sudo pacman-key --lsign-key "$FPR"
sudo tee /etc/pacman.d/zync.conf >/dev/null <<'EOF'
[zync]
SigLevel = Required TrustedOnly
Server = https://arch.zync.thesudoer.in/$arch
EOF
grep -q 'pacman.d/zync.conf' /etc/pacman.conf || \
echo 'Include = /etc/pacman.d/zync.conf' | sudo tee -a /etc/pacman.conf
sudo pacman -Syu zync- Bootstrap
gh-pages—zync-arch/docs/PAGES.md - Pages domain:
arch.zync.thesudoer.in - Secrets on
zync:RELEASE_TOKEN(push to zync-arch),GPG_PRIVATE_KEY(signing) - Package uses system WebKit (
webkit2gtk-4.1)
scripts/ci/build-arch-pkg.sh— build.pkg.tar.zstfrom.debscripts/ci/publish-arch-repo.sh— sign +repo-add+key.gpg