Merge "Set correct python version for non-chroot scripts"
This commit is contained in:
commit
74dff74907
@ -241,6 +241,14 @@ function cleanup_image_dir () {
|
||||
rm -rf --one-file-system $TMP_IMAGE_DIR
|
||||
}
|
||||
|
||||
function cleanup_temp_python_exec () {
|
||||
if [ ! -z "$DIB_ORIGINAL_PATH" ]; then
|
||||
export PATH=$DIB_ORIGINAL_PATH
|
||||
fi
|
||||
rm "$DIB_PYTHON_EXEC_TMP/python" || true
|
||||
rmdir "$DIB_PYTHON_EXEC_TMP" || true
|
||||
}
|
||||
|
||||
# Run a directory of hooks outside the target (that is, no chrooting).
|
||||
function run_d() {
|
||||
check_element
|
||||
|
@ -175,6 +175,14 @@ export DIB_DEBUG_TRACE
|
||||
export DIB_IMAGE_CACHE=${DIB_IMAGE_CACHE:-~/.cache/image-create}
|
||||
mkdir -p $DIB_IMAGE_CACHE
|
||||
|
||||
# Setup a symbolic link to the correct python exec so that element
|
||||
# scripts running outside the chroot using "#!/usr/bin/env python" get
|
||||
# the right python version.
|
||||
export DIB_ORIGINAL_PATH=$PATH
|
||||
export DIB_PYTHON_EXEC_TMP=$(mktemp -d -t --tmpdir=$HOME .DIB_PYTHON_TMP.XXXXXXXX)
|
||||
ln -s "$DIB_PYTHON_EXEC" "$DIB_PYTHON_EXEC_TMP/python"
|
||||
export PATH=$DIB_PYTHON_EXEC_TMP:$DIB_ORIGINAL_PATH
|
||||
|
||||
# We have a couple of critical sections (touching parts of the host
|
||||
# system or download images to common cache) that we use flock around.
|
||||
# Use this directory for lockfiles.
|
||||
@ -609,6 +617,7 @@ fi
|
||||
|
||||
# Remove the leftovers, i.e. the temporary image directory.
|
||||
cleanup_image_dir
|
||||
cleanup_temp_python_exec
|
||||
|
||||
# Restore fd 1&2 from the outfilter.py redirect back to the original
|
||||
# saved fd. Note small hack that we can't really wait properly for
|
||||
|
@ -43,6 +43,7 @@ function cleanup () {
|
||||
dib-block-device umount
|
||||
cleanup_build_dir
|
||||
cleanup_image_dir
|
||||
cleanup_temp_python_exec
|
||||
}
|
||||
|
||||
# Helper function to run a command inside the chroot
|
||||
|
Loading…
Reference in New Issue
Block a user