summaryrefslogtreecommitdiff
path: root/archPackagesUpdate
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-08-21 15:24:24 +0200
committerErich Eckner <git@eckner.net>2019-08-21 15:24:24 +0200
commitcab5a07a07dfa23d27bf57d21210c42dfae07ac3 (patch)
treebc5d14e17dea5b53d5d2704d0a6d620bdd8da2f9 /archPackagesUpdate
parenta68080665a42179139787e862ff764ba12eb7eb4 (diff)
downloadarchlinuxewe.git.save-cab5a07a07dfa23d27bf57d21210c42dfae07ac3.tar.xz
archPackagesUpdate: use makechrootpkg instead of archbuild if install conflicts with base/base-devel are in sight
Diffstat (limited to 'archPackagesUpdate')
-rwxr-xr-xarchPackagesUpdate23
1 files changed, 22 insertions, 1 deletions
diff --git a/archPackagesUpdate b/archPackagesUpdate
index 869860c1..3e370006 100755
--- a/archPackagesUpdate
+++ b/archPackagesUpdate
@@ -478,7 +478,28 @@ if ${aufRechenknecht}; then
case "${arch}" in
'any'|'i686'|'pentium4'|'x86_64')
- archlinuxewe-${arch/any/x86_64}-build ${cleanChroot} -- -- ${log} ${checkMakepkg} --holdver
+ if [ -n "${cleanChroot}" ]; then
+ build_mode='archbuild'
+ elif sed -n '
+ /^conflicts=(/ {
+ :a
+ /)/ ! {
+ N
+ $! ba
+ }
+ p
+ }
+ ' PKGBUILD \
+ | grep -qwF "$(pacman -Qqg base base-devel)"; then
+ build_mode='makechrootpkg'
+ else
+ build_mode='archbuild'
+ fi
+ if [ "${build_mode}" = 'archbuild' ]; then
+ archlinuxewe-${arch/any/x86_64}-build ${cleanChroot} -- -- ${log} ${checkMakepkg} --holdver
+ else
+ makechrootpkg -r "/var/lib/archbuild/archlinuxewe-${arch/any/x86_64}" -- ${log} ${checkMakepkg} --holdver -f
+ fi
err[${i}]=$?
if [ ${err[${i}]} -eq 0 ] && [ "${arch}" != 'x86_64' ] && [ "${arch}" != 'any' ]; then
{