summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b5d90d0)
When the setuptools package is installed, it monkey patches the standard
library distutils even if the user code doesn't import setuptools.
This results in a failure to install the python agent in a directory
which ins't in the current PYTHONPATH. To allow this setuptools requires
the '--single-version-externally-managed' options which is not
implemented in distutils.
To resolve this, force the use of distutils for python < 3.12 even when
setuptools is installed with the 'SETUPTOOLS_USE_DISTUTILS' environment
variable and use the proper setuptools option with python >= 3.12 which
doesn't include distutils anymore.
Change-Id: Idf477ca61bed460c9f6be7f481fe3b84624f328c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
])
AX_COMPARE_VERSION(["$PYTHON_VERSION"], [ge], ["3.12"], [
])
AX_COMPARE_VERSION(["$PYTHON_VERSION"], [ge], ["3.12"], [
+ have_python_312_or_greater=yes
AC_MSG_CHECKING([for python setuptools])
AS_IF(["$PYTHON" -c "import setuptools" 2>/dev/null], [
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([for python setuptools])
AS_IF(["$PYTHON" -c "import setuptools" 2>/dev/null], [
AC_MSG_RESULT([yes])
AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$ac_cv_header_linux_perf_event_h" = "xyes"])
AM_CONDITIONAL([HAVE_CXX], [test "$HAVE_CXX11" = "1"])
AM_CONDITIONAL([HAVE_JAVAH], [test "x$JAVAH" != "x"])
AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$ac_cv_header_linux_perf_event_h" = "xyes"])
+AM_CONDITIONAL([HAVE_PYTHON_312_OR_GREATER], [test "x$have_python_312_or_greater" = "xyes"])
lttngust/version.py \
setup.py
lttngust/version.py \
setup.py
+# For python < 3.12, force the use of distutils even if setuptools is
+# installed. For python >= 3.12, set the externally managed option to allow
+# installation in a directory which isn't in the current PYTHONPATH.
+if HAVE_PYTHON_312_OR_GREATER
+PY_INSTALL_OPTS = --single-version-externally-managed
+else
+export SETUPTOOLS_USE_DISTUTILS=stdlib
+endif
+
all-local: build-python-bindings.stamp
copy-static-deps.stamp: $(addprefix $(srcdir)/, $(STATIC_BINDINGS_DEPS))
all-local: build-python-bindings.stamp
copy-static-deps.stamp: $(addprefix $(srcdir)/, $(STATIC_BINDINGS_DEPS))
if [ "$(DESTDIR)" != "" ]; then \
opts="$$opts --root=$(DESTDIR)"; \
fi; \
if [ "$(DESTDIR)" != "" ]; then \
opts="$$opts --root=$(DESTDIR)"; \
fi; \
- $(PYTHON) $(builddir)/setup.py install $$opts;
+ $(PYTHON) $(builddir)/setup.py install $(PY_INSTALL_OPTS) $$opts;
clean-local:
rm -rf $(builddir)/build
clean-local:
rm -rf $(builddir)/build