index
Debian/Ubuntu APT build system with GitHub Actions and Cloudflare R2 β the apt-world sibling of github-copr.
Part of the TunaOS ecosystem.
Why this existsβ
TunaOS's grouper variant (Ubuntu 26.04 bootc) needs the Wayland-native
XFCE stack β xfwl4 (the Rust/Smithay
compositor) plus the Wayland-adapted xfce4 components (panel, session,
settings, thunar, xfdesktop...) β the same stack github-copr builds as
RPMs for EL10. Ubuntu's own archives don't carry these yet, so we build
and host .debs ourselves, same tiered-dependency model as github-copr:
sbuild(notmock) builds each package in a clean, cached chroot.reprepromanages the APT repository (signed, incremental).- GitHub Actions drives tiered builds β a package only builds once every package in its tier's dependencies is already in the repo.
- Cloudflare R2 hosts the resulting repo, served from
deb.tunaos.org(mirrorsrepo.tunaos.org's RPM hosting).
Structureβ
src/xfce-wayland/<package>/debian/β Debian packaging (control,rules,changelog,copyright,install,source/format) per component, orbiting each package's real upstream source (fetched viadebian/watch/ a pinned tarball or git commit, same as github-copr's Source0 pins).build-order.ymlβ tiered dependency manifest (identical schema in spirit to github-copr's; a package's tier can't build until every earlier tier is in the repo).sbuild/β sbuild chroot config (Ubuntu 26.04noble+1 /resolute).scripts/build-chain.shβ builds one package viasbuild, updates the local repo viareprepro..github/workflows/β lint/validate, incremental (PR) build, and the full tiered distributed build + R2 publish.
Statusβ
Bootstrapping β xfwl4 is the first package (proves the pipeline: a
Rust/cargo build wrapped in a .deb, no upstream Debian packaging to
crib from since it's a brand-new upstream project). The rest of the
stack follows the same tier order as github-copr's build-order-xfce.yml.
π Part of the Tuna OS ecosystem.