diff --git a/.gitignore b/.gitignore index 59d03d4e..5a957412 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ libtool ratbagctl ratbagd stamp-* +ratbagd.service diff --git a/Makefile.am b/Makefile.am index b99755c3..faaa1d2b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -96,3 +96,12 @@ ratbagd_LDADD = \ $(LIBUDEV_LIBS) \ $(LIBSYSTEMD_LIBS) \ $(LIBRATBAG_LIBS) + +unitdir = $(SYSTEMD_UNIT_DIR) +unit_DATA = ratbagd.service + +$(unit_DATA): $(unit_DATA).in + $(AM_V_GEN)$(SED) -e 's|__BIN_PREFIX__|$(bindir)|g' < $< > $@ + +EXTRA_DIST += ratbagd.service.in +BUILT_SOURCES += ratbagd.service diff --git a/configure.ac b/configure.ac index cb647f0d..f017d8bf 100644 --- a/configure.ac +++ b/configure.ac @@ -131,6 +131,16 @@ PKG_CHECK_MODULES([LIBUDEV], [libudev]) PKG_CHECK_MODULES([LIBSYSTEMD], [libsystemd >= 227]) PKG_CHECK_MODULES([LIBRATBAG], [libratbag]) +# ------------------------------------------------------------------------------ +# options +AC_ARG_WITH([systemd-unit-dir], + AS_HELP_STRING([--with-systemd-unit-dir=DIR], + [systemd unit directory [[default=$libdir/systemd/system]]]), + [unitdir="$withval"], + [unitdir="$libdir/systemd/system"]) +SYSTEMD_UNIT_DIR=${unitdir} +AC_SUBST(SYSTEMD_UNIT_DIR) + # ------------------------------------------------------------------------------ # report diff --git a/ratbagd.service.in b/ratbagd.service.in new file mode 100644 index 00000000..053bc77f --- /dev/null +++ b/ratbagd.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=Daemon to introspect and modify configuable mice + +[Service] +Type=dbus +BusName=org.freedesktop.ratbag1 +ExecStart=__BIN_PREFIX__/ratbagd + +[Install] +WantedBy=multi-user.target