summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rw-r--r--abs/core/dbus/PKGBUILD37
-rw-r--r--abs/core/dbus/memleak.patch37
-rw-r--r--abs/core/dbus/systemd-user-session.patch183
3 files changed, 16 insertions, 241 deletions
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD
index ca11c98..f691400 100644
--- a/abs/core/dbus/PKGBUILD
+++ b/abs/core/dbus/PKGBUILD
@@ -2,24 +2,22 @@
# Maintainer: Tom Gundersen <teg@jklm.no>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
-#
+
pkgbase=dbus
pkgname=('dbus' 'libdbus')
-pkgver=1.8.0
+pkgver=1.8.12
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl')
-source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz
+source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz{,.asc}
30-dbus)
-md5sums=('059fbe84e39fc99c67a14f15b1f39dff'
+md5sums=('0ca23fc84c09cb3d29b9c27811ff4475'
+ 'SKIP'
'3314d727fa57fc443fce25b5cbeebbcc')
-
-prepare() {
- cd dbus-$pkgver
-}
+validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90')
build() {
cd dbus-$pkgver
@@ -44,28 +42,25 @@ package_dbus(){
replaces=('dbus-core')
cd dbus-$pkgver
+
+ # Disable installation of libdbus
+ sed -i -e 's/^SUBDIRS = dbus/SUBDIRS =/' Makefile
+
make DESTDIR="$pkgdir" install
- rm -rf "$pkgdir/var/run"
+ rm -rf "${pkgdir}/var/run"
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus"
-
install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING"
-
- # split out libdbus-1
- rm -rf "$srcdir/_libdbus"
- install -dm755 "$srcdir"/_libdbus/usr/lib/dbus-1.0
- mv "$pkgdir"/usr/include "$srcdir"/_libdbus/usr/
- mv "$pkgdir"/usr/lib/pkgconfig "$srcdir"/_libdbus/usr/lib/
- mv "$pkgdir"/usr/lib/libdbus* "$srcdir"/_libdbus/usr/lib/
- mv "$pkgdir"/usr/lib/dbus-1.0/include "$srcdir"/_libdbus/usr/lib/dbus-1.0/
- install -Dm644 COPYING "$srcdir"/_libdbus/usr/share/licenses/libdbus/COPYING
}
package_libdbus(){
pkgdesc="DBus library"
depends=('glibc')
-
- mv "$srcdir"/_libdbus/* "$pkgdir"
+ cd dbus-$pkgver
+ make DESTDIR="$pkgdir" -C dbus install
+ make DESTDIR="$pkgdir" install-data-am
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/libdbus/COPYING"
}
diff --git a/abs/core/dbus/memleak.patch b/abs/core/dbus/memleak.patch
deleted file mode 100644
index 7dea794..0000000
--- a/abs/core/dbus/memleak.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 03aeaccbffa97c9237b57ca067e3da7388862129 Mon Sep 17 00:00:00 2001
-From: Radoslaw Pajak <r.pajak@samsung.com>
-Date: Fri, 08 Nov 2013 12:51:32 +0000
-Subject: fixed memory freeing if error during listing services
-
-Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
-Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71526
----
-diff --git a/bus/activation.c b/bus/activation.c
-index fcb7133..ea48a26 100644
---- a/bus/activation.c
-+++ b/bus/activation.c
-@@ -2179,7 +2179,7 @@ bus_activation_list_services (BusActivation *activation,
-
- error:
- for (j = 0; j < i; j++)
-- dbus_free (retval[i]);
-+ dbus_free (retval[j]);
- dbus_free (retval);
-
- return FALSE;
-diff --git a/bus/services.c b/bus/services.c
-index 6f380fa..01a720e 100644
---- a/bus/services.c
-+++ b/bus/services.c
-@@ -368,7 +368,7 @@ bus_registry_list_services (BusRegistry *registry,
-
- error:
- for (j = 0; j < i; j++)
-- dbus_free (retval[i]);
-+ dbus_free (retval[j]);
- dbus_free (retval);
-
- return FALSE;
---
-cgit v0.9.0.2-2-gbebe
diff --git a/abs/core/dbus/systemd-user-session.patch b/abs/core/dbus/systemd-user-session.patch
deleted file mode 100644
index 3e05324..0000000
--- a/abs/core/dbus/systemd-user-session.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-commit d728fdc655f17031da3bb129ab2fd17dadf0fe3a
-Author: Simon Peeters <peeters.simon@gmail.com>
-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 <peeters.simon@gmail.com>
-
-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 <netinet/in.h>
- #include <netdb.h>
- #include <grp.h>
-+#include <arpa/inet.h>
-
- #ifdef HAVE_ERRNO_H
- #include <errno.h>
-@@ -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