summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2019-05-20 20:10:35 +0200
committerLevente Polyak <anthraxx@archlinux.org>2019-08-09 19:41:53 +0200
commit10c6efc440c732b70c1f11302777987cdf7e31de (patch)
tree48201a3da1965a5deaf187ab69cf3eb58b1fba1a
parent8e4293034b1d29fde3bbcb8398d014674d27b97f (diff)
downloaddevtools-10c6efc440c732b70c1f11302777987cdf7e31de.tar.gz
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.in17
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