From 3d6651abf74ee4eb91212bd9a7d3478c95126cfb Mon Sep 17 00:00:00 2001 From: nl6720 Date: Tue, 1 Jun 2021 16:48:54 +0300 Subject: [PATCH] archiso/mkarchiso: clear environment variables when chrooting Environment variables can interfere with the commands in chroot. This causes issues when the environment variables specify a path that does not exist inside the chroot, e.g. if TMPDIR is set to a custom value. Fixes https://bugs.archlinux.org/task/70580 . --- archiso/mkarchiso | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/archiso/mkarchiso b/archiso/mkarchiso index bcc095f..10daa6e 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -324,13 +324,12 @@ _make_packages() { if [[ -n "${gpg_key}" ]]; then exec {ARCHISO_GNUPG_FD}<>"${work_dir}/pubkey.gpg" - export ARCHISO_GNUPG_FD fi if [[ "${quiet}" = "y" ]]; then - pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" &> /dev/null + env -i "ARCHISO_GNUPG_FD=${ARCHISO_GNUPG_FD}" pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" &> /dev/null else - pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" + env -i "ARCHISO_GNUPG_FD=${ARCHISO_GNUPG_FD}" pacstrap -C "${work_dir}/${buildmode}.pacman.conf" -c -G -M -- "${pacstrap_dir}" "${buildmode_pkg_list[@]}" fi if [[ -n "${gpg_key}" ]]; then @@ -372,7 +371,7 @@ _make_customize_airootfs() { _msg_info "Running customize_airootfs.sh in '${pacstrap_dir}' chroot..." _msg_warning "customize_airootfs.sh is deprecated! Support for it will be removed in a future archiso version." chmod -f -- +x "${pacstrap_dir}/root/customize_airootfs.sh" - eval -- arch-chroot "${pacstrap_dir}" "/root/customize_airootfs.sh" + eval -- env -i arch-chroot "${pacstrap_dir}" "/root/customize_airootfs.sh" rm -- "${pacstrap_dir}/root/customize_airootfs.sh" _msg_info "Done! customize_airootfs.sh run successfully." fi