Fix DIB scripts python version

Now that DIB is python3 only we can remove a hack that made sure
scripts outside the chroot ran with the correct version of python.
This is necessary as python3 does not resolve symbolic links to the
binary like python2.x did, which causes element scripts to fail finding
modules when DIB was run from inside a venv.

This patch does the following:
1. Reverts 9c7b8d1714 which was the
   workaround for mixed python2/3 environments.
2. Updates the scripts to use "python3" instead of "python".

Change-Id: If2402bb02fc8a4778fa9434fa167ea1fafd87c28
This commit is contained in:
Michael Johnson 2020-07-07 12:48:27 -07:00
parent b6d4bef9eb
commit 8b08d212c3
6 changed files with 3 additions and 21 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
# Copyright 2014 Hewlett-Packard Development Company, L.P. # Copyright 2014 Hewlett-Packard Development Company, L.P.
# #

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may # Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain # not use this file except in compliance with the License. You may obtain

View File

@ -241,14 +241,6 @@ function cleanup_image_dir () {
rm -rf --one-file-system $TMP_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). # Run a directory of hooks outside the target (that is, no chrooting).
function run_d() { function run_d() {
check_element check_element

View File

@ -175,14 +175,6 @@ export DIB_DEBUG_TRACE
export DIB_IMAGE_CACHE=${DIB_IMAGE_CACHE:-~/.cache/image-create} export DIB_IMAGE_CACHE=${DIB_IMAGE_CACHE:-~/.cache/image-create}
mkdir -p $DIB_IMAGE_CACHE 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 # We have a couple of critical sections (touching parts of the host
# system or download images to common cache) that we use flock around. # system or download images to common cache) that we use flock around.
# Use this directory for lockfiles. # Use this directory for lockfiles.
@ -617,7 +609,6 @@ fi
# Remove the leftovers, i.e. the temporary image directory. # Remove the leftovers, i.e. the temporary image directory.
cleanup_image_dir cleanup_image_dir
cleanup_temp_python_exec
# Restore fd 1&2 from the outfilter.py redirect back to the original # 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 # saved fd. Note small hack that we can't really wait properly for

View File

@ -43,7 +43,6 @@ function cleanup () {
dib-block-device umount dib-block-device umount
cleanup_build_dir cleanup_build_dir
cleanup_image_dir cleanup_image_dir
cleanup_temp_python_exec
} }
# Helper function to run a command inside the chroot # Helper function to run a command inside the chroot

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
# #
# Copyright 2014 Hewlett-Packard Development Company, L.P. # Copyright 2014 Hewlett-Packard Development Company, L.P.
# #