2016-06-02 13:56:56 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Build script to create Mac App Bundle and DMG for pgAdmin4 runtime
|
|
|
|
|
2020-05-18 10:22:59 +01:00
|
|
|
# Exit when any command fails
|
|
|
|
set -e -E
|
2016-06-02 13:56:56 +01:00
|
|
|
|
2020-05-18 10:22:59 +01:00
|
|
|
# Debugging shizz
|
2021-05-04 14:12:13 +01:00
|
|
|
trap 'ERRCODE=$? && if [ ${ERRCODE} -ne 0 ]; then echo "The command \"${BASH_COMMAND}\" failed in \"${FUNCNAME}\" with exit code ${ERRCODE}."; fi' EXIT
|
2020-05-18 10:22:59 +01:00
|
|
|
|
2022-08-10 16:18:19 +01:00
|
|
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
2022-08-10 14:55:49 +01:00
|
|
|
export SCRIPT_DIR
|
|
|
|
SOURCE_DIR=$(realpath "${SCRIPT_DIR}"/../..)
|
|
|
|
export SOURCE_DIR
|
|
|
|
BUILD_ROOT=$(realpath "${SCRIPT_DIR}"/../..)/mac-build
|
|
|
|
export BUILD_ROOT
|
|
|
|
TEMP_DIR=$(realpath "${SCRIPT_DIR}"/../..)/mac-temp
|
|
|
|
export TEMP_DIR
|
|
|
|
DIST_ROOT=$(realpath "${SCRIPT_DIR}"/../..)/dist
|
|
|
|
export DIST_ROOT
|
2020-05-18 10:22:59 +01:00
|
|
|
|
2022-08-10 10:22:06 +01:00
|
|
|
export CODESIGN=1
|
2022-08-10 14:55:49 +01:00
|
|
|
if [ ! -f "${SCRIPT_DIR}/codesign.conf" ]; then
|
2020-05-18 10:22:59 +01:00
|
|
|
echo
|
|
|
|
echo "******************************************************************"
|
2021-01-29 13:38:27 +05:30
|
|
|
echo "* pkg/mac/codesign.conf not found. NOT signing the binaries."
|
2020-05-18 10:22:59 +01:00
|
|
|
echo "******************************************************************"
|
|
|
|
echo
|
2022-08-10 10:22:06 +01:00
|
|
|
export CODESIGN=0
|
2021-02-02 11:20:18 +00:00
|
|
|
sleep 2
|
2020-05-18 10:22:59 +01:00
|
|
|
else
|
2022-08-10 14:55:49 +01:00
|
|
|
# shellcheck disable=SC1091
|
|
|
|
source "${SCRIPT_DIR}/codesign.conf"
|
2016-06-02 13:56:56 +01:00
|
|
|
fi
|
|
|
|
|
2022-08-10 10:22:06 +01:00
|
|
|
export NOTARIZE=1
|
2022-08-10 14:55:49 +01:00
|
|
|
if [ ! -f "${SCRIPT_DIR}/notarization.conf" ]; then
|
2021-02-02 11:20:18 +00:00
|
|
|
echo
|
|
|
|
echo "******************************************************************"
|
|
|
|
echo "* pkg/mac/notarization.conf not found. NOT notarizing the package."
|
|
|
|
echo "******************************************************************"
|
|
|
|
echo
|
2022-08-10 10:22:06 +01:00
|
|
|
export NOTARIZE=0
|
2021-02-02 11:20:18 +00:00
|
|
|
sleep 2
|
|
|
|
else
|
2022-08-10 14:55:49 +01:00
|
|
|
# shellcheck disable=SC1091
|
|
|
|
source "${SCRIPT_DIR}/notarization.conf"
|
2021-02-02 11:20:18 +00:00
|
|
|
fi
|
|
|
|
|
2022-08-10 14:55:49 +01:00
|
|
|
if [ "${PGADMIN_POSTGRES_DIR}" == "" ]; then
|
2020-05-18 10:22:59 +01:00
|
|
|
echo "PGADMIN_POSTGRES_DIR not set. Setting it to the default: /usr/local/pgsql"
|
|
|
|
export PGADMIN_POSTGRES_DIR=/usr/local/pgsql
|
2016-06-02 13:56:56 +01:00
|
|
|
fi
|
|
|
|
|
2022-08-10 14:55:49 +01:00
|
|
|
if [ "${PGADMIN_PYTHON_VERSION}" == "" ]; then
|
2025-01-15 13:44:34 +05:30
|
|
|
echo "PGADMIN_PYTHON_VERSION not set. Setting it to the default: 3.13.1"
|
|
|
|
export PGADMIN_PYTHON_VERSION=3.13.1
|
2021-01-29 13:38:27 +05:30
|
|
|
fi
|
|
|
|
|
2022-08-10 16:18:19 +01:00
|
|
|
# shellcheck disable=SC1091
|
2022-08-10 14:55:49 +01:00
|
|
|
source "${SCRIPT_DIR}/build-functions.sh"
|
2016-10-04 12:50:16 +01:00
|
|
|
|
2020-05-18 10:22:59 +01:00
|
|
|
_setup_env
|
2016-06-02 13:56:56 +01:00
|
|
|
_cleanup
|
2020-05-18 10:22:59 +01:00
|
|
|
_build_runtime
|
2021-01-29 13:38:27 +05:30
|
|
|
_create_python_env
|
2020-05-18 10:22:59 +01:00
|
|
|
_build_docs
|
2016-06-02 13:56:56 +01:00
|
|
|
_complete_bundle
|
2023-08-03 16:08:59 +05:30
|
|
|
_generate_sbom
|
2020-01-03 09:56:45 +00:00
|
|
|
_codesign_binaries
|
2016-10-04 12:50:16 +01:00
|
|
|
_codesign_bundle
|
2016-06-02 13:56:56 +01:00
|
|
|
_create_dmg
|
2017-02-26 09:06:17 +00:00
|
|
|
_codesign_dmg
|
2021-09-01 15:36:37 +05:30
|
|
|
_notarize_pkg
|