#!/usr/bin/make -f

DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)

ifeq ($(DEB_HOST_ARCH),amd64)
    BINARY_FILE := dfiles-linux-amd64.gz
else ifeq ($(DEB_HOST_ARCH),arm64)
    BINARY_FILE := dfiles-linux-arm64.gz
else
    $(error Unsupported architecture: $(DEB_HOST_ARCH))
endif

%:
	dh $@

override_dh_auto_build:
	if [ -f $(BINARY_FILE) ]; then \
		gunzip -c $(BINARY_FILE) > dfiles; \
	elif [ -f ../SOURCES/$(BINARY_FILE) ]; then \
		gunzip -c ../SOURCES/$(BINARY_FILE) > dfiles; \
	else \
		echo "ERROR: $(BINARY_FILE) not found!" && exit 1; \
	fi; \
	chmod +x dfiles
	mkdir -p completions
	./dfiles completion bash > completions/dfiles
	./dfiles completion zsh > completions/_dfiles
	./dfiles completion fish > completions/dfiles.fish

override_dh_auto_install:
	install -Dm755 dfiles debian/dux-files/usr/bin/dfiles
	install -Dm644 assets/systemd/dfiles.service debian/dux-files/usr/lib/systemd/user/dfiles.service
	install -Dm644 assets/dev.duxlabs.files.desktop \
		debian/dux-files/usr/share/applications/dev.duxlabs.files.desktop
	install -Dm644 assets/dev.duxlabs.files.svg \
		debian/dux-files/usr/share/icons/hicolor/scalable/apps/dev.duxlabs.files.svg
	install -Dm644 assets/dev.duxlabs.files.metainfo.xml \
		debian/dux-files/usr/share/metainfo/dev.duxlabs.files.metainfo.xml
	install -Dm644 assets/dev.duxlabs.files.policy \
		debian/dux-files/usr/share/polkit-1/actions/dev.duxlabs.files.policy
	install -Dm644 assets/dbus/dev.duxlabs.files.FileManager1.service \
		debian/dux-files/usr/share/dbus-1/services/dev.duxlabs.files.FileManager1.service
	install -Dm644 assets/dbus/org.freedesktop.impl.portal.desktop.dfiles.service \
		debian/dux-files/usr/share/dbus-1/services/org.freedesktop.impl.portal.desktop.dfiles.service
	install -Dm644 assets/portal/dfiles.portal \
		debian/dux-files/usr/share/xdg-desktop-portal/portals/dfiles.portal
	install -Dm644 completions/dfiles \
		debian/dux-files/usr/share/bash-completion/completions/dfiles
	install -Dm644 completions/_dfiles \
		debian/dux-files/usr/share/zsh/site-functions/_dfiles
	install -Dm644 completions/dfiles.fish \
		debian/dux-files/usr/share/fish/vendor_completions.d/dfiles.fish

# D-Bus activation starts dfiles on demand; the session unit is opt-in.
override_dh_installsystemduser:
	dh_installsystemduser --no-enable

override_dh_auto_test:
	# Skip tests for binary release packages

override_dh_auto_clean:
	rm -rf dfiles completions
	dh_auto_clean
