X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/ad285f35a95ae744a8ff40be2d1f79874b7865fe..da4772c4e54467920d642e2a792c5d16d3b7bf33:/Makefile diff --git a/Makefile b/Makefile index 4652ea5..f838328 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ PREFIX := /usr USE_SYSTEMD ?= 1 +USE_DBUS_ACTIVATION ?= 1 USE_NFTABLES ?= 0 WAYDROID_DIR := $(PREFIX)/lib/waydroid @@ -8,22 +9,31 @@ BIN_DIR := $(PREFIX)/bin APPS_DIR := $(PREFIX)/share/applications METAINFO_DIR := $(PREFIX)/share/metainfo SYSD_DIR := $(PREFIX)/lib/systemd/system +DBUS_DIR := $(PREFIX)/share/dbus-1 +APPARMOR_DIR := /etc/apparmor.d INSTALL_WAYDROID_DIR := $(DESTDIR)$(WAYDROID_DIR) INSTALL_BIN_DIR := $(DESTDIR)$(BIN_DIR) INSTALL_APPS_DIR := $(DESTDIR)$(APPS_DIR) INSTALL_METAINFO_DIR := $(DESTDIR)$(METAINFO_DIR) INSTALL_SYSD_DIR := $(DESTDIR)$(SYSD_DIR) +INSTALL_DBUS_DIR := $(DESTDIR)$(DBUS_DIR) +INSTALL_APPARMOR_DIR := $(DESTDIR)$(APPARMOR_DIR) build: @echo "Nothing to build, run 'make install' to copy the files!" install: - install -d $(INSTALL_WAYDROID_DIR) $(INSTALL_BIN_DIR) $(INSTALL_APPS_DIR) $(INSTALL_METAINFO_DIR) + install -d $(INSTALL_WAYDROID_DIR) $(INSTALL_BIN_DIR) $(INSTALL_APPS_DIR) $(INSTALL_METAINFO_DIR) $(INSTALL_DBUS_DIR)/system.d cp -a data tools waydroid.py $(INSTALL_WAYDROID_DIR) ln -sf $(WAYDROID_DIR)/waydroid.py $(INSTALL_BIN_DIR)/waydroid mv $(INSTALL_WAYDROID_DIR)/data/*.desktop $(INSTALL_APPS_DIR) mv $(INSTALL_WAYDROID_DIR)/data/*.metainfo.xml $(INSTALL_METAINFO_DIR) + cp dbus/id.waydro.Container.conf $(INSTALL_DBUS_DIR)/system.d/ + if [ $(USE_DBUS_ACTIVATION) = 1 ]; then \ + install -d $(INSTALL_DBUS_DIR)/system-services; \ + cp dbus/id.waydro.Container.service $(INSTALL_DBUS_DIR)/system-services/; \ + fi if [ $(USE_SYSTEMD) = 1 ]; then \ install -d $(INSTALL_SYSD_DIR); \ cp systemd/waydroid-container.service $(INSTALL_SYSD_DIR); \ @@ -32,13 +42,14 @@ install: sed '/LXC_USE_NFT=/ s/false/true/' -i $(INSTALL_WAYDROID_DIR)/data/scripts/waydroid-net.sh; \ fi -apparmor: - cp -f data/configs/adbd /etc/apparmor.d/adbd - apparmor_parser -r /etc/apparmor.d/adbd - cp -f data/configs/android_app /etc/apparmor.d/android_app - apparmor_parser -r /etc/apparmor.d/android_app - cp -f data/configs/lxc-waydroid /etc/apparmor.d/lxc/lxc-waydroid - apparmor_parser -r /etc/apparmor.d/lxc/lxc-waydroid - sed --sandbox -i "s/lxc.aa_profile = unconfined/lxc.aa_profile = lxc-waydroid/g;" /var/lib/waydroid/lxc/waydroid/config - sed --sandbox -i "s/lxc.apparmor.profile = unconfined/lxc.apparmor.profile = lxc-waydroid/g;" /var/lib/waydroid/lxc/waydroid/config - +install_apparmor: + install -d $(INSTALL_APPARMOR_DIR) $(INSTALL_APPARMOR_DIR)/lxc + cp -f data/configs/apparmor_profiles/adbd $(INSTALL_APPARMOR_DIR)/adbd + cp -f data/configs/apparmor_profiles/android_app $(INSTALL_APPARMOR_DIR)/android_app + cp -f data/configs/apparmor_profiles/lxc-waydroid $(INSTALL_APPARMOR_DIR)/lxc/lxc-waydroid + # Load the profiles if not just packaging + if [ -z $(DESTDIR) ] && { aa-enabled --quiet || systemctl is-active -q apparmor; } 2>/dev/null; then \ + apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/adbd"; \ + apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/android_app"; \ + apparmor_parser -r -T -W "$(INSTALL_APPARMOR_DIR)/lxc/lxc-waydroid"; \ + fi