Re: [meta-python2][PATCH 1/1] python: use update-alternatives for python link

Martin Jansa

As this wasn't needed until now and python3 also doesn't use u-a for ${bindir}/python as all python3 scripts should explicitly call python3, why do you think it would be worth adding to dead python2 recipe?

If you need this symlink would it make sense to use separate recipe like python-is-python2/python-is-python3 packages in debian based systems and create the symlink there instead of u-a in python itself?

On Tue, Jul 6, 2021 at 8:19 PM Joe Slater <joe.slater@...> wrote:
Make the link of python to python2.7 an alternative.  This
allows python3 to provide a link if we are not around, but
makes our link override any python3 provides, assuming he
uses the default priority.

Signed-off-by: Joe Slater <joe.slater@...>
 recipes-devtools/python/ | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/recipes-devtools/python/ b/recipes-devtools/python/
index 7350562..3faf154 100644
--- a/recipes-devtools/python/
+++ b/recipes-devtools/python/
@@ -34,7 +34,14 @@ SRC_URI += " \

 S = "${WORKDIR}/Python-${PV}"

-inherit autotools multilib_header python-dir pythonnative ptest
+inherit autotools multilib_header python-dir pythonnative ptest update-alternatives
+# Make 'python' an alternative so that if python3 also provides it, we will be the default.
+ALTERNATIVE_${PN}-core = "python"
+ALTERNATIVE_LINK_NAME[python] = "${bindir}/python"
+ALTERNATIVE_TARGET[python] = "${bindir}/python${PYTHON_MAJMIN}"

 EXTRA_OECONF += "--with-system-ffi"


Join to automatically receive all group messages.