PKGBUILDs for all Zone Linux custom packages, with a unified parallel build system.
| Directory | Contents |
|---|---|
local_pkgbuild/ |
Zone-specific packages (fonts, XFCE config, wallpapers, sounds, editors) |
core_pkgbuild/ |
Core system packages (grub, calamares, release hooks, grub theme) |
3rdparty_pkgbuild/ |
AUR packages cloned at build time via get-pkgs.sh |
lib/ |
Shared build library (common.sh, parallel.sh) |
All building is done from the zone-pkgbuild/ root on a Linux build host.
./build.sh # build + publish all groups (default)
./build.sh --all # same as above
./build.sh --core # core packages only
./build.sh --local # local packages only
./build.sh --3party # AUR packages only
./build.sh --changed # only packages whose PKGBUILD changed since last build
./build.sh --jobs 4 # override parallel job count (default: nproc)
./build.sh --no-sign # skip GPG signing
./build.sh --dry-run # print build plan without building
./build.sh zone-xfce grub # build specific packages by nameAfter a successful build, packages are automatically published to the corresponding
repo directory and committed (but NOT pushed — push manually via zone-manager.sh).
- Create
local_pkgbuild/<pkgname>/PKGBUILD - Create
local_pkgbuild/<pkgname>/build.sh(for standalone use) - Run
./build.sh <pkgname>on a Linux host to build and publish - Add the package name to
zone-iso/archiso/packages.x86_64
3rdparty_pkgbuild/aurpackages lists 18 AUR packages. get-pkgs.sh clones them
into 3rdparty_pkgbuild/3rdparty/ at build time. build.sh --3party handles this
automatically.
To add a new AUR package, append its name to aurpackages.
| File | Purpose |
|---|---|
lib/common.sh |
build_pkg, repo_add_pkg, sign_pkg, stamp_success, needs_rebuild |
lib/parallel.sh |
run_builds (FIFO semaphore), print_summary |
Each successful build_pkg call writes a .build-stamp (sha256 of PKGBUILD) into the
package directory. --changed skips packages whose PKGBUILD matches the stamp.
deps.conf declares build-order constraints within a group. The current audit found no
constraints — all packages are independent. Add entries when a package requires another
from the same group to be built first:
zone-meta : zone-base zone-theme
./zone-manager.sh manage calamaresFetches the latest release from GitHub, updates pkgver and pkgrel=1 in the
PKGBUILD, and runs updpkgsums.
- Replaced
update-all.sh+upd-*.shwith unifiedbuild.sh(parallel, incremental) - Build library extracted to
lib/common.shandlib/parallel.sh zone-calamaresupdated to Calamares 3.3.x (Qt6/KF6 deps)grubPKGBUILD still at 2.06 — requires manual update on build hostparu/yayorphan cleanup replaced with purepacmanequivalent