A library for building AcaciaLinux packages from packagebuilds implementing the packagebuild spec.
libpkgbuild operates in its root as specified in its configuration and does not write anything outside that.
There are some subdirectories that are used:
-
environmentsThis directory contains subdirectories that contain the root filesystems for the different build environments. -
cacheThis directory contains all the cached files, such as theleafcache.-
leafThe directory where leaf can cache its files. -
overlay_workTheworkdirectory used byoverlayfs. -
overlay_upperTheupperdirectory used byoverlayfs.
-
-
buildThe directory that gets composed by the current environment and additional packages installed usingoverlayfs. This is the root where the package is built. -
targetThe target directory used to prepare packages. This will contain the raw package directories to install into. This gets mapped into the build directory usingbindmounts.
libpkgbuild will construct two main mounts for the build process:
/build and /target/<package name>.
This mount is of type overlay that will be composed of the following subdirectories:
-
lower:environments/<environment>using the selected environment for the build. -
work:cache/overlay_work- Gets disposed after build. -
upper:cache/overlay_upper- Gets disposed after build: The builder is only interested in the resulting destdir.
This is the package directory that the install script installs into. It contains the data directory. It gets mounted into the build directory and exposed by the builder under the PKG_ROOT environment variable. The builder has full authority on where this directory resides, but it will normally be mounted at /target and the variable will then be constructed from that.