52 lines
1.8 KiB
Bash
Executable File
52 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build macOS .pkg installers for BackOne addons (mirrors debian/backone-addon-* packages).
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
VERSION="$(cat "${ROOT}/debian/version" 2>/dev/null || echo 1.17.1)"
|
|
STAGING="${ROOT}/build/mac-addon-staging"
|
|
PKGOUT="${ROOT}/build/mac-addon-pkgs"
|
|
SCRIPTS="${ROOT}/pkg/mac/scripts"
|
|
|
|
if ! command -v pkgbuild >/dev/null 2>&1; then
|
|
echo "pkgbuild not found; run this script on macOS with Xcode command-line tools" >&2
|
|
exit 1
|
|
fi
|
|
|
|
rm -rf "${STAGING}" "${PKGOUT}"
|
|
mkdir -p "${PKGOUT}"
|
|
|
|
build_component_pkg() {
|
|
local pkg_name="$1"
|
|
local install_target="$2"
|
|
local identifier="$3"
|
|
local staging="${STAGING}/${pkg_name}"
|
|
local output="${PKGOUT}/${pkg_name}-${VERSION}.pkg"
|
|
|
|
rm -rf "${staging}"
|
|
mkdir -p "${staging}"
|
|
make -C "${ROOT}" BACKONE_PLATFORM=mac DESTDIR="${staging}" "${install_target}"
|
|
chmod 755 "${SCRIPTS}/postinstall"
|
|
|
|
pkgbuild \
|
|
--root "${staging}" \
|
|
--install-location / \
|
|
--identifier "${identifier}" \
|
|
--version "${VERSION}" \
|
|
--scripts "${SCRIPTS}" \
|
|
"${output}"
|
|
|
|
echo "built ${output}"
|
|
}
|
|
|
|
build_component_pkg backone-app-shell install-app-shell com.backone.app-shell
|
|
build_component_pkg backone-addon-comms-core install-addon-comms-core com.backone.addon.comms-core
|
|
build_component_pkg backone-addon-webhub install-addon-webhub com.backone.addon.webhub
|
|
build_component_pkg backone-addon-voice install-addon-voice com.backone.addon.voice
|
|
build_component_pkg backone-addon-video install-addon-video com.backone.addon.video
|
|
build_component_pkg backone-addon-chat install-addon-chat com.backone.addon.chat
|
|
build_component_pkg backone-addon-secure-chat install-addon-secure-chat com.backone.addon.secure-chat
|
|
build_component_pkg backone-addon-updater install-addon-updater com.backone.addon.updater
|
|
|
|
echo "All macOS addon packages are in ${PKGOUT}"
|