From 3aac8b9954719a13b53ce64b60215007bba7a28a Mon Sep 17 00:00:00 2001 From: Alec Ari Date: Thu, 9 Apr 2026 07:45:05 -0500 Subject: [PATCH] Fix python site-packages dir Fixes the need for PYTHONPATH on Gentoo Signed-off-by: Alec Ari --- debian/linuxcnc.install.in | 2 +- lib/python/qtvcp/designer/install_script | 10 ++++++---- scripts/setup_designer.in | 10 ++++++---- src/configure.ac | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/debian/linuxcnc.install.in b/debian/linuxcnc.install.in index 62cb17f1849..1826735dc4d 100644 --- a/debian/linuxcnc.install.in +++ b/debian/linuxcnc.install.in @@ -110,7 +110,7 @@ usr/bin/xyzbc-trt-gui usr/lib/lib*.so.* usr/lib/linuxcnc -usr/lib/python3 +usr/lib/python3* usr/lib/tcltk usr/share/axis diff --git a/lib/python/qtvcp/designer/install_script b/lib/python/qtvcp/designer/install_script index 64187315831..0f63328513e 100755 --- a/lib/python/qtvcp/designer/install_script +++ b/lib/python/qtvcp/designer/install_script @@ -1,5 +1,7 @@ #!/bin/bash +SITEPY=$(python3 -c "import site; print([p for p in site.getsitepackages() if p.startswith('/usr/lib') and '/lib64/' not in p][0])") + # install base packages for displaying qtvcp screens and sounds echo -e '\ninstalling common base packages' sudo apt-get install -y gstreamer1.0-tools espeak espeak-ng sound-theme-freedesktop @@ -62,12 +64,12 @@ if [ "$response" -eq 2 ]; then # for full LinuxCNC installation elif [ "$response" -eq 3 ]; then # check for valid plugin file - if [ -f /usr/lib/python3/dist-packages/qtvcp/plugins/qtvcp_plugin.py ]; then - pifile=/usr/lib/python3/dist-packages/qtvcp/plugins/qtvcp_plugin.py + if [ -f "${SITEPY}/qtvcp/plugins/qtvcp_plugin.py" ]; then + pifile="${SITEPY}/qtvcp/plugins/qtvcp_plugin.py" else # clear - echo -e '\n'"$pifile "'not found in /usr/lib/python3/dist-packages/qtvcp/plugins/' - echo -e '\ncannot continue designer installation\n' + echo -e "\n$pifile not found in ${SITEPY}/qtvcp/plugins/" + echo -e "\ncannot continue designer installation\n" exit fi fi diff --git a/scripts/setup_designer.in b/scripts/setup_designer.in index 67a61c4597c..983cdd62385 100755 --- a/scripts/setup_designer.in +++ b/scripts/setup_designer.in @@ -1,5 +1,7 @@ #!/bin/bash +SITEPY=$(python3 -c "import site; print([p for p in site.getsitepackages() if p.startswith('/usr/lib') and '/lib64/' not in p][0])") + # install base packages for displaying qtvcp screens and sounds echo -e '\ninstalling common base packages' sudo apt-get install -y gstreamer1.0-tools espeak espeak-ng sound-theme-freedesktop @@ -62,12 +64,12 @@ if [ "$response" -eq 2 ]; then # for full LinuxCNC installation elif [ "$response" -eq 3 ]; then # check for valid plugin file - if [ -f /usr/lib/python3/dist-packages/qtvcp/plugins/qtvcp_plugin.py ]; then - pifile=/usr/lib/python3/dist-packages/qtvcp/plugins/qtvcp_plugin.py + if [ -f "${SITEPY}/qtvcp/plugins/qtvcp_plugin.py" ]; then + pifile="${SITEPY}/qtvcp/plugins/qtvcp_plugin.py" else # clear - echo -e '\n'"$pifile"' not found in /usr/lib/python3/dist-packages/qtvcp/plugins/' - echo -e '\ncannot continue designer installation\n' + echo -e "\n$pifile not found in ${SITEPY}/qtvcp/plugins/" + echo -e "\ncannot continue designer installation\n" exit fi fi diff --git a/src/configure.ac b/src/configure.ac index 04e54184d4c..e400baef1b3 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -1657,7 +1657,7 @@ fi AC_MSG_RESULT([$PYTHON_TK_VERSION]) AC_MSG_CHECKING(for site-package location) -SITEPY="$($PYTHON -c 'import sysconfig; s = sysconfig.get_scheme_names(); m=list(set(("deb_system", "rpm_prefix")) & set(s)); print(sysconfig.get_path("platlib", m.__getitem__(0))) if m else print("/usr/lib/python3/dist-packages");')" +SITEPY="$PYTHON_SITE_PKG" AC_MSG_RESULT($SITEPY) AC_MSG_CHECKING(for working GLU quadrics)