diff --git a/package/debian/build-deb.sh b/package/debian/build-deb.sh index 48106ce49b..4a84de0fe7 100755 --- a/package/debian/build-deb.sh +++ b/package/debian/build-deb.sh @@ -92,9 +92,28 @@ mkdir -p "${STAGING_DIR}/usr/share/doc/${PACKAGE_NAME}" echo "Copying installed files..." cp -a "${INSTALL_DIR}"/* "${STAGING_DIR}/opt/${PACKAGE_NAME}/" -# Create symlinks in /usr/bin for system-wide access -ln -sf "/opt/${PACKAGE_NAME}/bin/FreeCAD" "${STAGING_DIR}/usr/bin/kindred-create" -ln -sf "/opt/${PACKAGE_NAME}/bin/FreeCADCmd" "${STAGING_DIR}/usr/bin/kindred-create-cmd" +# Create wrapper scripts in /usr/bin that set up the environment +# The binaries need LD_LIBRARY_PATH to find bundled libraries +cat > "${STAGING_DIR}/usr/bin/kindred-create" << 'WRAPPER' +#!/bin/bash +export KINDRED_CREATE_HOME="/opt/kindred-create" +export LD_LIBRARY_PATH="${KINDRED_CREATE_HOME}/lib:${LD_LIBRARY_PATH:-}" +export QT_PLUGIN_PATH="${KINDRED_CREATE_HOME}/lib/qt6/plugins:${QT_PLUGIN_PATH:-}" +export PYTHONHOME="${KINDRED_CREATE_HOME}" +export PYTHONPATH="${KINDRED_CREATE_HOME}/lib/python3.11:${KINDRED_CREATE_HOME}/lib/python3.11/site-packages:${PYTHONPATH:-}" +exec "${KINDRED_CREATE_HOME}/bin/FreeCAD" "$@" +WRAPPER +chmod 755 "${STAGING_DIR}/usr/bin/kindred-create" + +cat > "${STAGING_DIR}/usr/bin/kindred-create-cmd" << 'WRAPPER' +#!/bin/bash +export KINDRED_CREATE_HOME="/opt/kindred-create" +export LD_LIBRARY_PATH="${KINDRED_CREATE_HOME}/lib:${LD_LIBRARY_PATH:-}" +export PYTHONHOME="${KINDRED_CREATE_HOME}" +export PYTHONPATH="${KINDRED_CREATE_HOME}/lib/python3.11:${KINDRED_CREATE_HOME}/lib/python3.11/site-packages:${PYTHONPATH:-}" +exec "${KINDRED_CREATE_HOME}/bin/FreeCADCmd" "$@" +WRAPPER +chmod 755 "${STAGING_DIR}/usr/bin/kindred-create-cmd" # Create desktop entry following freedesktop.org specification cat > "${STAGING_DIR}/usr/share/applications/kindred-create.desktop" << 'EOF' @@ -104,7 +123,7 @@ Type=Application Name=Kindred Create GenericName=CAD Application Comment=Engineering-focused parametric 3D CAD platform -Exec=kindred-create %F +Exec=/usr/bin/kindred-create %F Icon=kindred-create Terminal=false Categories=Graphics;Science;Engineering;