Browse Source

Merge "Set correct python version for non-chroot scripts"

tags/2.32.0^0
Zuul Gerrit Code Review 3 months ago
parent
commit
74dff74907
3 changed files with 18 additions and 0 deletions
  1. +8
    -0
      diskimage_builder/lib/common-functions
  2. +9
    -0
      diskimage_builder/lib/disk-image-create
  3. +1
    -0
      diskimage_builder/lib/img-functions

+ 8
- 0
diskimage_builder/lib/common-functions View File

@@ -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


+ 9
- 0
diskimage_builder/lib/disk-image-create View File

@@ -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


+ 1
- 0
diskimage_builder/lib/img-functions View File

@@ -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…
Cancel
Save