From 3f0c4efbf72adbd091565fcc39ad1d09c92be5d0 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 6 Dec 2012 02:18:52 -0800 Subject: Thu Dec 6 02:15:36 PST 2012 --- core/dbus/30-dbus | 8 ++ core/dbus/PKGBUILD | 59 +++++++++++ core/dbus/dbus | 51 ++++++++++ core/dbus/dbus.install | 6 ++ core/dbus/systemd-user-session.patch | 183 +++++++++++++++++++++++++++++++++++ core/dnsutils/PKGBUILD | 6 +- core/isl/PKGBUILD | 10 +- 7 files changed, 315 insertions(+), 8 deletions(-) create mode 100644 core/dbus/30-dbus create mode 100644 core/dbus/PKGBUILD create mode 100644 core/dbus/dbus create mode 100644 core/dbus/dbus.install create mode 100644 core/dbus/systemd-user-session.patch (limited to 'core') diff --git a/core/dbus/30-dbus b/core/dbus/30-dbus new file mode 100644 index 000000000..69d2660da --- /dev/null +++ b/core/dbus/30-dbus @@ -0,0 +1,8 @@ +#!/bin/bash + +# launches a session dbus instance + +dbuslaunch="`which dbus-launch 2>/dev/null`" +if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then + eval `$dbuslaunch --sh-syntax --exit-with-session` +fi diff --git a/core/dbus/PKGBUILD b/core/dbus/PKGBUILD new file mode 100644 index 000000000..32b9a30bf --- /dev/null +++ b/core/dbus/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 172792 2012-12-06 01:48:03Z tomegun $ +# Maintainer: Tom Gundersen +# Maintainer: Jan de Groot +# Contributor: Link Dupont +# +pkgname=dbus +pkgver=1.6.8 +pkgrel=6 +pkgdesc="Freedesktop.org message bus system" +url="http://www.freedesktop.org/Software/dbus" +arch=(i686 x86_64) +license=('GPL' 'custom') +# do not depend on systemd to avoid circular dep, +# dep on shadow for install scriptlet FS#29341 +depends=('expat' 'coreutils' 'filesystem' 'shadow') +makedepends=('libx11') +optdepends=('libx11: dbus-launch support') +provides=('dbus-core') +conflicts=('dbus-core') +replaces=('dbus-core') +options=(!libtool) +install=dbus.install +source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz #{,.asc} + 30-dbus dbus systemd-user-session.patch) + +build() { + cd dbus-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \ + --with-system-pid-file=/run/dbus/pid \ + --with-system-socket=/run/dbus/system_bus_socket \ + --with-console-auth-dir=/run/console/ \ + --enable-inotify --disable-dnotify \ + --disable-verbose-mode --disable-static \ + --disable-tests --disable-asserts \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --enable-systemd + + patch -p1 < "$srcdir/systemd-user-session.patch" + + make +} + +package(){ + cd dbus-$pkgver + make DESTDIR="$pkgdir" install + + rm -rf "$pkgdir/var/run" + + install -Dm755 ../dbus "$pkgdir/etc/rc.d/dbus" + + install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING" +} +md5sums=('3bf059c7dd5eda5f539a1b7cfe7a14a2' + '9fafe8b28460aeaa6054309ef4c5ed92' + 'f0364f3f5dc5f653bb05d39aa36e3264' + 'd8a1bd529b3ddca671ee1a695a143db9') diff --git a/core/dbus/dbus b/core/dbus/dbus new file mode 100644 index 000000000..bf532a274 --- /dev/null +++ b/core/dbus/dbus @@ -0,0 +1,51 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +case $1 in + start) + stat_busy "Starting D-BUS system messagebus" + if [[ ! -d /run/dbus ]] ; then + install -m755 -g 81 -o 81 -d /run/dbus + fi + + if ! dbus-daemon --system; then + stat_fail + else + add_daemon dbus + stat_done + fi + ;; + stop) + stat_busy "Stopping D-BUS system messagebus" + if ! { [[ -f /run/dbus/pid ]] && kill $( +Date: 8 weeks ago + + Set correct address when using --address=systemd: + + When dbus gets launched through systemd, we need to create an address + string based on the sockets passed. + + The _dbus_append_addres_from_socket() function is responsible for + extracting the address information from the file-descriptor and + formatting it in a dbus friendly way. + + This fixes bus activation when running dbus under a systemd session. + + https://bugs.freedesktop.org/show_bug.cgi?id=50962 + + Signed-off-by: Simon Peeters + +diff --git a/dbus/dbus-server-unix.c b/dbus/dbus-server-unix.c +index 130f66e..d995240 100644 +--- a/dbus/dbus-server-unix.c ++++ b/dbus/dbus-server-unix.c +@@ -149,7 +149,7 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry, + } + else if (strcmp (method, "systemd") == 0) + { +- int n, *fds; ++ int i, n, *fds; + DBusString address; + + n = _dbus_listen_systemd_sockets (&fds, error); +@@ -159,27 +159,39 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry, + return DBUS_SERVER_LISTEN_DID_NOT_CONNECT; + } + +- _dbus_string_init_const (&address, "systemd:"); ++ if (!_dbus_string_init (&address)) ++ goto systemd_oom; + +- *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL); +- if (*server_p == NULL) ++ for (i = 0; i < n; i++) + { +- int i; +- +- for (i = 0; i < n; i++) ++ if (i > 0) + { +- _dbus_close_socket (fds[i], NULL); ++ if (!_dbus_string_append (&address, ";")) ++ goto systemd_oom; + } +- dbus_free (fds); +- +- dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); +- return DBUS_SERVER_LISTEN_DID_NOT_CONNECT; ++ if (!_dbus_append_address_from_socket (fds[i], &address, error)) ++ goto systemd_err; + } + ++ *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL); ++ if (*server_p == NULL) ++ goto systemd_oom; ++ + dbus_free (fds); + + return DBUS_SERVER_LISTEN_OK; +- } ++ systemd_oom: ++ _DBUS_SET_OOM (error); ++ systemd_err: ++ for (i = 0; i < n; i++) ++ { ++ _dbus_close_socket (fds[i], NULL); ++ } ++ dbus_free (fds); ++ _dbus_string_free (&address); ++ ++ return DBUS_SERVER_LISTEN_DID_NOT_CONNECT; ++ } + #ifdef DBUS_ENABLE_LAUNCHD + else if (strcmp (method, "launchd") == 0) + { +diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c +index b4ecc96..55743b1 100644 +--- a/dbus/dbus-sysdeps-unix.c ++++ b/dbus/dbus-sysdeps-unix.c +@@ -55,6 +55,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_ERRNO_H + #include +@@ -4160,4 +4161,71 @@ _dbus_check_setuid (void) + #endif + } + ++/** ++ * Read the address from the socket and append it to the string ++ * ++ * @param fd the socket ++ * @param address ++ * @param error return location for error code ++ */ ++dbus_bool_t ++_dbus_append_address_from_socket (int fd, ++ DBusString *address, ++ DBusError *error) ++{ ++ union { ++ struct sockaddr sa; ++ struct sockaddr_storage storage; ++ struct sockaddr_un un; ++ struct sockaddr_in ipv4; ++ struct sockaddr_in6 ipv6; ++ } socket; ++ char hostip[INET6_ADDRSTRLEN]; ++ int size = sizeof (socket); ++ ++ if (getsockname (fd, &socket.sa, &size)) ++ goto err; ++ ++ switch (socket.sa.sa_family) ++ { ++ case AF_UNIX: ++ if (socket.un.sun_path[0]=='\0') ++ { ++ if (_dbus_string_append_printf (address, "unix:abstract=%s", &(socket.un.sun_path[1]))) ++ return TRUE; ++ } ++ else ++ { ++ if (_dbus_string_append_printf (address, "unix:path=%s", socket.un.sun_path)) ++ return TRUE; ++ } ++ break; ++ case AF_INET: ++ if (inet_ntop (AF_INET, &socket.ipv4.sin_addr, hostip, sizeof (hostip))) ++ if (_dbus_string_append_printf (address, "tcp:family=ipv4,host=%s,port=%u", ++ hostip, ntohs (socket.ipv4.sin_port))) ++ return TRUE; ++ break; ++#ifdef AF_INET6 ++ case AF_INET6: ++ if (inet_ntop (AF_INET6, &socket.ipv6.sin6_addr, hostip, sizeof (hostip))) ++ if (_dbus_string_append_printf (address, "tcp:family=ipv6,host=%s,port=%u", ++ hostip, ntohs (socket.ipv6.sin6_port))) ++ return TRUE; ++ break; ++#endif ++ default: ++ dbus_set_error (error, ++ _dbus_error_from_errno (EINVAL), ++ "Failed to read address from socket: Unknown socket type."); ++ return FALSE; ++ } ++ err: ++ dbus_set_error (error, ++ _dbus_error_from_errno (errno), ++ "Failed to open socket: %s", ++ _dbus_strerror (errno)); ++ return FALSE; ++} ++ + /* tests in dbus-sysdeps-util.c */ +diff --git a/dbus/dbus-sysdeps-unix.h b/dbus/dbus-sysdeps-unix.h +index 9b70896..a265b33 100644 +--- a/dbus/dbus-sysdeps-unix.h ++++ b/dbus/dbus-sysdeps-unix.h +@@ -138,6 +138,10 @@ dbus_bool_t _dbus_parse_uid (const DBusString *uid_str, + + void _dbus_close_all (void); + ++dbus_bool_t _dbus_append_address_from_socket (int fd, ++ DBusString *address, ++ DBusError *error); ++ + /** @} */ + + DBUS_END_DECLS diff --git a/core/dnsutils/PKGBUILD b/core/dnsutils/PKGBUILD index 03ae9a15a..b68e67f9c 100644 --- a/core/dnsutils/PKGBUILD +++ b/core/dnsutils/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 168406 2012-10-11 06:22:42Z bisson $ +# $Id: PKGBUILD 172785 2012-12-06 00:11:18Z bisson $ # Maintainer: Gaetan Bisson # Contributor: kevin # Contributor: mario pkgname=dnsutils -_pkgver=9.9.2 +_pkgver=9.9.2-P1 pkgver=${_pkgver//-/.} pkgrel=1 pkgdesc='DNS utilities: dig host nslookup' @@ -15,7 +15,7 @@ options=('!makeflags') depends=('openssl' 'krb5' 'idnkit' 'dnssec-anchors') source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz" 'remove-bind.patch') -sha1sums=('eb9fa7b497d67ce61a120cb96c302381bc385324' +sha1sums=('9d56db2a86dde8167f7adfb200beee0f51d771a5' 'bb13bd54134e4d787469be25461a3cc3f5cb57f4') replaces=('bind-tools' 'host') diff --git a/core/isl/PKGBUILD b/core/isl/PKGBUILD index 2aa5e2194..959a457ac 100644 --- a/core/isl/PKGBUILD +++ b/core/isl/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 162067 2012-06-19 12:27:31Z allan $ +# $Id: PKGBUILD 172787 2012-12-06 01:18:23Z allan $ # Maintainer: Allan McRae pkgname=isl -pkgver=0.10 +pkgver=0.11 pkgrel=1 pkgdesc="Library for manipulating sets and relations of integer points bounded by linear constraints" arch=('i686' 'x86_64') url="http://www.kotnet.org/~skimo/isl/" -license=('LGPL2.1') +license=('MIT') options=('!libtool') source=(http://www.kotnet.org/~skimo/isl/$pkgname-$pkgver.tar.bz2) -md5sums=('c1ece653891bb2a5f55ca25e3f4e8f35') +md5sums=('8dd36a28ed255f4fd3d903adb24e99db') build() { cd "$srcdir/$pkgname-$pkgver" @@ -28,5 +28,5 @@ package() { make -j1 DESTDIR="$pkgdir/" install install -dm755 $pkgdir/usr/share/gdb/auto-load/usr/lib/ - mv $pkgdir/{,/usr/share/gdb/auto-load/}usr/lib/libisl.so.10.0.0-gdb.py + mv $pkgdir/{,/usr/share/gdb/auto-load/}usr/lib/libisl.so.10.1.0-gdb.py } -- cgit v1.2.3-54-g00ecf