diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | bus/Makefile.am | 29 | ||||
-rwxr-xr-x | bus/messagebus.in | 69 | ||||
-rw-r--r-- | configure.in | 33 | ||||
-rw-r--r-- | dbus/dbus-internals.c | 2 |
5 files changed, 138 insertions, 4 deletions
@@ -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 */ /** @} */ |