Skip to content

Building packages

Every Obarun package is built from a PKGBUILD kept in the open, by a pipeline anyone can inspect. This page is where to look, and what the pipeline does.

Where the sources are

All packaging lives under one group: git.obarun.org/pkg.

Group Contents
pkg/obcore PKGBUILDs for the obcore repository
pkg/obextra PKGBUILDs for obextra
pkg/observice PKGBUILDs for observice
pkg/obcommunity PKGBUILDs for the community repository

Each package has its own repository. So the recipe for 66 is at git.obarun.org/pkg/obcore/66, and the same pattern holds for everything else.

Following a build

Because each package is its own project, each has its own pipelines:

  • Build logs: https://git.obarun.org/pkg/obcore/<package>/-/jobs
  • Pipelines and artifacts: https://git.obarun.org/pkg/obcore/<package>/-/pipelines, where the built binary can be downloaded from the artifacts button.

If you ever wonder how the package on your disk was produced, the answer is one URL away.

How they are built

Packages are built inside a container image made for the purpose, not on a maintainer's machine. The image is a bare system containing the base groups and nothing else; anything a build needs is installed by pacman at build time from a synchronised database.

The practical consequence is that a package does not vary with whoever built it.

Building one yourself

Clone the package's repository and use makepkg as the Arch Wiki describes. The PKGBUILDs are ordinary ones.

If you want the same clean environment the pipeline uses rather than your own system, build inside the obarun/base container.

Contributing a package

obcommunity is the place for packages that are not part of the official set. It is community maintained and not officially supported, and unlike the AUR it ships the built binary: a user installs it with pacman and compiles nothing. Contributions go to git.obarun.org/pkg/obcommunity.

For a change to an official package, open a merge request on that package's own repository.