AUR packaging (geolibre-bin)
GeoLibre ships to the Arch User Repository as
geolibre-bin, a binary package that repackages the Linux .deb already
attached to each GitHub release. It does not build from source, so installs are
fast and need no Rust/Node toolchain. The .deb carries the binary, the
.desktop entry, and the icons, so extracting it gives full desktop
integration.
Files
PKGBUILDis a generated reference copy, pinned to the latest release. It is produced byscripts/render-aur-pkgbuild.sh, which is the single source of truth. Do not hand-editPKGBUILD; change the render script, since CI overwrites it on every release.scripts/render-aur-pkgbuild.shemits aPKGBUILDfor a givenVERSIONand.debchecksum.- The
aurjob in.github/workflows/release.ymlrenders and republishes the package after each non-prerelease release.
One-time setup (maintainer)
-
Create an account at https://aur.archlinux.org and, under My Account, add the SSH public key you will publish with.
-
Bootstrap the package once, manually, so the AUR repo exists:
git clone ssh://aur@aur.archlinux.org/geolibre-bin.git cd geolibre-bin cp /path/to/GeoLibre/packaging/aur/PKGBUILD . makepkg --printsrcinfo > .SRCINFO # needs an Arch system git add PKGBUILD .SRCINFO git commit -m "Initial import: geolibre-bin 1.5.0" git push -
Add the matching SSH private key to the GitHub repo as the secret
AUR_SSH_PRIVATE_KEY(Settings -> Secrets and variables -> Actions). The release workflow'saurjob uses it to push updates. Without the secret the job skips itself, so forks are unaffected.
How CI keeps it current
On every published, non-prerelease GitHub release, the aur job:
- downloads
GeoLibre.Desktop_<version>_amd64.debfrom the release and computes itssha256, - renders a fresh
PKGBUILDwithscripts/render-aur-pkgbuild.sh, - pushes the new
PKGBUILD+ regenerated.SRCINFOto the AUR.
The job runs independently of the asset build and the Homebrew tap update, and
is marked continue-on-error, so an AUR hiccup never fails the release or
affects the other publish targets.
Test the package locally
# from a checkout, after a release exists for the pinned version
cd packaging/aur
makepkg -si # build + install, then launch GeoLibre
namcap PKGBUILD geolibre-bin-*.pkg.tar.zst # lint; trim depends() if it flags extras
depends lists the libraries the bundle links against (webkit2gtk-4.1,
gtk3, libayatana-appindicator). If a future build links more or fewer,
namcap will say so; adjust the depends/optdepends arrays in the render
script accordingly.