Shelly 3.1 Builds Arch Packages Without makepkg and Sandboxes PKGBUILDs With Landlock
Shelly 3.1 was released on August 24, and it takes the Arch package manager somewhere none of the popular AUR helpers have gone: it builds packages itself, without shelling out to makepkg.
We last covered Shelly at 2.4.1.2, when CachyOS adopted it over Octopi. It has since been rewritten from C# to Zig, dropping the managed runtime entirely.
Native PKGBUILD execution
Shelly now owns the complete build pipeline, from reviewing a PKGBUILD through to publishing a signed, pacman-compatible package archive.
Every AUR helper you have used, yay and paru included, is fundamentally a wrapper. It fetches the PKGBUILD, hands it to makepkg, and manages the surrounding workflow. That works, and it also means the helper has limited visibility into what happens during the build.
Owning the pipeline lets Shelly do things a wrapper cannot, which is where the next two features come from.
Landlock sandboxing
Shelly 3.1 adds optional Landlock-based filesystem sandboxing for PKGBUILD execution. Build scripts get access to the build directory and required system paths, and are prevented from freely reaching the rest of your home directory.
This is the most important feature in the release, and it addresses the AUR’s oldest structural problem.
A PKGBUILD is a shell script that runs on your machine with your privileges. The trust model is explicit and honest about this, and it depends entirely on users reading the script before building. Most do not, particularly for a package they have installed a dozen times before. Arch suspended AUR package adoptions in June after malicious activity, precisely because an attacker taking over an orphaned package inherits users who already decided to trust it.
Landlock does not make a hostile PKGBUILD safe. It does mean a build script cannot casually read your SSH keys or browser profile, which is a meaningful reduction in what a compromised package can steal.
Our AUR and yay explainer covers the trust model in more detail.
Dependency resolution
With --sync-deps, Shelly resolves missing dependencies itself rather than handing them to pacman. It can install packages from the regular repositories and locate and build the ones available only from the AUR.
Anyone who has hit a chain of AUR-only build dependencies will appreciate this. The usual experience is a build failing on a missing dependency, you install that manually, it fails on the next one, and you repeat.
What Shelly is
Shelly is built on libalpm, the same library pacman uses, and handles transactions, dependency resolution, repository packages, and AUR workflows on its own. It ships as both a command-line tool and a GTK application, and is the default GUI package manager on CachyOS.
# On CachyOS it is already there
shelly --version
# Elsewhere, from the AUR, with the usual caveat about reading the PKGBUILD first