Clean up dib-python symlink
We only need dib-python when we build the image, no need to leak it to the final product. Remove it in cleanup.d outside the chroot so nothing can be using it. Change-Id: I1e229caad7968fb3ab8e44ecdda427e174088d2d Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
7a962e9d1c
commit
3e17ee3f48
@ -2,23 +2,29 @@
|
|||||||
dib-python
|
dib-python
|
||||||
==========
|
==========
|
||||||
|
|
||||||
Adds a symlink to `/usr/local/bin/dib-python` which points at either a
|
Adds a symlink to ``/usr/local/bin/dib-python`` which points at either a
|
||||||
`python2` or `python3` executable as appropriate.
|
``python2`` or ``python3`` executable as appropriate.
|
||||||
|
|
||||||
In-chroot scripts should use this as their interpreter
|
In-chroot scripts should use this as their interpreter
|
||||||
(`#!/usr/local/bin/dib-python`) to make scripts that are compatible
|
(``#!/usr/local/bin/dib-python``) to make scripts that are compatible
|
||||||
with both `python2` and `python3`. We can not assume
|
with both ``python2`` and ``python3``. We can not assume
|
||||||
`/usr/bin/python` exists, as some platforms have started shipping with
|
``/usr/bin/python`` exists, as some platforms have started shipping with
|
||||||
only Python 3.
|
only Python 3.
|
||||||
|
|
||||||
`DIB_PYTHON` will be exported as the python interpreter. You should
|
``DIB_PYTHON`` will be exported as the python interpreter. You should
|
||||||
use this instead of `python script.py` (e.g. `${DIB_PYTHON}
|
use this instead of ``python script.py`` (e.g. ``${DIB_PYTHON}
|
||||||
script.py`). Note you can also call `/usr/local/bin/dib-python
|
script.py``). Note you can also call ``/usr/local/bin/dib-python
|
||||||
script.py` but in some circumstances, such as creating a `virtualenv`,
|
script.py`` but in some circumstances, such as creating a ``virtualenv``,
|
||||||
it can create somewhat confusing references to `dib-python` that
|
it can create somewhat confusing references to ``dib-python`` that
|
||||||
remain in the built image.
|
remain in the built image.
|
||||||
|
|
||||||
This does not install a python if one does not exist, and instead fails.
|
This does not install a python if one does not exist, and instead fails.
|
||||||
|
|
||||||
This also exports a variable `DIB_PYTHON_VERSION` which will either be
|
This also exports a variable ``DIB_PYTHON_VERSION`` which will either be
|
||||||
'2' or '3' depending on the python version which dib-python points to.
|
'2' or '3' depending on the python version which dib-python points to.
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The ``dib-python`` interpreter will be removed in ``cleanup.d``. It
|
||||||
|
is only intended for build scripts.
|
||||||
|
12
diskimage_builder/elements/dib-python/cleanup.d/50-dib-python
Executable file
12
diskimage_builder/elements/dib-python/cleanup.d/50-dib-python
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
set -eu
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
# Remove dib-python wrapper. Nothing else should be running in chroot
|
||||||
|
# and required this any more.
|
||||||
|
|
||||||
|
sudo unlink $TARGET_ROOT/usr/local/bin/dib-python # dib-lint: safe_sudo
|
Loading…
Reference in New Issue
Block a user