; The settings for the "master" branch act as defaults for all other
; branches. You can override any or all of the settings for another
; branch by specifying them in a new section with the name of the branch
; as its title.

[master]
; Required: rootfs.{arch}
;
; Specify an HTTP, HTTPS, or FTP URL pointing to a rootfs tarball for
; the {arch} architecture. One entry is needed for each supported
; architecture, e.g.:
;
;rootfs.ppc64  = https://distfiles.adelielinux.org/adelie/1.0/iso/rc1/adelie-rootfs-mini-ppc64-1.0-rc1-20200206.txz
;rootfs.x86_64 = https://distfiles.adelielinux.org/adelie/1.0/iso/rc1/adelie-rootfs-mini-x86_64-1.0-rc1-20200210.txz
;
; They will be cached in $XDG_CACHE_DIR or $HOME/.cache. If a rootfs is
; downloaded and its checksum does not match what is expected (see
; sha256.{arch} below), then it is deleted.


; Required: sha256.{arch}
;
; For each rootfs tarball as described by rootfs.{arch}, also provide
; the SHA256 checksum. For example:
;
;sha256.ppc64  = 6487dc97d9b6b10c801ae0cb60bc77671a7d2d47a6caeee8dc8b64833a14b0ba
;sha256.x86_64 = 2d4f4cd0de98cc28482c0ecef2f84282266e067e7165f3a9a93491b928819d3e


; Optional: rootfs-exclude
;
; Specify globs to exclude when extracting the rootfs tarball, one per
; line. These are passed as --exclude to tar(1). It is recommended to
; have at least "./dev/?*" so that no device files are attempted to be
; created, but the /dev directory is still made. There is no default
; setting.
;
;exclude = ./dev/?*


; Required: repos
;
; Describes which APK repositories should be built and for which
; architectures when examining changes over revision ranges. Each line
; should contain a single repository name, followed by the architectures
; that the repository supports. For example, if the is set to the
; following:
;
;repos = system ppc ppc64 pmmx x86_64
;        user ppc64 x86_64
;
; Then, for APKBUILDs on the "master" branch:
;
; * If the APKBUILD is in the "system" repository, then jobs will be
;   executed for the "ppc", "ppc64", "pmmx", and "x86_64" architectures.
; * If the APKBUILD is in the "user" repository, then jobs will be
;   executed for the "ppc64" and "x86_64" architectures.
; * Any other architectures will have their jobs skip APKBUILDs changed
;   in these repositories.
; * The ordering of lines in the setting is not significant. The
;   dependency resolution engine always considers APKBUILDs from every
;   available repository. In order to prevent one repository from
;   depending on another, change the "etc/apk/repositories" file as
;   appropriate.
;
; If an architecture is not listed in this setting, then no automatic
; builds will occur for that architecture, even if changed APKBUILDs
; have "arch=all", "arch=noarch", or even specifically name that
; architecture.
;
; If a repository is not listed in this setting, then no automatic
; builds will occur for that repository.
;
; Packages specified manually (whether as AF_PACKAGES in Gitlab or as
; CLI arguments to af-buildrepo) will be built regardless of this
; setting.
;
; The mapping can also be specified in an alternate yet equivalent format:
;
;repos = system ppc
;        system ppc64
;        system pmmx
;        system x86_64
;        user ppc64
;        user x86_64
;
; or any mix of the two formats.


; Required: default_repo
; Sets the default APK repository for new containers, i.e. what
; repository will be considered active during bootstrapping.
;
;default_repo = system


; Optional: deps_ignore
; Tell the dependency resolution engine to ignore dependencies between
; certain packages when calculating the build order. This is useful for
; breaking cyclic dependencies. For example:
;
;deps_ignore = system/python3 system/easy-kernel
;              system/attr system/libtool
;
; This tells the engine to ignore "system/python3"'s dependency on
; "system/easy-kernel" as well as "system/attr"'s dependency on
; "system/libtool".
;
; Note: abuild will still install such dependencies. This setting only
; affects APK Foundry's build order solver, the primary utility being to
; break dependency cycles. If you wish to prevent a package from ever
; being installed, add "!pkgname" to your world file.
;
; Additionally, if a package has a build-time dependency ("makedepends")
; on its own subpackage, you will need to install that yourself before
; the build since abuild skips such dependencies. A future version of
; APK Foundry may provide a configuration setting for this purpose.
; Alternatively, you can perform a sort of trick by depending on
; something the package "provides", since abuild does not check for
; cycles there.
;
; This setting supports both formats described in "repos" setting
; section.


; Optional: deps_map
; Map subpackage providers to their respective origins. Due to the
; nature of the shell scripting language, it is not possible to easily
; extract the "provides" that the split function of a subpackage
; specifies. If other packages depend on this name, APK Foundry will not
; know to which APKBUILD the name belongs and will ignore it unless it
; is specified here. Each line should consist of the "provides" name
; followed by the startdir of its origin. For example, if the
; "system/musl" package provides "libc-dev" and "libc-utils" in its
; subpackages:
;
;deps_map = libc-dev system/musl
;           libc-utils system/musl


; Optional: on_failure
; Specify the action to take when a package fails to build.
;
; * "stop" (default): Immediately stop the job.
; * "recalculate": Rebuild the dependency graph by removing the failed
;   build and all of its reverse dependencies, then continue with the
;   next build in the new topologically sorted build order.
; * "ignore": Ignore the failure temporarily and continue building as
;   much as possible.
;
; Note that regardless of the setting, if any of the builds failed the
; job will still exit with a nonzero exit status.
;
;on_failure = stop


; Optional: skip
; Skip packages on certain architectures, for example if they take too
; long to build on CI without proper coordination and scheduling. For
; example:
;
;skip = user/libreoffice aarch64 ppc
;
; This would skip the "user/libreoffice" package on the "aarch64" and
; "ppc" architectures.
;
; Packages specified manually (whether as AF_PACKAGES in Gitlab or as
; CLI arguments to af-buildrepo) will be built regardless of this
; setting.
;
; Note: It is preferable to change the "arch" option of the APKBUILD if
; the package is simply broken on that architecture. This setting is for
; dealing with problems that arise when the package is built under CI,
; such as incompatibilities with the CI environment or needing excessive
; time to build.
;
; This setting supports both formats described in "repos" setting
; section.


; Optional: persistent_repodest
;
; For branch building, when this option is set to "true" the REPODEST of
; the container will be mounted to a persistent location (based on the
; project and branch name) between each CI job, so .apks made in
; previous jobs will be immediately usable by future jobs.
;
;persistent_repodest = false