summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2020-07-14 09:46:59 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2020-11-20 22:53:31 -0500
commit25fb33f6d96a3f25a1b8bc9a3a5fab372c589a63 (patch)
tree0e408790d1af64b4d9618da13e11d8d98c06db08
parentd4828a7a79729086c805acfca7932817d6160ff5 (diff)
use fakeroot-tcp in ARM chroots
-rw-r--r--src/chroot-tools/chcleanup.in4
-rwxr-xr-xsrc/chroot-tools/librechroot16
2 files changed, 15 insertions, 5 deletions
diff --git a/src/chroot-tools/chcleanup.in b/src/chroot-tools/chcleanup.in
index 55ab9bf..5655597 100644
--- a/src/chroot-tools/chcleanup.in
+++ b/src/chroot-tools/chcleanup.in
@@ -61,7 +61,9 @@ fi
# This is intentionally hard-coded.
source /etc/libretools.d/chroot.conf
-CHROOTPKG=(base-devel)
+# NOTE: ARM chroots require 'fakeroot-tcp' (BR #2775)
+fakeroot_pkg=fakeroot$( [[ "$(uname -m)" == 'armv7l' ]] && echo '-tcp' )
+CHROOTPKG=( $( pacman -Sgq base-devel | sed "s|fakeroot|${fakeroot_pkg}|" ) )
# If we're running makepkg
if [[ -f ./PKGBUILD ]]; then
diff --git a/src/chroot-tools/librechroot b/src/chroot-tools/librechroot
index 06147e2..b4ea7e6 100755
--- a/src/chroot-tools/librechroot
+++ b/src/chroot-tools/librechroot
@@ -242,10 +242,13 @@ usage() {
printf ' rootdir : %s\n' "${rootdir:-$(_ 'ERROR')}"
printf ' copydir : %s\n' "${copydir:-$(_ 'ERROR')}"
echo
- prose 'If the chroot or copy does not exist, it will be created
+ prose "If the chroot or copy does not exist, it will be created
automatically. A chroot by default contains the packages in the
- group "base-devel" and any packages named in $CHROOTEXTRAPKG.
- Unless the `-C` or `-M` flags are used, the configuration files
+ group 'base-devel' and any packages named in \$CHROOTEXTRAPKG.
+ However, for technical reasons, 'fakeroot-tcp' replaces 'fakeroot'
+ in armv7h chroots (BR #2775)."
+ echo
+ prose 'Unless the `-C` or `-M` flags are used, the configuration files
that this program installs are the stock versions supplied in the
packages, not the versions from your host system. Other tools
(such as libremakepkg) may alter the configuration.'
@@ -506,8 +509,13 @@ EOF
fi
if [[ ! -d $rootdir ]]; then
+ # Create build chroot
+ # NOTE: ARM chroots require 'fakeroot-tcp' (BR #2775)
+ local fakeroot_pkg=fakeroot$( [[ "${target_arch}" == 'armv7h' ]] && echo '-tcp' )
+ local chroot_pkgs=$( pacman -Sgq base-devel | sed "s|fakeroot|${fakeroot_pkg}|" )
+
msg "Creating 'root' copy for chroot [%s]" "$CHROOT"
- mkarchroot "$rootdir" base-devel </dev/null
+ mkarchroot "$rootdir" ${chroot_pkgs} </dev/null
make_empty_repo "$rootdir"
fi