From cb123d3e35039097dcf248eac026a7d7914a123d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Lureau?= Date: Thu, 28 Jun 2012 03:28:00 +0200 Subject: [PATCH] Add --with-init-script with systemd support --- Makefile.am | 20 +++++++++++++++++--- configure.ac | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 365a6dd..170a922 100644 --- a/Makefile.am +++ b/Makefile.am @@ -37,9 +37,6 @@ xdgautostart_DATA = $(top_srcdir)/data/spice-vdagent.desktop gdmautostartdir = $(datadir)/gdm/autostart/LoginWindow gdmautostart_DATA = $(top_srcdir)/data/spice-vdagent.desktop -initdir = $(sysconfdir)/rc.d/init.d -init_SCRIPTS = $(top_srcdir)/data/spice-vdagentd - install-data-local: $(mkdir_p) $(DESTDIR)$(localstatedir)/log/spice-vdagentd $(mkdir_p) $(DESTDIR)$(localstatedir)/run/spice-vdagentd @@ -48,6 +45,19 @@ install-data-local: tmpfilesdir = $(sysconfdir)/tmpfiles.d tmpfiles_DATA = $(top_srcdir)/data/tmpfiles.d/spice-vdagentd.conf +modulesdir = $(sysconfdir)/modules-load.d +modules_DATA = $(top_srcdir)/data/modules-load.d/spice-vdagentd.conf + +if INIT_SCRIPT_RED_HAT +initdir = $(sysconfdir)/rc.d/init.d +init_SCRIPTS = $(top_srcdir)/data/spice-vdagentd +endif + +if INIT_SCRIPT_SYSTEMD +systemdunitdir = $(SYSTEMDSYSTEMUNITDIR) +systemdunit_DATA = $(top_srcdir)/data/spice-vdagentd.service +endif + EXTRA_DIST = \ README.RHEL-5 \ data/modules-load.d/spice-vdagentd.conf \ @@ -57,3 +67,7 @@ EXTRA_DIST = \ data/tmpfiles.d/spice-vdagentd.conf \ data/xorg.conf.RHEL-5 \ $(NULL) + +DISTCHECK_CONFIGURE_FLAGS = \ + --with-init-script=redhat \ + $(NULL) diff --git a/configure.ac b/configure.ac index 41042b3..a4d175a 100644 --- a/configure.ac +++ b/configure.ac @@ -13,6 +13,7 @@ AC_HEADER_STDC AC_PROG_INSTALL AC_PROG_LN_S AC_DEFINE(_GNU_SOURCE, [1], [Enable GNU extensions]) +PKG_PROG_PKG_CONFIG AC_ARG_WITH([session-info], [AS_HELP_STRING([--with-session-info=@<:@auto/console-kit/systemd/none@:>@], @@ -23,6 +24,48 @@ AC_ARG_WITH([session-info], esac], [with_session_info="auto"]) +dnl based on libvirt configure --init-script +AC_MSG_CHECKING([for init script flavor]) +AC_ARG_WITH([init-script], + [AC_HELP_STRING( + [--with-init-script=@<:@redhat/systemd/systemd+redhat/check@:>@], + [Style of init script to install @<:@default=check@:>@])], + [],[with_init_script=check]) +init_redhat=no +init_systemd=no +case "$with_init_script" in + systemd+redhat) + init_redhat=yes + init_systemd=yes + ;; + systemd) + init_systemd=yes + ;; + redhat) + init_redhat=yes + ;; + none) + ;; + check) + with_init_script=none + if test "$cross_compiling" != yes && test -f /etc/redhat-release; then + init_redhat=yes + with_init_script=redhat + fi + ;; + *) + AC_MSG_ERROR([Unknown initscript flavour $with_init_script]) + ;; +esac +AM_CONDITIONAL([INIT_SCRIPT_RED_HAT], test "$init_redhat" = "yes") +AM_CONDITIONAL([INIT_SCRIPT_SYSTEMD], test "$init_systemd" = "yes") +AC_MSG_RESULT($with_init_script) + +if test "x$init_systemd" = "xyes"; then + SYSTEMDSYSTEMUNITDIR=`${PKG_CONFIG} systemd --variable=systemdsystemunitdir` + AC_SUBST(SYSTEMDSYSTEMUNITDIR) +fi + AC_ARG_ENABLE([pciaccess], [AS_HELP_STRING([--enable-pciaccess], [Enable libpciaccess use for auto generation of Xinerama xorg.conf (default: yes)])], [enable_pciaccess="$enableval"], @@ -33,7 +76,6 @@ AC_ARG_ENABLE([static-uinput], [enable_static_uinput="$enableval"], [enable_static_uinput="no"]) -PKG_PROG_PKG_CONFIG PKG_CHECK_MODULES(X, [xfixes xrandr xinerama x11]) PKG_CHECK_MODULES(SPICE, [spice-protocol >= 0.8.0]) @@ -101,6 +143,9 @@ AC_MSG_NOTICE([ pciaccess: ${enable_pciaccess} static uinput: ${enable_static_uinput} + install RH initscript: ${init_redhat} + install systemd service: ${init_systemd} + Now type 'make' to build $PACKAGE ]) -- 2.11.4.GIT