diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2020-07-14 09:46:59 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2020-11-20 22:53:31 -0500 |
commit | 25fb33f6d96a3f25a1b8bc9a3a5fab372c589a63 (patch) | |
tree | 0e408790d1af64b4d9618da13e11d8d98c06db08 | |
parent | d4828a7a79729086c805acfca7932817d6160ff5 (diff) |
use fakeroot-tcp in ARM chroots
-rw-r--r-- | src/chroot-tools/chcleanup.in | 4 | ||||
-rwxr-xr-x | src/chroot-tools/librechroot | 16 |
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 |