#!/usr/bin/make -f %: dh $@ override_dh_auto_install: # Create directories install -d $(CURDIR)/debian/praya-service/usr/share/praya install -d $(CURDIR)/debian/praya-service/usr/share/praya/praya install -d $(CURDIR)/debian/praya-service/usr/share/praya/praya/core install -d $(CURDIR)/debian/praya-service/usr/share/praya/praya/services install -d $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/posture install -d $(CURDIR)/debian/praya-service/usr/bin install -d $(CURDIR)/debian/praya-service/usr/lib/systemd/user install -d $(CURDIR)/debian/praya-service/usr/share/dbus-1/services install -d $(CURDIR)/debian/praya-service/usr/share/applications install -d $(CURDIR)/debian/praya-service/usr/share/icons/hicolor/scalable/apps # Install praya core package install -m 644 praya/__init__.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/ install -m 644 praya/daemon.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/ install -m 644 praya/core/__init__.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/core/ install -m 644 praya/core/service.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/core/ install -m 644 praya/core/dbus.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/core/ install -m 644 praya/core/notifications.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/core/ # Install praya services package install -m 644 praya/services/__init__.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/ # Install posture service install -m 644 praya/services/posture/__init__.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/posture/ install -m 644 praya/services/posture/service.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/posture/ install -m 644 praya/services/posture/camera.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/posture/ install -m 644 praya/services/posture/calibration.py $(CURDIR)/debian/praya-service/usr/share/praya/praya/services/posture/ # Install pre-built virtual environment cp -a $(CURDIR)/build/venv $(CURDIR)/debian/praya-service/usr/share/praya/venv # Install launcher script install -m 755 debian/praya-service.sh $(CURDIR)/debian/praya-service/usr/bin/praya-service # Install systemd user service install -m 644 debian/praya.service $(CURDIR)/debian/praya-service/usr/lib/systemd/user/ # Install D-Bus service file for auto-activation install -m 644 debian/com.github.blankon.praya.service $(CURDIR)/debian/praya-service/usr/share/dbus-1/services/ # Install desktop file install -m 644 debian/praya.desktop $(CURDIR)/debian/praya-service/usr/share/applications/ # Install icon install -m 644 debian/praya.svg $(CURDIR)/debian/praya-service/usr/share/icons/hicolor/scalable/apps/ # Skip debhelper tools that cannot handle bundled .so files inside the venv override_dh_strip: dh_strip --exclude=/usr/share/praya/venv/ override_dh_dwz: dh_dwz --exclude=/usr/share/praya/venv/ override_dh_shlibdeps: dh_shlibdeps --exclude=/usr/share/praya/venv/ override_dh_makeshlibs: dh_makeshlibs --exclude=/usr/share/praya/venv/ override_dh_auto_build: # Build Python virtual environment with all dependencies python3 -m venv --system-site-packages $(CURDIR)/build/venv $(CURDIR)/build/venv/bin/pip install --quiet --upgrade pip $(CURDIR)/build/venv/bin/pip install --quiet -r requirements.txt # Rewrite venv paths from build dir to final install location sed -i "s|$(CURDIR)/build/venv|/usr/share/praya/venv|g" \ $(CURDIR)/build/venv/bin/activate \ $(CURDIR)/build/venv/bin/activate.csh \ $(CURDIR)/build/venv/bin/activate.fish \ $(CURDIR)/build/venv/pyvenv.cfg # Fix shebangs in venv bin scripts to use /usr/bin/python3 for f in $(CURDIR)/build/venv/bin/*; do \ if head -1 "$$f" 2>/dev/null | grep -q "^#!.*$(CURDIR)"; then \ sed -i "1s|^#!.*|#!/usr/share/praya/venv/bin/python3|" "$$f"; \ fi; \ done