From 066e52d554f6605c132b761df0074af146e64792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 15 Jun 2011 13:52:53 +0200 Subject: [PATCH] Support installing systemd unit file. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38339 --- Makefile.am | 10 ++++++++++ configure.ac | 12 ++++++++++++ xdm.service.in | 10 ++++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) create mode 100644 xdm.service.in diff --git a/Makefile.am b/Makefile.am index 0bd7ca9..74ea361 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,6 +38,16 @@ lint: (cd chooser && $(MAKE) $(AM_MAKEFLAGS) lint) endif LINT +if HAVE_SYSTEMD +systemdsystemunit_DATA = xdm.service + +xdm.service: xdm.service.in + $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < $< > $@ + +MOSTLYCLEANFILES = xdm.service +endif HAVE_SYSTEMD +EXTRA_DIST = xdm.service.in + MAINTAINERCLEANFILES = ChangeLog INSTALL .PHONY: ChangeLog INSTALL diff --git a/configure.ac b/configure.ac index 0c79999..1443d9e 100644 --- a/configure.ac +++ b/configure.ac @@ -145,6 +145,18 @@ if test "x$USE_SELINUX" != "xno" ; then ) fi +# Check whether to install systemd unit files, as suggest in daemon(7). +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], + [Directory for systemd service files]), + [], + [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)] +) +if test "x$with_systemdsystemunitdir" != "xno" ; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) + # FIXME: Find better test for which OS'es use su -m - for now, just try to # mirror the Imakefile setting of: # if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture) diff --git a/xdm.service.in b/xdm.service.in new file mode 100644 index 0000000..2e85c13 --- /dev/null +++ b/xdm.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=X-Window Display Manager on %I +Requires=dev-%i.device +After=dev-%i.device systemd-user-sessions.service + +[Service] +ExecStart=BINDIR/xdm -nodaemon + +[Install] +Alias=graphical.target.wants/xdm@tty7.service -- 1.7.6.1