# BackOne addon install paths and targets (linux, mac, windows). # Included from make-linux.mk, make-mac.mk, and make-windows.mk. ifndef BACKONE_PLATFORM ifeq ($(OSTYPE),Darwin) BACKONE_PLATFORM := mac else ifeq ($(OSTYPE),Linux) BACKONE_PLATFORM := linux else ifeq ($(OS),Windows_NT) BACKONE_PLATFORM := windows else BACKONE_PLATFORM := linux endif endif RESOLVE_INSTALL_PATH := BACKONE_PLATFORM='$(BACKONE_PLATFORM)' bash pkg/common/resolve-install-path.sh BACKONE_HOME_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) home) BACKONE_ADDONS_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) addons) BACKONE_BIN_DEFAULT := $(shell $(RESOLVE_INSTALL_PATH) bin) # DESTDIR prefixes packaging staging; empty DESTDIR installs to live BackOne paths. BACKONE_HOME_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_HOME_DEFAULT)) BACKONE_ADDONS_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_ADDONS_DEFAULT)) BACKONE_BIN_PREFIX ?= $(DESTDIR)/$(patsubst /%,%,$(BACKONE_BIN_DEFAULT)) ADDON_VERSION ?= $(shell cat debian/version 2>/dev/null || echo 1.17.1) install-app-shell: FORCE mkdir -p "$(BACKONE_HOME_PREFIX)/app" cp -r app-shell/dist/* "$(BACKONE_HOME_PREFIX)/app/" mkdir -p "$(BACKONE_HOME_PREFIX)" printf '{}' > "$(BACKONE_HOME_PREFIX)/contacts.json" install-app-tray: FORCE ifeq ($(BACKONE_PLATFORM),linux) mkdir -p "$(BACKONE_BIN_PREFIX)" mkdir -p "$(BACKONE_ADDONS_PREFIX)/app-tray" mkdir -p "$(DESTDIR)/usr/share/applications" mkdir -p "$(DESTDIR)/etc/xdg/autostart" cp app-tray/backone-tray.py "$(BACKONE_BIN_PREFIX)/backone-tray" chmod 755 "$(BACKONE_BIN_PREFIX)/backone-tray" cp app-tray/addon.json "$(BACKONE_ADDONS_PREFIX)/app-tray/" cp app-tray/backone-tray.desktop "$(DESTDIR)/usr/share/applications/" cp app-tray/backone-tray-autostart.desktop "$(DESTDIR)/etc/xdg/autostart/" else @echo "install-app-tray: skipped on $(BACKONE_PLATFORM) (Linux-only)" endif install-addon-comms-core: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/comms-core" cp addons/comms-core/addon.json "$(BACKONE_ADDONS_PREFIX)/comms-core/" cp addons/comms-core/schema.sql "$(BACKONE_ADDONS_PREFIX)/comms-core/" install-addon-webhub: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/webhub" cp addons/webhub/addon.json "$(BACKONE_ADDONS_PREFIX)/webhub/" cp addons/webhub/backone-webhub "$(BACKONE_ADDONS_PREFIX)/webhub/" chmod 755 "$(BACKONE_ADDONS_PREFIX)/webhub/backone-webhub" ifeq ($(BACKONE_PLATFORM),linux) mkdir -p "$(DESTDIR)/lib/systemd/system" cp addons/webhub/backone-webhub.service "$(DESTDIR)/lib/systemd/system/backone-webhub.service" endif install-addon-voice: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/voice" mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/voice" cp addons/voice/addon.json "$(BACKONE_ADDONS_PREFIX)/voice/" cp addons/voice/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/voice/" install-addon-video: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/video" mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/video" cp addons/video/addon.json "$(BACKONE_ADDONS_PREFIX)/video/" cp addons/video/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/video/" install-addon-chat: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/chat" mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/chat" mkdir -p "$(BACKONE_ADDONS_PREFIX)/chat/attachments" cp addons/chat/addon.json "$(BACKONE_ADDONS_PREFIX)/chat/" cp addons/chat/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/chat/" install-addon-secure-chat: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/secure-chat" mkdir -p "$(BACKONE_HOME_PREFIX)/app/addons/secure-chat" cp addons/secure-chat/addon.json "$(BACKONE_ADDONS_PREFIX)/secure-chat/" cp addons/secure-chat/frontend/index.js "$(BACKONE_HOME_PREFIX)/app/addons/secure-chat/" install-addon-updater: FORCE mkdir -p "$(BACKONE_ADDONS_PREFIX)/updater/migrations" cp addons/updater/addon.json "$(BACKONE_ADDONS_PREFIX)/updater/" cp addons/updater/backone-updater "$(BACKONE_ADDONS_PREFIX)/updater/" cp addons/updater/rebuild-addon-manifest.sh "$(BACKONE_ADDONS_PREFIX)/updater/" cp addons/updater/merge-local-conf.sh "$(BACKONE_ADDONS_PREFIX)/updater/" cp addons/updater/sync-authtoken.sh "$(BACKONE_ADDONS_PREFIX)/updater/" cp pkg/common/platform-paths.sh "$(BACKONE_ADDONS_PREFIX)/updater/" chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/backone-updater" chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/rebuild-addon-manifest.sh" chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/merge-local-conf.sh" chmod 755 "$(BACKONE_ADDONS_PREFIX)/updater/sync-authtoken.sh" cp addons/updater/migrations/* "$(BACKONE_ADDONS_PREFIX)/updater/migrations/" mkdir -p "$(BACKONE_BIN_PREFIX)" ifeq ($(BACKONE_PLATFORM),linux) ln -sf ../lib/backone/addons/updater/backone-updater "$(BACKONE_BIN_PREFIX)/backone-updater" else cp addons/updater/backone-updater "$(BACKONE_BIN_PREFIX)/backone-updater" chmod 755 "$(BACKONE_BIN_PREFIX)/backone-updater" endif install-addon-manifest: install-addon-comms-core install-addon-webhub install-addon-voice install-addon-video install-addon-chat install-addon-secure-chat install-addon-updater FORCE ifeq ($(DESTDIR),) bash addons/updater/rebuild-addon-manifest.sh || true else BACKONE_HOME="$(BACKONE_HOME_PREFIX)" BACKONE_ADDONS_DIR="$(BACKONE_ADDONS_PREFIX)" \ bash addons/updater/rebuild-addon-manifest.sh || true endif install-addons: install-app-shell install-app-tray install-addon-comms-core install-addon-webhub install-addon-voice install-addon-video install-addon-chat install-addon-secure-chat install-addon-updater install-addon-manifest FORCE