Skip to content

Attach Arch packages for x86_64 and aarch64 to the Release (#361) - #363

Merged
shovon merged 4 commits into
mainfrom
aur-package
Nov 10, 2026
Merged

shovon merged 4 commits into
mainfrom
aur-package

Conversation

@shovon

@shovon shovon commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Closes #361. A pushed tag now also puts a pacman package for x86_64 and aarch64 on the draft Release. An Arch or Omarchy user downloads one, runs sudo pacman -U on it, and Pb Notes is in their app launcher.

It isn't published to the AUR: Pb Notes is released only as files on GitHub for now (#355).

The package (app/arch/PKGBUILD)

  • pbnotes-bin, made from the .deb on the Release for each CPU. package() unpacks its data.tar, leaving out Debian's lintian overrides and copyright file.
  • The version comes from app/package.json, so nothing has to be bumped by hand, and makepkg -si in a checkout of a release tag builds that release.
  • The app's own MIT license comes from the repo. The .deb's copyright file turned out to be Electron's.
  • depends is what Electron links against directly, mapped to Arch packages, less what every Arch system has, plus xdg-utils for opening links and folders.
  • chrome-sandbox stays setuid, as in the .deb and as Arch's own chromium ships it, for kernels that don't allow the user-namespace sandbox (linux-hardened).
  • No checksums: they'd change with every release, and the files come over HTTPS from the same Release page.

The release workflow

  • A new arch job runs after the linux jobs, takes both CPUs' .deb files, and builds both packages in the official archlinux image. makepkg uses a source file already in place, so nothing is fetched from a Release that doesn't exist yet.
  • Both CPUs are built on x64. The official image is x86_64 only, and the recipe only unpacks a .deb, so CARCH=aarch64 gives the same package an ARM machine would. The aarch64 package from CI is labelled aarch64, holds an AArch64 binary and keeps the setuid sandbox.
  • The x86_64 package is checked and started: namcap on the recipe and the package (failing on errors; the warnings are the usual ones for Electron), then installed and started with smoke-launch.sh from Linux release job, with Deb and RPM packages for x64 and arm64 #356.
  • The packages are uploaded as pbnotes-arch, and the release job now waits for it and attaches them with everything else.

README

  • Install now says Pb Notes is early: released only as files on GitHub, not through any app store or package repository, and it doesn't update itself.
  • A new "Arch Linux and Omarchy" section covers which package suits which processor, pacman -U to install, that yay -Syu won't update it since it isn't on the AUR, how to uninstall, and building it with makepkg -si as the other way.

Commits

The first commit published to the AUR. The second and third take that back and keep the recipe in the repo, after deciding to release only on GitHub for now. The fourth attaches the packages to the Release. Squashing on merge is probably clearer.

Testing

  • CI, started by hand on this branch (run): both Arch packages built, and the x86_64 one passed namcap, installed and showed its window. Every other job passed as before, and release was skipped, as it is for a run started by hand.
  • On Omarchy (Arch Linux ARM), with the aarch64 package from that run: installed with pacman -U; Pb Notes shows up in the app launcher and works.
  • Building it by hand with makepkg, from the .deb files of the Linux release job, with Deb and RPM packages for x64 and arm64 #356 run: works for aarch64, and for x86_64 with CARCH set, on the same ARM machine.

🤖 Generated with Claude Code

shovon and others added 4 commits November 10, 2026 14:12
The PKGBUILD in app/aur repackages the .deb from the GitHub Release for
x86_64 and aarch64. Publishing a Release runs aur.yml, which sets the
version, fills in the checksums from that Release's files and pushes to
the AUR. The release workflow builds the package from the .deb it just
made, checks it with namcap and smoke-tests it in an Arch container.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…361)

Pb Notes is released only on GitHub for now, which the README now says.
aur.yml and update.sh go, and app/aur becomes app/arch: the PKGBUILD
takes its version from app/package.json, so a checkout of a release tag
builds that release with `makepkg -si`, and the license from the repo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…on the AUR (#361)

The rest of the previous commit, which only staged the deletes and the
rename: the PKGBUILD's version from app/package.json and license from the
repo, the release workflow's step for the new layout, and the README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An arch job builds pbnotes-bin for x86_64 and aarch64 from the linux
jobs' .deb files, both in the official x86_64 Arch image: the PKGBUILD
only unpacks a .deb, so building with CARCH=aarch64 gives the same
package an ARM machine would. The x64 one is checked with namcap and
smoke-tested, and both are uploaded as pbnotes-arch, which the release
job attaches. The README's Arch section now downloads the package and
installs it with pacman -U.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@shovon
shovon merged commit 1870a27 into main Nov 10, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux release: Arch packages for x86_64 and aarch64, for Arch and Omarchy

1 participant