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:
parent
b6d4bef9eb
commit
8b08d212c3
@ -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.
|
||||||
#
|
#
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user