Fix .deb package: add wrapper scripts for library paths

The bundled binaries need LD_LIBRARY_PATH, PYTHONPATH, and
QT_PLUGIN_PATH set to find their libraries. Replace symlinks
with wrapper scripts that set up the environment before exec.
This commit is contained in:
forbes
2026-01-28 18:43:55 -06:00
parent d3cc827c67
commit c8a103eab7

View File

@@ -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;