diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2019-05-20 14:10:35 -0400 |
---|---|---|
committer | Levente Polyak <anthraxx@archlinux.org> | 2019-08-09 19:41:53 +0200 |
commit | 10c6efc440c732b70c1f11302777987cdf7e31de (patch) | |
tree | 48201a3da1965a5deaf187ab69cf3eb58b1fba1a | |
parent | 8e4293034b1d29fde3bbcb8398d014674d27b97f (diff) | |
download | devtools-10c6efc440c732b70c1f11302777987cdf7e31de.tar.xz |
archbuild: prefer repo/arch-specific configs if they exist
When mixing and matching different repos and architectures not present
in mainline archlinux, it is sometimes desirable to set up differing
presets with more granularity than devtools currently allows.
One example of this is when building for architectures that are only
supported by another project -- in order to coexist on a mainline
archlinux host, a different mirrorlist needs to be used.
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
-rw-r--r-- | archbuild.in | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/archbuild.in b/archbuild.in index b6d0b56..69bb029 100644 --- a/archbuild.in +++ b/archbuild.in @@ -20,6 +20,15 @@ fi chroots='/var/lib/archbuild' clean_first=false +pacman_config="@pkgdatadir@/pacman-${repo}.conf" +if [[ -f @pkgdatadir@/pacman-${repo}-${arch}.conf ]]; then + pacman_config="@pkgdatadir@/pacman-${repo}-${arch}.conf" +fi +makepkg_config="@pkgdatadir@/makepkg-${arch}.conf" +if [[ -f @pkgdatadir@/makepkg-${repo}-${arch}.conf ]]; then + makepkg_config="@pkgdatadir@/makepkg-${repo}-${arch}.conf" +fi + usage() { echo "Usage: $cmd [options] -- [makechrootpkg args]" echo ' -h This help' @@ -61,15 +70,15 @@ if ${clean_first} || [[ ! -d "${chroots}/${repo}-${arch}" ]]; then rm -rf --one-file-system "${chroots}/${repo}-${arch}" mkdir -m755 -p "${chroots}/${repo}-${arch}" setarch "${arch}" mkarchroot \ - -C "@pkgdatadir@/pacman-${repo}.conf" \ - -M "@pkgdatadir@/makepkg-${arch}.conf" \ + -C "${pacman_config}" \ + -M "${makepkg_config}" \ "${chroots}/${repo}-${arch}/root" \ "${base_packages[@]}" || abort else lock 9 "${chroots}/${repo}-${arch}/root.lock" "Locking clean chroot" arch-nspawn \ - -C "@pkgdatadir@/pacman-${repo}.conf" \ - -M "@pkgdatadir@/makepkg-${arch}.conf" \ + -C "${pacman_config}" \ + -M "${makepkg_config}" \ "${chroots}/${repo}-${arch}/root" \ pacman -Syuu --noconfirm || abort fi |