summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-04-10 04:50:40 +0200
committerLennart Poettering <lennart@poettering.net>2010-04-10 18:00:21 +0200
commit2c696a96a2bd63d2ff0d5595622124ef9270b172 (patch)
tree834e51c040f4dc6f5067d46e76a4b15b45ed1e49
parentf6ff8c29caeeec3d1f1164be73f87d867d8f1b18 (diff)
build-sys: automatically figure out names of dbus/syslog services
-rw-r--r--configure.ac21
-rw-r--r--manager.h10
2 files changed, 27 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index cffe8a259f..cc0ee11722 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,18 +95,29 @@ case $with_distro in
fedora)
SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
SYSTEM_SYSVRCND_PATH=/etc/rc.d
+ special_dbus_service=messagebus.service
+ special_syslog_service=rsyslog.service
+ AC_DEFINE(TARGET_FEDORA, [], [Target is Fedora/RHEL])
;;
suse)
SYSTEM_SYSVINIT_PATH=/etc/init.d
SYSTEM_SYSVRCND_PATH=/etc/init.d
+ special_dbus_service=dbus.service
+ special_syslog_service=syslog.service
+ AC_DEFINE(TARGET_SUSE, [], [Target is OpenSUSE/SLES])
;;
debian)
SYSTEM_SYSVINIT_PATH=/etc/init.d
SYSTEM_SYSVRCND_PATH=/etc
+ special_dbus_service=dbus.service
+ special_syslog_service=sysklogd.service
+ AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian/Ubuntu])
;;
none)
- SYSTEM_SYSVINIT_PATH=/etc/fix/the/configure/script
- SYSTEM_SYSVRCND_PATH=/etc/fix/the/configure/script
+ SYSTEM_SYSVINIT_PATH=/fix/the/configure/script
+ SYSTEM_SYSVRCND_PATH=/fix/the/configure/script
+ special_dbus_service=fix-the-configure-script.service
+ special_syslog_service=fix-the-configure-script.service
;;
*)
AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, SysV init scripts could not be found! (patches welcome); you can specify --with-distro=none to skip this check])
@@ -120,11 +131,17 @@ AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
+AC_DEFINE_UNQUOTED(SPECIAL_DBUS_SERVICE, ["$special_dbus_service"], [D-Bus service name])
+AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$special_syslog_service"], [syslog service name])
+
AC_OUTPUT([Makefile])
echo "
$PACKAGE_NAME $VERSION
+ Distribution: ${with_distro}
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
+ Syslog service: ${special_syslog_service}
+ D-Bus service: ${special_dbus_service}
"
diff --git a/manager.h b/manager.h
index 817bc00bc8..5b72defe03 100644
--- a/manager.h
+++ b/manager.h
@@ -70,8 +70,6 @@ struct Watch {
#include "dbus.h"
#define SPECIAL_DEFAULT_TARGET "default.target"
-#define SPECIAL_SYSLOG_SERVICE "syslog.service"
-#define SPECIAL_DBUS_SERVICE "messagebus.service"
#define SPECIAL_LOGGER_SOCKET "systemd-logger.socket"
#define SPECIAL_KBREQUEST_TARGET "kbrequest.target"
#define SPECIAL_CTRL_ALT_DEL_TARGET "ctrl-alt-del.target"
@@ -85,6 +83,14 @@ struct Watch {
#define SPECIAL_BASIC_TARGET "basic.target"
#define SPECIAL_RESCUE_TARGET "rescue.target"
+#ifndef SPECIAL_DBUS_SERVICE
+#define SPECIAL_DBUS_SERVICE "dbus.service"
+#endif
+
+#ifndef SPECIAL_SYSLOG_SERVICE
+#define SPECIAL_SYSLOG_SERVICE "syslog.service"
+#endif
+
/* For SysV compatibility. Usually an alias for a saner target. On
* SysV-free systems this doesn't exist. */
#define SPECIAL_RUNLEVEL0_TARGET "runlevel0.target"