diff --git a/pkg/linux/build-functions.sh b/pkg/linux/build-functions.sh index 7a4675689..17fcfa214 100644 --- a/pkg/linux/build-functions.sh +++ b/pkg/linux/build-functions.sh @@ -5,10 +5,7 @@ _setup_env() { WD=$(cd "$(dirname "$1")" && pwd) SOURCEDIR=$(realpath "${WD}/../..") BUILDROOT=$(realpath "${WD}/../../$2-build") - DESKTOPROOT=${BUILDROOT}/desktop - METAROOT=${BUILDROOT}/meta SERVERROOT=${BUILDROOT}/server - WEBROOT=${BUILDROOT}/web DISTROOT=$(realpath "${WD}/../../dist") APP_RELEASE=$(grep "^APP_RELEASE" web/version.py | cut -d"=" -f2 | sed 's/ //g') APP_REVISION=$(grep "^APP_REVISION" web/version.py | cut -d"=" -f2 | sed 's/ //g') @@ -22,7 +19,13 @@ _setup_env() { # Setting up the correct Python version for Ubuntu 18 and EL-8, which have # new Python versions installed parallel to the old ones. OS_VERSION=$(grep "^VERSION_ID=" /etc/os-release | awk -F "=" '{ print $2 }' | sed 's/"//g' | awk -F "." '{ print $1 }') - SYSTEM_PYTHON_PATH='/usr/bin/python3' + if [ -n "$VIRTUAL_ENV" ]; then + SYSTEM_PYTHON_PATH="$VIRTUAL_ENV/bin/python3" + echo "Detected virtual environment: $VIRTUAL_ENV" + else + SYSTEM_PYTHON_PATH='/usr/bin/python3' + echo "Not in a virtual environment, using system Python path." + fi PYTHON_BINARY=$("${SYSTEM_PYTHON_PATH}" -c "import sys; print('python%d.%.d' % (sys.version_info.major, sys.version_info.minor))") PYTHON_BINARY_WITHOUT_DOTS='python3' if [ "$2" == 'redhat' ] && [ "${OS_VERSION}" == "8" ]; then @@ -46,10 +49,7 @@ _cleanup() { _setup_dirs() { echo "Creating output directories..." test -d "${BUILDROOT}" || mkdir "${BUILDROOT}" - test -d "${DESKTOPROOT}" || mkdir "${DESKTOPROOT}" - test -d "${METAROOT}" || mkdir "${METAROOT}" test -d "${SERVERROOT}" || mkdir "${SERVERROOT}" - test -d "${WEBROOT}" || mkdir "${WEBROOT}" test -d "${DISTROOT}" || mkdir "${DISTROOT}" } @@ -203,9 +203,7 @@ _build_docs() { cd "${SERVERROOT}" && mkdir -p "usr/${APP_NAME}/share/docs/en_US/html" cd "${SOURCEDIR}/docs/en_US" || exit python3 build_code_snippet.py - SYS_PYTHONPATH=$("${SYSTEM_PYTHON_PATH}" -c "import sys; print(':'.join([p for p in sys.path if p]))") - # shellcheck disable=SC2153 - PYTHONPATH=$PYTHONPATH:${SYS_PYTHONPATH} python3 -msphinx . "${SERVERROOT}/usr/${APP_NAME}/share/docs/en_US/html" + "${SYSTEM_PYTHON_PATH}" -msphinx . "${SERVERROOT}/usr/${APP_NAME}/share/docs/en_US/html" } _copy_code() { @@ -240,10 +238,6 @@ _copy_code() { # License files cp "${SOURCEDIR}/LICENSE" "${SERVERROOT}/usr/${APP_NAME}/" - # Web setup script - mkdir -p "${WEBROOT}/usr/${APP_NAME}/bin/" - cp "${SOURCEDIR}/pkg/linux/setup-web.sh" "${WEBROOT}/usr/${APP_NAME}/bin/" - # Ensure our venv will use the correct Python interpreter, even if the # user has configured an alternative default. # DO THIS LAST! @@ -258,8 +252,5 @@ _copy_code() { _generate_sbom() { echo "Generating SBOMs..." - # Note that we don't generate an SBOM for the Meta package as it doesn't contain any files. syft "${SERVERROOT}/" -o cyclonedx-json > "${SERVERROOT}/usr/${APP_NAME}/sbom-server.json" - syft "${DESKTOPROOT}/" -o cyclonedx-json > "${DESKTOPROOT}/usr/${APP_NAME}/sbom-desktop.json" - syft "${WEBROOT}/" -o cyclonedx-json > "${WEBROOT}/usr/${APP_NAME}/sbom-web.json" }