diff --git a/Makefile.am b/Makefile.am index 478614406..45dd631af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -802,6 +802,15 @@ FILTER_SRC = \ src/filter/volume_filter_plugin.c +# +# systemd unit +# + +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + mpd.service +endif + # # Sparse code analysis # diff --git a/NEWS b/NEWS index f810c88e1..df870fc48 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ ver 0.16.5 (2010/??/??) - ffmpeg: don't require key frame for seeking - fix CUE track seeking * WIN32: close sockets properly +* install systemd service file if systemd is available ver 0.16.4 (2011/09/01) diff --git a/configure.ac b/configure.ac index 020f15d35..1c1a4b91f 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,13 @@ fi AC_PROG_INSTALL AC_PROG_MAKE_SET PKG_PROG_PKG_CONFIG +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 ]) dnl --------------------------------------------------------------------------- dnl Declare Variables @@ -1592,5 +1599,6 @@ dnl --------------------------------------------------------------------------- dnl Generate files dnl --------------------------------------------------------------------------- AC_OUTPUT(Makefile) +AC_OUTPUT(mpd.service) echo 'MPD is ready for compilation, type "make" to begin.' diff --git a/mpd.service.in b/mpd.service.in new file mode 100644 index 000000000..9e9282fa6 --- /dev/null +++ b/mpd.service.in @@ -0,0 +1,9 @@ +[Unit] +Description=Music Player Daemon +After=sound.target + +[Service] +ExecStart=@prefix@/bin/mpd --no-daemon + +[Install] +WantedBy=multi-user.target