diff options
Diffstat (limited to 'devel/dbus')
-rw-r--r-- | devel/dbus/Makefile | 64 | ||||
-rw-r--r-- | devel/dbus/distinfo | 3 | ||||
-rw-r--r-- | devel/dbus/files/dbus.in | 39 | ||||
-rw-r--r-- | devel/dbus/files/patch-bus_bus.c | 11 | ||||
-rw-r--r-- | devel/dbus/files/patch-bus_session.conf.in | 10 | ||||
-rw-r--r-- | devel/dbus/files/patch-bus_system.conf.in | 10 | ||||
-rw-r--r-- | devel/dbus/files/patch-dbus-1.pc.in | 9 | ||||
-rw-r--r-- | devel/dbus/files/patch-dbus_Makefile.in | 11 | ||||
-rw-r--r-- | devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c | 94 | ||||
-rw-r--r-- | devel/dbus/files/patch-dbus_dbus-sysdeps-util-unix.c | 11 | ||||
-rw-r--r-- | devel/dbus/pkg-descr | 8 | ||||
-rw-r--r-- | devel/dbus/pkg-install | 38 | ||||
-rw-r--r-- | devel/dbus/pkg-plist | 47 |
13 files changed, 355 insertions, 0 deletions
diff --git a/devel/dbus/Makefile b/devel/dbus/Makefile new file mode 100644 index 000000000..fff867bc6 --- /dev/null +++ b/devel/dbus/Makefile @@ -0,0 +1,64 @@ +# New ports collection makefile for: D-BUS +# Date Created: 22 June 2004 +# Whom: Joe Marcus Clarke <marcus@FreeBSD.org> +# +# $FreeBSD: ports/devel/dbus/Makefile,v 1.52 2006/06/14 05:03:44 marcus Exp $ +# + +PORTNAME= dbus +PORTVERSION= 0.93 +CATEGORIES= devel gnome +MASTER_SITES= http://dbus.freedesktop.org/releases/ + +MAINTAINER= gnome@FreeBSD.org +COMMENT= A message bus system for inter-application communication + +LIB_DEPENDS= expat.6:${PORTSDIR}/textproc/expat2 + +USE_GNOME= gnomehack libxml2 +USE_GMAKE= yes +GNU_CONFIGURE= yes +INSTALLS_SHLIB= yes +CONFIGURE_ARGS=--localstatedir=/var \ + --with-test-socket-dir=${WRKDIR} \ + --with-system-pid-file=/var/run/dbus/dbus.pid \ + --with-system-socket=/var/run/dbus/dbus.pipe \ + --with-session-socket-dir=/var/tmp \ + --disable-doxygen-docs \ + --disable-xml-docs +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" + +USE_RC_SUBR= dbus + +PLIST_SUB= VERSION="1.0" + +MAN1= dbus-cleanup-sockets.1 dbus-daemon.1 dbus-launch.1 \ + dbus-monitor.1 dbus-send.1 + +.include <bsd.port.pre.mk> + +post-patch: + @${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|' \ + ${WRKSRC}/bus/session.conf.in \ + ${WRKSRC}/bus/system.conf.in + +pre-su-install: + @for i in 15 9 ; do \ + if [ -f /var/run/dbus/dbus.pid ]; then \ + kill -$${i} $$(${CAT} /var/run/dbus/dbus.pid) 2>/dev/null || ${TRUE} ; \ + sleep 3 ; \ + fi ; \ + done + @if [ -f /var/run/dbus/dbus.pid ]; then \ + ${RM} -f /var/run/dbus/dbus.pid ; \ + fi + +post-install: +.if !defined(PACKAGE_BUILDING) + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +.endif + ${MKDIR} ${X11BASE}/etc/dbus-1/system.d + ${MKDIR} ${X11BASE}/share/dbus-1/services + +.include <bsd.port.post.mk> diff --git a/devel/dbus/distinfo b/devel/dbus/distinfo new file mode 100644 index 000000000..6f41a76bd --- /dev/null +++ b/devel/dbus/distinfo @@ -0,0 +1,3 @@ +MD5 (dbus-0.93.tar.gz) = 0770dce874c76f7364d055e4648900fb +SHA256 (dbus-0.93.tar.gz) = bdb6a229bc87944e46b656d6e568f9bf9e8fedcb0e1ca53f48f3ed333915168b +SIZE (dbus-0.93.tar.gz) = 1340600 diff --git a/devel/dbus/files/dbus.in b/devel/dbus/files/dbus.in new file mode 100644 index 000000000..e05be9718 --- /dev/null +++ b/devel/dbus/files/dbus.in @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD: ports/devel/dbus/files/dbus.in,v 1.8 2006/06/10 19:03:48 marcus Exp $ +# +# PROVIDE: dbus +# REQUIRE: DAEMON +# +# Add the following lines to /etc/rc.conf to enable the D-BUS messaging system: +# +# dbus_enable="YES" +# + +dbus_enable=${dbus_enable-"NO"} +dbus_flags=${dbus_flags-"--system"} + +. %%RC_SUBR%% + +name=dbus +rcvar=`set_rcvar` + +command="%%PREFIX%%/bin/dbus-daemon" +pidfile="/var/run/dbus/${name}.pid" + +start_precmd="dbus_prestart" +stop_postcmd="dbus_poststop" + +dbus_prestart() +{ + mkdir -p $(dirname $pidfile) +} + +dbus_poststop() +{ + rm -f $pidfile +} + + +load_rc_config ${name} +run_rc_command "$1" diff --git a/devel/dbus/files/patch-bus_bus.c b/devel/dbus/files/patch-bus_bus.c new file mode 100644 index 000000000..857d6379f --- /dev/null +++ b/devel/dbus/files/patch-bus_bus.c @@ -0,0 +1,11 @@ +--- bus/bus.c.orig Thu Jun 30 23:55:41 2005 ++++ bus/bus.c Thu Jun 30 23:56:04 2005 +@@ -486,7 +486,7 @@ process_config_every_time (BusContext + + _dbus_list_foreach (bus_config_parser_get_conf_dirs (parser), + (DBusForeachFunction) bus_watch_directory, +- NULL); ++ bus_context_get_loop (context)); + + _DBUS_ASSERT_ERROR_IS_CLEAR (error); + retval = TRUE; diff --git a/devel/dbus/files/patch-bus_session.conf.in b/devel/dbus/files/patch-bus_session.conf.in new file mode 100644 index 000000000..955de7132 --- /dev/null +++ b/devel/dbus/files/patch-bus_session.conf.in @@ -0,0 +1,10 @@ +--- bus/session.conf.in.orig Mon Jun 6 22:18:31 2005 ++++ bus/session.conf.in Mon Jun 6 22:31:35 2005 +@@ -11,6 +11,7 @@ + <listen>unix:tmpdir=@DBUS_SESSION_SOCKET_DIR@</listen> + + <servicedir>@EXPANDED_DATADIR@/dbus-1/services</servicedir> ++ <servicedir>%%X11BASE%%/share/dbus-1/services</servicedir> + + <policy context="default"> + <!-- Allow everything to be sent --> diff --git a/devel/dbus/files/patch-bus_system.conf.in b/devel/dbus/files/patch-bus_system.conf.in new file mode 100644 index 000000000..cfb3f879e --- /dev/null +++ b/devel/dbus/files/patch-bus_system.conf.in @@ -0,0 +1,10 @@ +--- bus/system.conf.in.orig Wed May 3 02:08:16 2006 ++++ bus/system.conf.in Wed May 3 02:09:58 2006 +@@ -52,6 +52,7 @@ + <!-- Config files are placed here that among other things, punch + holes in the above policy for specific services. --> + <includedir>system.d</includedir> ++ <includedir>%%X11BASE%%/etc/dbus-1/system.d</includedir> + + <!-- This is included last so local configuration can override what's + in this standard file --> diff --git a/devel/dbus/files/patch-dbus-1.pc.in b/devel/dbus/files/patch-dbus-1.pc.in new file mode 100644 index 000000000..1b96c24f5 --- /dev/null +++ b/devel/dbus/files/patch-dbus-1.pc.in @@ -0,0 +1,9 @@ +--- dbus-1.pc.in.orig Tue Jun 22 14:50:57 2004 ++++ dbus-1.pc.in Tue Jun 22 14:54:24 2004 +@@ -7,5 +7,5 @@ + Description: Free desktop message bus + Version: @VERSION@ + Libs: -L${libdir} -ldbus-1 +-Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include ++Cflags: -I${includedir}/dbus-1.0 -I${includedir}/dbus-1.0/include + diff --git a/devel/dbus/files/patch-dbus_Makefile.in b/devel/dbus/files/patch-dbus_Makefile.in new file mode 100644 index 000000000..42a58caed --- /dev/null +++ b/devel/dbus/files/patch-dbus_Makefile.in @@ -0,0 +1,11 @@ +--- dbus/Makefile.in.orig Fri Jan 21 19:43:46 2005 ++++ dbus/Makefile.in Fri Jan 21 19:44:43 2005 +@@ -360,7 +360,7 @@ + @HAVE_GLIB_TRUE@ $(DBUS_GLIB_BUILT_INCLUDES) + + dbusincludedir = $(includedir)/dbus-1.0/dbus +-dbusarchincludedir = $(libdir)/dbus-1.0/include/dbus ++dbusarchincludedir = $(includedir)/dbus-1.0/include/dbus + lib_LTLIBRARIES = libdbus-1.la + dbusinclude_HEADERS = \ + dbus.h \ diff --git a/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c b/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c new file mode 100644 index 000000000..42a750966 --- /dev/null +++ b/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c @@ -0,0 +1,94 @@ +--- dbus/dbus-sysdeps-unix.c.orig Thu Sep 14 01:07:11 2006 ++++ dbus/dbus-sysdeps-unix.c Sat Oct 7 12:23:40 2006 +@@ -719,16 +719,16 @@ write_credentials_byte (int + { + int bytes_written; + char buf[1] = { '\0' }; +-#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) +- struct { ++#if defined(HAVE_CMSGCRED) ++ union { + struct cmsghdr hdr; +- struct cmsgcred cred; ++ char cred[CMSG_SPACE (sizeof (struct cmsgcred))]; + } cmsg; + struct iovec iov; + struct msghdr msg; + #endif + +-#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) ++#if defined(HAVE_CMSGCRED) + iov.iov_base = buf; + iov.iov_len = 1; + +@@ -736,10 +736,10 @@ write_credentials_byte (int + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + +- msg.msg_control = &cmsg; +- msg.msg_controllen = sizeof (cmsg); ++ msg.msg_control = (caddr_t) &cmsg; ++ msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred)); + memset (&cmsg, 0, sizeof (cmsg)); +- cmsg.hdr.cmsg_len = sizeof (cmsg); ++ cmsg.hdr.cmsg_len = CMSG_LEN (sizeof (struct cmsgcred)); + cmsg.hdr.cmsg_level = SOL_SOCKET; + cmsg.hdr.cmsg_type = SCM_CREDS; + #endif +@@ -748,7 +748,7 @@ write_credentials_byte (int + + again: + +-#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) ++#if defined(HAVE_CMSGCRED) + bytes_written = sendmsg (server_fd, &msg, 0); + #else + bytes_written = write (server_fd, buf, 1); +@@ -806,9 +806,10 @@ _dbus_read_credentials_unix_socket (int + char buf; + + #ifdef HAVE_CMSGCRED +- struct { ++ struct cmsgcred *cred; ++ union { + struct cmsghdr hdr; +- struct cmsgcred cred; ++ char cred[CMSG_SPACE (sizeof (struct cmsgcred))]; + } cmsg; + + #elif defined(LOCAL_CREDS) +@@ -845,8 +846,8 @@ _dbus_read_credentials_unix_socket (int + + #if defined(HAVE_CMSGCRED) || defined(LOCAL_CREDS) + memset (&cmsg, 0, sizeof (cmsg)); +- msg.msg_control = &cmsg; +- msg.msg_controllen = sizeof (cmsg); ++ msg.msg_control = (caddr_t) &cmsg; ++ msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred)); + #endif + + again: +@@ -869,7 +870,8 @@ _dbus_read_credentials_unix_socket (int + } + + #if defined(HAVE_CMSGCRED) || defined(LOCAL_CREDS) +- if (cmsg.hdr.cmsg_len < sizeof (cmsg) || cmsg.hdr.cmsg_type != SCM_CREDS) ++ if (cmsg.hdr.cmsg_len < CMSG_LEN (sizeof (struct cmsgcred)) ++ || cmsg.hdr.cmsg_type != SCM_CREDS) + { + dbus_set_error (error, DBUS_ERROR_FAILED, + "Message from recvmsg() was not SCM_CREDS"); +@@ -897,9 +899,10 @@ _dbus_read_credentials_unix_socket (int + cr_len, (int) sizeof (cr), _dbus_strerror (errno)); + } + #elif defined(HAVE_CMSGCRED) +- credentials->pid = cmsg.cred.cmcred_pid; +- credentials->uid = cmsg.cred.cmcred_euid; +- credentials->gid = cmsg.cred.cmcred_groups[0]; ++ cred = (struct cmsgcred *) CMSG_DATA (&cmsg); ++ credentials->pid = cred->cmcred_pid; ++ credentials->uid = cred->cmcred_euid; ++ credentials->gid = cred->cmcred_groups[0]; + #elif defined(LOCAL_CREDS) + credentials->pid = DBUS_PID_UNSET; + credentials->uid = cmsg.cred.sc_uid; diff --git a/devel/dbus/files/patch-dbus_dbus-sysdeps-util-unix.c b/devel/dbus/files/patch-dbus_dbus-sysdeps-util-unix.c new file mode 100644 index 000000000..28701094b --- /dev/null +++ b/devel/dbus/files/patch-dbus_dbus-sysdeps-util-unix.c @@ -0,0 +1,11 @@ +--- dbus/dbus-sysdeps-util-unix.c.orig Sat Oct 7 12:33:47 2006 ++++ dbus/dbus-sysdeps-util-unix.c Sat Oct 7 12:34:13 2006 +@@ -502,7 +502,7 @@ static dbus_bool_t + dirent_buf_size(DIR * dirp, size_t *size) + { + long name_max; +-# if defined(HAVE_FPATHCONF) && defined(HAVE_DIRFD) \ ++# if defined(HAVE_FPATHCONF) && ( defined(HAVE_DIRFD) || defined(dirfd) )\ + && defined(_PC_NAME_MAX) + name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX); + if (name_max == -1) diff --git a/devel/dbus/pkg-descr b/devel/dbus/pkg-descr new file mode 100644 index 000000000..2a1c3cc0a --- /dev/null +++ b/devel/dbus/pkg-descr @@ -0,0 +1,8 @@ +D-BUS supplies both a system daemon (for events such as "new hardware device +added" or "printer queue changed") and a per-user-login-session daemon (for +general IPC needs among user applications). Also, the message bus is built on +top of a general one-to-one message passing framework, which can be used by +any two apps to communicate directly (without going through the message bus +daemon). + +WWW: http://www.freedesktop.org/Software/dbus diff --git a/devel/dbus/pkg-install b/devel/dbus/pkg-install new file mode 100644 index 000000000..06f47528d --- /dev/null +++ b/devel/dbus/pkg-install @@ -0,0 +1,38 @@ +#!/bin/sh + +case $2 in +POST-INSTALL) + USER=messagebus + GROUP=${USER} + UID=556 + GID=${UID} + PW=/usr/sbin/pw + + if ${PW} group show "${GROUP}" 2>/dev/null; then + echo "You already have a group \"${GROUP}\", so I will use it." + else + if ${PW} groupadd ${GROUP} -g ${GID}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi + fi + + if ${PW} user show "${USER}" 2>/dev/null; then + echo "You already have a user \"${USER}\", so I will use it." + else + if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \ + -d "/nonexistent" -s /sbin/nologin -c "D-BUS Daemon User" + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi + fi + + /usr/bin/install -d -o ${USER} -g ${GROUP} /var/run/dbus + exit 0 + ;; +esac diff --git a/devel/dbus/pkg-plist b/devel/dbus/pkg-plist new file mode 100644 index 000000000..e1703343c --- /dev/null +++ b/devel/dbus/pkg-plist @@ -0,0 +1,47 @@ +bin/dbus-cleanup-sockets +bin/dbus-daemon +bin/dbus-launch +bin/dbus-monitor +bin/dbus-send +etc/dbus-1/session.conf +etc/dbus-1/system.conf +include/dbus-%%VERSION%%/dbus/dbus-address.h +include/dbus-%%VERSION%%/dbus/dbus-bus.h +include/dbus-%%VERSION%%/dbus/dbus-connection.h +include/dbus-%%VERSION%%/dbus/dbus-errors.h +include/dbus-%%VERSION%%/dbus/dbus-macros.h +include/dbus-%%VERSION%%/dbus/dbus-memory.h +include/dbus-%%VERSION%%/dbus/dbus-message.h +include/dbus-%%VERSION%%/dbus/dbus-pending-call.h +include/dbus-%%VERSION%%/dbus/dbus-protocol.h +include/dbus-%%VERSION%%/dbus/dbus-server.h +include/dbus-%%VERSION%%/dbus/dbus-shared.h +include/dbus-%%VERSION%%/dbus/dbus-signature.h +include/dbus-%%VERSION%%/dbus/dbus-threads.h +include/dbus-%%VERSION%%/dbus/dbus-types.h +include/dbus-%%VERSION%%/dbus/dbus.h +include/dbus-%%VERSION%%/include/dbus/dbus-arch-deps.h +lib/libdbus-1.a +lib/libdbus-1.la +lib/libdbus-1.so +lib/libdbus-1.so.3 +libdata/pkgconfig/dbus-1.pc +@exec mkdir -p %D/etc/dbus-1/system.d +@exec mkdir -p %%X11BASE%%/etc/dbus-1/system.d +@exec mkdir -p %D/share/dbus-1/services +@exec mkdir -p %%X11BASE%%/share/dbus-1/services +@dirrmtry share/dbus-1/services +@dirrmtry share/dbus-1 +@unexec rmdir %%X11BASE%%/share/dbus-1/services 2>/dev/null || true +@unexec rmdir %%X11BASE%%/share/dbus-1 2>/dev/null || true +@unexec rmdir %%X11BASE%%/etc/dbus-1/system.d 2>/dev/null || true +@unexec rmdir %%X11BASE%%/etc/dbus-1 2>/dev/null || true +@dirrm include/dbus-%%VERSION%%/include/dbus +@dirrm include/dbus-%%VERSION%%/include +@dirrm include/dbus-%%VERSION%%/dbus +@dirrm include/dbus-%%VERSION%% +@dirrm etc/dbus-1/system.d +@dirrm etc/dbus-1 +@unexec rm -f /var/run/dbus/dbus.pid +@unexec rm -f /var/run/dbus/dbus.pipe +@unexec rmdir /var/run/dbus 2>/dev/null || true |