diff --git a/Makefile b/Makefile index eae8b9b6..03064794 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,16 @@ prefix ?= /usr -sysconfdir ?= /etc exec_prefix = $(prefix) bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib includedir = $(prefix)/include -datarootdir = $(prefix)/share -datadir = $(datarootdir) +datadir = $(prefix)/share SRC = Cargo.toml Cargo.lock Makefile $(shell find src -type f -wholename '*src/*.rs') .PHONY: all clean distclean install uninstall update BIN=system76-power -RDD=com.system76.PowerDaemon -POLICY=com.system76.powerdaemon +ID=com.system76.PowerDaemon DEBUG ?= 0 ifeq ($(DEBUG),0) @@ -21,8 +18,8 @@ ifeq ($(DEBUG),0) TARGET = release endif -VENDORED ?= 0 -ifeq ($(VENDORED),1) +VENDOR ?= 0 +ifeq ($(VENDOR),1) ARGS += "--frozen" endif @@ -35,17 +32,18 @@ distclean: rm -rf .cargo vendor vendor.tar.xz install: all + install -D -m 0644 "data/$(ID).conf" "$(DESTDIR)$(datadir)/dbus-1/system.d/$(ID).conf" + install -D -m 0644 "data/$(ID).policy" "$(DESTDIR)$(datadir)/polkit-1/actions/$(ID).policy" + install -D -m 0644 "data/$(ID).service" "$(DESTDIR)$(libdir)/systemd/system/$(ID).service" + install -D -m 0644 "data/$(ID).xml" "$(DESTDIR)$(datadir)/dbus-1/interfaces/$(ID).xml" install -D -m 0755 "target/release/$(BIN)" "$(DESTDIR)$(bindir)/$(BIN)" - install -D -m 0644 "data/$(RDD).xml" "$(DESTDIR)$(sysconfdir)/dbus-1/interfaces/$(RDD).xml" - install -D -m 0644 "data/$(BIN).conf" "$(DESTDIR)$(sysconfdir)/dbus-1/system.d/$(BIN).conf" - install -D -m 0644 "debian/$(BIN).service" "$(DESTDIR)$(sysconfdir)/systemd/system/$(BIN).service" - install -D -m 0644 "data/$(POLICY).policy" $(DESTDIR)$(datadir)/polkit-1/actions/$(POLICY).policy uninstall: - rm -f "$(DESTDIR)$(bindir)/$(BIN)" - rm -f "$(DESTDIR)$(sysconfdir)/dbus-1/system.d/$(BIN).conf" - rm -f "$(DESTDIR)$(sysconfdir)/systemd/system/$(BIN).service" - rm -f "$(DESTDIR)$(sysconfdir)/dbus-1/interfaces/$(RDD).xml" + rm -f "$(DESTDIR)$(bindir)/$(ID)" + rm -f "$(DESTDIR)$(datadir)/dbus-1/interfaces/$(ID).xml" + rm -f "$(DESTDIR)$(datadir)/dbus-1/system.d/$(ID).conf" + rm -f "$(DESTDIR)$(datadir)/polkit-1/actions/$(ID).policy" + rm -f "$(DESTDIR)$(libdir)/systemd/system/$(ID).service" update: cargo update @@ -58,7 +56,7 @@ vendor: rm -rf vendor target/release/$(BIN): $(SRC) -ifeq ($(VENDORED),1) +ifeq ($(VENDOR),1) tar pxf vendor.tar.xz endif cargo build $(ARGS) diff --git a/data/system76-power.conf b/data/com.system76.PowerDaemon.conf similarity index 100% rename from data/system76-power.conf rename to data/com.system76.PowerDaemon.conf diff --git a/data/com.system76.powerdaemon.policy b/data/com.system76.PowerDaemon.policy similarity index 100% rename from data/com.system76.powerdaemon.policy rename to data/com.system76.PowerDaemon.policy diff --git a/debian/system76-power.service b/data/com.system76.PowerDaemon.service similarity index 100% rename from debian/system76-power.service rename to data/com.system76.PowerDaemon.service diff --git a/debian/rules b/debian/rules index 789cd8b6..f09258e1 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,6 @@ #!/usr/bin/make -f -export sysconfdir = "/usr/share/" -export VENDORED ?= 1 +export VENDOR ?= 1 CLEAN ?= 1 %: @@ -9,11 +8,14 @@ CLEAN ?= 1 override_dh_auto_build: env CARGO_HOME="$$(pwd)/target/cargo" \ - dh_auto_build + dh_auto_build override_dh_auto_install: dh_auto_install --destdir="debian/tmp" +override_dh_installsystemd: + dh_installsystemd --name=com.system76.PowerDaemon + override_dh_auto_clean: ifeq ($(CLEAN),1) make clean diff --git a/debian/system76-power.com.system76.PowerDaemon.service b/debian/system76-power.com.system76.PowerDaemon.service new file mode 100644 index 00000000..7189a357 --- /dev/null +++ b/debian/system76-power.com.system76.PowerDaemon.service @@ -0,0 +1,11 @@ +[Unit] +Description=System76 Power Daemon + +[Service] +ExecStart=/usr/bin/system76-power daemon +Restart=on-failure +Type=dbus +BusName=com.system76.PowerDaemon + +[Install] +WantedBy=multi-user.target diff --git a/debian/system76-power.preinst b/debian/system76-power.preinst new file mode 100644 index 00000000..4f9750d2 --- /dev/null +++ b/debian/system76-power.preinst @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# Fixes upgrade from previous packaging. +rm -rf /etc/systemd/system/system76-power.service + +#DEBHELPER# + +exit 0