summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-03-31 23:19:19 +0000
committerHavoc Pennington <hp@redhat.com>2003-03-31 23:19:19 +0000
commit18c470cd2c7245f33f5d924d23972e95e3d347a0 (patch)
tree86f597a9d40e81142f85d3b56f07889060877cd5
parentfa05de9230d62e7c427b5313796fc6ccd4d0ff60 (diff)
2003-03-31 Havoc Pennington <hp@redhat.com>
* bus/Makefile.am (install-data-hook): create /var/run/dbus * bus/messagebus.in: add init script for Red Hat /etc/init.d * configure.in: add support for specifying a style of init script to install
-rw-r--r--ChangeLog9
-rw-r--r--bus/Makefile.am29
-rwxr-xr-xbus/messagebus.in69
-rw-r--r--configure.in33
-rw-r--r--dbus/dbus-internals.c2
5 files changed, 138 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b3ffa075..7d497688 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2003-03-31 Havoc Pennington <hp@redhat.com>
+ * bus/Makefile.am (install-data-hook): create /var/run/dbus
+
+ * bus/messagebus.in: add init script for Red Hat /etc/init.d
+
+ * configure.in: add support for specifying a style of init script
+ to install
+
+2003-03-31 Havoc Pennington <hp@redhat.com>
+
Fix some annoying DBusString API and fix all affected code.
* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
diff --git a/bus/Makefile.am b/bus/Makefile.am
index 7eca57ea..1b09c5c8 100644
--- a/bus/Makefile.am
+++ b/bus/Makefile.am
@@ -8,9 +8,13 @@ INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) \
EFENCE=
+CONFIG_IN_FILES= \
+ session.conf.in \
+ system.conf.in
+
config_DATA= \
- system.conf \
- session.conf
+ session.conf \
+ system.conf
bin_PROGRAMS=dbus-daemon-1
@@ -80,3 +84,24 @@ bus_test_LDADD=$(top_builddir)/dbus/libdbus-convenience.la $(DBUS_BUS_LIBS)
## mop up the gcov files
clean-local:
/bin/rm *.bb *.bbg *.da *.gcov || true
+
+install-data-hook:
+ $(mkinstalldirs) $(localstatedir)/run/dbus
+
+#### Init scripts fun
+SCRIPT_IN_FILES=messagebus.in
+
+## Red Hat start
+if DBUS_INIT_SCRIPTS_RED_HAT
+
+initddir=$(sysconfdir)/init.d
+
+initd_SCRIPTS= \
+ messagebus
+
+endif
+ ## Red Hat end
+
+#### Extra dist
+
+EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) \ No newline at end of file
diff --git a/bus/messagebus.in b/bus/messagebus.in
new file mode 100755
index 00000000..60c70777
--- /dev/null
+++ b/bus/messagebus.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# messagebus: The D-BUS systemwide message bus
+#
+# chkconfig: 345 97 03
+# description: This is a daemon which broadcasts notifications of system events \
+# and other messages. See http://www.freedesktop.org/software/dbus/
+#
+# processname: dbus-daemon-1
+# pidfile: @EXPANDED_LOCALSTATEDIR@/messagebus.pid
+#
+
+# Sanity checks.
+[ -x @EXPANDED_BINDIR@/dbus-daemon-1 ] || exit 0
+
+# Source function library.
+. @EXPANDED_SYSCONFDIR@/rc.d/init.d/functions
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting system message bus: "
+ daemon dbus-daemon-1 --system
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch @EXPANDED_LOCALSTATEDIR@/lock/subsys/messagebus
+}
+
+stop() {
+ echo -n $"Stopping system message bus: "
+ killproc messagebus
+ RETVAL=$?
+ echo
+ if [ $RETVAL -eq 0 ]; then
+ rm -f @EXPANDED_LOCALSTATEDIR@/lock/subsys/messagebus
+ fi
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status messagebus
+ RETVAL=$?
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ condrestart)
+ if [ -f @EXPANDED_LOCALSTATEDIR@/lock/subsys/messagebus ]; then
+ stop
+ start
+ fi
+ ;;
+ reload)
+ killproc messagebus -HUP
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ ;;
+esac
+exit $RETVAL
diff --git a/configure.in b/configure.in
index 3714ca16..46e18707 100644
--- a/configure.in
+++ b/configure.in
@@ -29,9 +29,10 @@ AC_ARG_ENABLE(tests, [ --enable-tests enable unit test code],enable_tests=$
AC_ARG_ENABLE(ansi, [ --enable-ansi enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no)
AC_ARG_ENABLE(verbose-mode, [ --enable-verbose-mode support verbose debug mode],enable_verbose_mode=$enableval,enable_verbose_mode=yes)
AC_ARG_ENABLE(asserts, [ --enable-asserts include assertion checks],enable_asserts=$enableval,enable_asserts=yes)
-AC_ARG_ENABLE(gcov, [ --enable-gcov compile with coverage profiling instrumentation (gcc only)],enable_gcov=$enableval,enable_gcov=no)
+AC_ARG_ENABLE(gcov, [ --enable-gcov compile with coverage profiling instrumentation (gcc only)],enable_gcov=$enableval,enable_gcov=no)
-AC_ARG_WITH(xml, [ --with-xml=[libxml/expat] XML library to use])
+AC_ARG_WITH(xml, [ --with-xml=[libxml/expat] XML library to use])
+AC_ARG_WITH(init-scripts, [ --with-init-scripts=[redhat] Style of init scripts to install])
dnl DBUS_BUILD_TESTS controls unit tests built in to .c files
dnl and also some stuff in the test/ subdir
@@ -376,10 +377,37 @@ EXPANDED_LOCALSTATEDIR=`eval echo $LOCALSTATEDIR_TMP`
prefix=$old_prefix
AC_SUBST(EXPANDED_LOCALSTATEDIR)
+SYSCONFDIR_TMP="$sysconfdir"
+old_prefix=$prefix
+prefix=$REAL_PREFIX
+EXPANDED_SYSCONFDIR=`eval echo $SYSCONFDIR_TMP`
+prefix=$old_prefix
+AC_SUBST(EXPANDED_SYSCONFDIR)
+
+BINDIR_TMP="$bindir"
+old_prefix=$prefix
+prefix=$REAL_PREFIX
+EXPANDED_BINDIR=`eval echo $BINDIR_TMP`
+prefix=$old_prefix
+AC_SUBST(EXPANDED_BINDIR)
+
+#### Sort out init scripts
+
+if test x$with_init_scripts = x; then
+ if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
+ with_init_scripts=redhat
+ else
+ with_init_scripts=none
+ fi
+fi
+
+AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
+
AC_OUTPUT([
Doxyfile
bus/system.conf
bus/session.conf
+bus/messagebus
Makefile
dbus/Makefile
glib/Makefile
@@ -410,6 +438,7 @@ echo "
Building GLib bindings: ${have_glib}
Using XML parser: ${with_xml}
System bus socket: ${EXPANDED_LOCALSTATEDIR}/${DBUS_SYSTEM_SOCKET}
+ Init scripts style: ${with_init_scripts}
"
if test x$enable_tests = xyes; then
diff --git a/dbus/dbus-internals.c b/dbus/dbus-internals.c
index 6002f7ab..7c11b9f5 100644
--- a/dbus/dbus-internals.c
+++ b/dbus/dbus-internals.c
@@ -292,6 +292,7 @@ _dbus_type_to_string (int type)
}
}
+#ifdef DBUS_BUILD_TESTS
static dbus_bool_t
run_failing_each_malloc (int n_mallocs,
const char *description,
@@ -372,5 +373,6 @@ _dbus_test_oom_handling (const char *description,
return TRUE;
}
+#endif /* DBUS_BUILD_TESTS */
/** @} */