diff options
-rw-r--r-- | sys-apps/dbus/Manifest | 9 | ||||
-rw-r--r-- | sys-apps/dbus/dbus-1.1.2.ebuild | 129 | ||||
-rw-r--r-- | sys-apps/dbus/files/30-dbus | 9 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.0.0-inotify.patch | 214 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.0.1-fixfilecreation.patch | 11 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.1.2-get-effective-id.patch | 71 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.1.2-no-abort.patch | 12 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.1.2-pie.patch | 87 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus.init-1.0 | 51 |
9 files changed, 0 insertions, 593 deletions
diff --git a/sys-apps/dbus/Manifest b/sys-apps/dbus/Manifest deleted file mode 100644 index 6a54aa3..0000000 --- a/sys-apps/dbus/Manifest +++ /dev/null @@ -1,9 +0,0 @@ -AUX 30-dbus 243 RMD160 b5e7a813cd5d91f2ea60bb22260e432cbfb72fd9 SHA1 35ee3a5d3db9c7e372603ce916e17a41edd01d36 SHA256 a8e8fec9769cc5d46df8216f7d1e1f9df422c4e46f293fd70d4b017fb01d959d -AUX dbus-1.0.0-inotify.patch 6611 RMD160 a1c42baaadfc006ea374148682d1be14371cb1f8 SHA1 090117ff56565ca689a30216158ae9fd08c825bd SHA256 50fb4f610f0e523b56beb36aebd76945dda945acf4bc4f600a8696e1c9618442 -AUX dbus-1.0.1-fixfilecreation.patch 474 RMD160 63e1a6737519773dc85b64098577a97bae7ef6cc SHA1 a4748d3db24f425bd8ed2409bf225d01ced11640 SHA256 183ec284a385b3ef724abbcebd10e42765d81212d23e269c473fb3772f9ab2a3 -AUX dbus-1.1.2-get-effective-id.patch 2512 RMD160 13053f6c3e4da1a79c00decf0789a883933496b7 SHA1 450d71f62a590ff333b90da1d378108ff8d6ecd7 SHA256 7648ca944cc7accd7c03799a5eaa4bffc5d140d9cc4a4b473dfdf5a3a98a2101 -AUX dbus-1.1.2-no-abort.patch 487 RMD160 3a2434e9a68773c5a176500047130f60b4c2f185 SHA1 726492038dba67f28e40a302f5ca0b1742001382 SHA256 79c7b1a289547e7c5c68dab3026105189c1283d0887e36cbdb5836b6445f4a8b -AUX dbus-1.1.2-pie.patch 2952 RMD160 be0c50f538254d3c42f98946fb128c308024ca43 SHA1 99cd098fe296798efa29acf8062cd9597abbdfbe SHA256 61b995cd76859c36fd2d0eb9c998a1a0c21591a3bf489d577ec44d81dc01adbb -AUX dbus.init-1.0 1163 RMD160 bc29ffaf1790abe4e8d66972682a21eb2c88b6fd SHA1 39cff17bfb2dda0f2c7464ff79a533bc7515ad09 SHA256 6bfc1e66ae829fd71b5a2bf4a84d4a9ff80a7a2a506eebec40fdf7c63cab72e7 -DIST dbus-1.1.2.tar.gz 1380562 RMD160 817430a82b729e2747c256d1ae8775914965f278 SHA1 4f4b1e430807acc2ed5aa3e21bde3015661423a9 SHA256 eb46371f6a51696965d31a8f908807379fb4c6be789854ad0e7a02965fd83fde -EBUILD dbus-1.1.2.ebuild 3612 RMD160 7d75a1045ced88c17b94db0a685979f3eec3a1dd SHA1 7f454f72734a0669f0aaa3f714bb1f6129ea0225 SHA256 bb509d709266e6fa8edbc9faddca44c38f0913ff7a4f02c41a6c0a9d7075dad2 diff --git a/sys-apps/dbus/dbus-1.1.2.ebuild b/sys-apps/dbus/dbus-1.1.2.ebuild deleted file mode 100644 index 0a80a03..0000000 --- a/sys-apps/dbus/dbus-1.1.2.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.0.2-r2.ebuild,v 1.12 2007/05/13 07:12:30 kumba Exp $ - -inherit eutils multilib autotools flag-o-matic - -DESCRIPTION="A message bus system, a simple way for applications to talk to each other" -HOMEPAGE="http://dbus.freedesktop.org/" -SRC_URI="http://dbus.freedesktop.org/releases/dbus/${P}.tar.gz" - -LICENSE="|| ( GPL-2 AFL-2.1 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE="debug doc selinux X" - -RDEPEND="X? ( x11-libs/libXt x11-libs/libX11 ) - selinux? ( sys-libs/libselinux - sec-policy/selinux-dbus ) - >=dev-libs/expat-1.95.8 - !<sys-apps/dbus-0.91" -DEPEND="${RDEPEND} - dev-util/pkgconfig - doc? ( app-doc/doxygen - app-text/xmlto )" - -src_unpack() { - unpack ${A} - cd "${S}" - - # fix dnotify issue with not detecting created files - epatch "${FILESDIR}"/${PN}-1.0.1-fixfilecreation.patch - - # Experimental (woowoo!) inotify support... please test! - epatch "${FILESDIR}"/${PN}-1.0.0-inotify.patch - epatch "${FILESDIR}"/${PN}-1.1.2-get-effective-id.patch - - # Fix abort - epatch "${FILESDIR}/${PN}-1.1.2-no-abort.patch" - - # Add support for -fPIE - epatch "${FILESDIR}/${PN}-1.1.2-pie.patch" - - eautoreconf -} - -src_compile() { - # so we can get backtraces from apps - append-flags -rdynamic - - local myconf="" - - hasq test ${FEATURES} && myconf="${myconf} --enable-tests=yes" - - econf \ - $(use_with X x) \ - $(use_enable kernel_linux inotify) \ - $(use_enable kernel_FreeBSD kqueue) \ - $(use_enable selinux) \ - $(use_enable debug verbose-mode) \ - $(use_enable debug asserts) \ - --with-xml=expat \ - --with-system-pid-file=/var/run/dbus.pid \ - --with-system-socket=/var/run/dbus/system_bus_socket \ - --with-session-socket-dir=/tmp \ - --with-dbus-user=messagebus \ - --localstatedir=/var \ - $(use_enable doc doxygen-docs) \ - --disable-xml-docs \ - ${myconf} \ - || die "econf failed" - - # after the compile, it uses a selinuxfs interface to - # check if the SELinux policy has the right support - use selinux && addwrite /selinux/access - - emake || die "make failed" -} - -src_test() { - DBUS_VERBOSE=1 make check || die "make check failed" -} - -src_install() { - make DESTDIR="${D}" install || die "make install failed" - - # initscript - newinitd "${FILESDIR}"/dbus.init-1.0 dbus - - # dbus X session script (#77504) - # turns out to only work for GDM. has been merged into other desktop - # (kdm and such scripts) - exeinto /etc/X11/xinit/xinitrc.d/ - doexe "${FILESDIR}"/30-dbus - - # needs to exist for the system socket - keepdir /var/run/dbus - # needs to exist for machine id - keepdir /var/lib/dbus - # needs to exist for dbus sessions to launch - - keepdir /usr/lib/dbus-1.0/services - keepdir /usr/share/dbus-1/services - keepdir /etc/dbus-1/system.d/ - keepdir /etc/dbus-1/session.d/ - - dodoc AUTHORS ChangeLog HACKING NEWS README doc/TODO - if use doc; then - dohtml doc/*html - fi -} - -pkg_preinst() { - enewgroup messagebus || die "Problem adding messagebus group" - enewuser messagebus -1 "-1" -1 messagebus || die "Problem adding messagebus user" -} - -pkg_postinst() { - elog "To start the D-Bus system-wide messagebus by default" - elog "you should add it to the default runlevel :" - elog "\`rc-update add dbus default\`" - elog - elog "Somme applications require a session bus in addition to the system" - elog "bus. Please see \`man dbus-launch\` for more information." - elog - ewarn - ewarn "You MUST run 'revdep-rebuild' after emerging this package" - elog "If you notice any issues, please rebuild sys-apps/hal" - ewarn -} diff --git a/sys-apps/dbus/files/30-dbus b/sys-apps/dbus/files/30-dbus deleted file mode 100644 index 603e92d..0000000 --- a/sys-apps/dbus/files/30-dbus +++ /dev/null @@ -1,9 +0,0 @@ -#!/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/sys-apps/dbus/files/dbus-1.0.0-inotify.patch b/sys-apps/dbus/files/dbus-1.0.0-inotify.patch deleted file mode 100644 index d6e4bab..0000000 --- a/sys-apps/dbus/files/dbus-1.0.0-inotify.patch +++ /dev/null @@ -1,214 +0,0 @@ ---- dbus-1.0.0/bus/Makefile.am.inotify 2006-10-01 17:36:18.000000000 +0200 -+++ dbus-1.0.0/bus/Makefile.am 2006-11-22 14:32:44.000000000 +0100 -@@ -26,12 +26,16 @@ - if DBUS_BUS_ENABLE_KQUEUE - DIR_WATCH_SOURCE=dir-watch-kqueue.c - else -+if DBUS_BUS_ENABLE_INOTIFY -+DIR_WATCH_SOURCE=dir-watch-inotify.c -+else - if DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX - DIR_WATCH_SOURCE=dir-watch-dnotify.c - else - DIR_WATCH_SOURCE=dir-watch-default.c - endif - endif -+endif - - BUS_SOURCES= \ - activation.c \ ---- dbus-1.0.0/bus/dir-watch-inotify.c.inotify 2006-11-22 14:32:44.000000000 +0100 -+++ dbus-1.0.0/bus/dir-watch-inotify.c 2006-11-22 14:46:29.000000000 +0100 -@@ -0,0 +1,155 @@ -+/* -*- mode: C; c-file-style: "gnu" -*- */ -+/* dir-watch-inotify.c OS specific directory change notification for message bus -+ * -+ * Copyright (C) 2003 Red Hat, Inc. -+ * (c) 2006 Mandriva -+ * -+ * Licensed under the Academic Free License version 2.1 -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ */ -+ -+#include <config.h> -+ -+#define _GNU_SOURCE -+#include <stdlib.h> -+#include <unistd.h> -+#include <fcntl.h> -+#include <sys/inotify.h> -+#include <sys/types.h> -+#include <signal.h> -+ -+#include <dbus/dbus-internals.h> -+#include <dbus/dbus-watch.h> -+#include "dir-watch.h" -+ -+#define MAX_DIRS_TO_WATCH 128 -+ -+/* use a static array to avoid handling OOM */ -+static int wds[MAX_DIRS_TO_WATCH]; -+static int num_wds = 0; -+static int inotify_fd = -1; -+static DBusWatch *watch = NULL; -+static DBusLoop *loop = NULL; -+ -+static dbus_bool_t -+_inotify_watch_callback (DBusWatch *watch, unsigned int condition, void *data) -+{ -+ return dbus_watch_handle (watch, condition); -+} -+ -+static dbus_bool_t -+_handle_inotify_watch (DBusWatch *watch, unsigned int flags, void *data) -+{ -+ struct inotify_event ev; -+ size_t res; -+ pid_t pid; -+ -+ res = read (inotify_fd, &ev, sizeof(ev)); -+ -+ if (res > 0) -+ { -+ pid = getpid (); -+ _dbus_verbose ("Sending SIGHUP signal on reception of a inotify event\n"); -+ (void) kill (pid, SIGHUP); -+ } -+ else if (res < 0 && errno == EBADF) -+ { -+ if (watch != NULL) -+ { -+ _dbus_loop_remove_watch (loop, watch, _inotify_watch_callback, NULL); -+ _dbus_watch_unref (watch); -+ watch = NULL; -+ } -+ pid = getpid (); -+ _dbus_verbose ("Sending SIGHUP signal since inotify fd has been closed\n"); -+ (void) kill (pid, SIGHUP); -+ } -+ -+ return TRUE; -+} -+void -+bus_watch_directory (const char *dir, BusContext *context) -+{ -+ int wd; -+ -+ _dbus_assert (dir != NULL); -+ -+ if (inotify_fd == -1) { -+ inotify_fd = inotify_init (); -+ if (inotify_fd <= 0) { -+ _dbus_warn ("Cannot initialize inotify\n"); -+ goto out; -+ } -+ loop = bus_context_get_loop (context); -+ -+ watch = _dbus_watch_new (inotify_fd, DBUS_WATCH_READABLE, TRUE, -+ _handle_inotify_watch, NULL, NULL); -+ -+ if (watch == NULL) -+ { -+ _dbus_warn ("Unable to create inotify watch\n"); -+ goto out; -+ } -+ -+ if (!_dbus_loop_add_watch (loop, watch, _inotify_watch_callback, -+ NULL, NULL)) -+ { -+ _dbus_warn ("Unable to add reload watch to main loop"); -+ _dbus_watch_unref (watch); -+ watch = NULL; -+ goto out; -+ } -+ } -+ -+ -+ if (num_wds >= MAX_DIRS_TO_WATCH ) -+ { -+ _dbus_warn ("Cannot watch config directory '%s'. Already watching %d directories\n", dir, MAX_DIRS_TO_WATCH); -+ goto out; -+ } -+ -+ wd = inotify_add_watch (inotify_fd, dir, IN_MODIFY); -+ if (wd < 0) -+ { -+ _dbus_warn ("Cannot setup inotify for '%s'; error '%s'\n", dir, _dbus_strerror (errno)); -+ goto out; -+ } -+ -+ wds[num_wds++] = wd; -+ _dbus_verbose ("Added watch on config directory '%s'\n", dir); -+ -+ out: -+ ; -+} -+ -+void -+bus_drop_all_directory_watches (void) -+{ -+ int i; -+ -+ _dbus_verbose ("Dropping all watches on config directories\n"); -+ -+ for (i = 0; i < num_wds; i++) -+ { -+ if (inotify_rm_watch(inotify_fd, wds[i]) != 0) -+ { -+ _dbus_verbose ("Error closing fd %d for config directory watch\n", wds[i]); -+ } -+ } -+ -+ num_wds = 0; -+} ---- dbus-1.0.0/configure.in.inotify 2006-11-09 00:29:03.000000000 +0100 -+++ dbus-1.0.0/configure.in 2006-11-22 14:32:44.000000000 +0100 -@@ -57,6 +57,7 @@ - AC_ARG_ENABLE(abstract-sockets, AS_HELP_STRING([--enable-abstract-sockets],[use abstract socket namespace (linux only)]),enable_abstract_sockets=$enableval,enable_abstract_sockets=auto) - AC_ARG_ENABLE(selinux, AS_HELP_STRING([--enable-selinux],[build with SELinux support]),enable_selinux=$enableval,enable_selinux=auto) - AC_ARG_ENABLE(dnotify, AS_HELP_STRING([--enable-dnotify],[build with dnotify support (linux only)]),enable_dnotify=$enableval,enable_dnotify=auto) -+AC_ARG_ENABLE(inotify, AS_HELP_STRING([--enable-inotify],[build with inotify support (linux only)]),enable_inotify=$enableval,enable_inotify=auto) - AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto) - AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto) - -@@ -842,11 +843,25 @@ - SELINUX_LIBS= - fi - -+# inotify checks -+if test x$enable_inotify = xno ; then -+ have_inotify=no; -+else -+ AC_CHECK_HEADERS(sys/inotify.h, have_inotify=no, have_inotify=yes) -+fi -+ -+dnl check if inotify backend is enabled -+if test x$have_inotify = xyes; then -+ AC_DEFINE(DBUS_BUS_ENABLE_INOTIFY,1,[Use inotify]) -+fi -+ -+AM_CONDITIONAL(DBUS_BUS_ENABLE_INOTIFY, test x$have_inotify = xyes) -+ - # dnotify checks - if test x$enable_dnotify = xno ; then - have_dnotify=no; - else -- if test x$target_os = xlinux-gnu -o x$target_os = xlinux; then -+ if test x$target_os = xlinux-gnu -o x$target_os = xlinux -a x$have_inotify = xno; then - have_dnotify=yes; - else - have_dnotify=no; diff --git a/sys-apps/dbus/files/dbus-1.0.1-fixfilecreation.patch b/sys-apps/dbus/files/dbus-1.0.1-fixfilecreation.patch deleted file mode 100644 index 0dabf2c..0000000 --- a/sys-apps/dbus/files/dbus-1.0.1-fixfilecreation.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- dbus-1.0.0/bus/dir-watch-dnotify.c.fixfilecreation 2006-11-22 14:24:01.000000000 +0100 -+++ dbus-1.0.0/bus/dir-watch-dnotify.c 2006-11-22 14:26:06.000000000 +0100 -@@ -57,7 +57,7 @@ - goto out; - } - -- if (fcntl (fd, F_NOTIFY, DN_DELETE|DN_RENAME|DN_MODIFY) == -1) -+ if (fcntl (fd, F_NOTIFY, DN_CREATE|DN_DELETE|DN_RENAME|DN_MODIFY) == -1) - { - _dbus_warn ("Cannot setup D_NOTIFY for '%s' error '%s'\n", dir, _dbus_strerror (errno)); - close (fd); diff --git a/sys-apps/dbus/files/dbus-1.1.2-get-effective-id.patch b/sys-apps/dbus/files/dbus-1.1.2-get-effective-id.patch deleted file mode 100644 index c63bb74..0000000 --- a/sys-apps/dbus/files/dbus-1.1.2-get-effective-id.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -ruN dbus-1.1.2.orig/bus/activation-helper.c dbus-1.1.2/bus/activation-helper.c ---- dbus-1.1.2.orig/bus/activation-helper.c 2007-09-12 11:32:16.000000000 -0500 -+++ dbus-1.1.2/bus/activation-helper.c 2007-09-12 11:38:29.000000000 -0500 -@@ -200,7 +200,7 @@ - "cannot find user '%s'", dbus_user); - return FALSE; - } -- uid = getuid(); -+ uid = geteuid(); - if (pw->pw_uid != uid) - { - dbus_set_error (error, DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, -diff -ruN dbus-1.1.2.orig/dbus/dbus-sysdeps-unix.c dbus-1.1.2/dbus/dbus-sysdeps-unix.c ---- dbus-1.1.2.orig/dbus/dbus-sysdeps-unix.c 2007-09-12 11:32:16.000000000 -0500 -+++ dbus-1.1.2/dbus/dbus-sysdeps-unix.c 2007-09-12 11:35:08.000000000 -0500 -@@ -1664,7 +1664,7 @@ - _dbus_append_user_from_current_process (DBusString *str) - { - return _dbus_string_append_uint (str, -- _dbus_getuid ()); -+ _dbus_geteuid ()); - } - - /** -@@ -1686,6 +1686,15 @@ - return getuid (); - } - -+/** Gets our effective UID -+ * @returns process effective UID -+ */ -+dbus_uid_t -+_dbus_geteuid (void) -+{ -+ return geteuid (); -+} -+ - /** - * The only reason this is separate from _dbus_getpid() is to allow it - * on Windows for logging but not for other purposes. -diff -ruN dbus-1.1.2.orig/dbus/dbus-sysdeps-unix.h dbus-1.1.2/dbus/dbus-sysdeps-unix.h ---- dbus-1.1.2.orig/dbus/dbus-sysdeps-unix.h 2007-09-12 11:32:16.000000000 -0500 -+++ dbus-1.1.2/dbus/dbus-sysdeps-unix.h 2007-09-12 11:35:51.000000000 -0500 -@@ -121,6 +121,7 @@ - void _dbus_group_info_free (DBusGroupInfo *info); - - dbus_uid_t _dbus_getuid (void); -+dbus_uid_t _dbus_geteuid (void); - dbus_gid_t _dbus_getgid (void); - - dbus_bool_t _dbus_parse_uid (const DBusString *uid_str, -diff -ruN dbus-1.1.2.orig/dbus/dbus-sysdeps-util-unix.c dbus-1.1.2/dbus/dbus-sysdeps-util-unix.c ---- dbus-1.1.2.orig/dbus/dbus-sysdeps-util-unix.c 2007-09-12 11:32:16.000000000 -0500 -+++ dbus-1.1.2/dbus/dbus-sysdeps-util-unix.c 2007-09-12 11:37:55.000000000 -0500 -@@ -294,7 +294,7 @@ - } - - #ifdef HAVE_LIBAUDIT -- we_were_root = _dbus_getuid () == 0; -+ we_were_root = _dbus_geteuid () == 0; - new_caps = NULL; - /* have a tmp set of caps that we use to transition to the usr/grp dbus should - * run as ... doesn't really help. But keeps people happy. -@@ -952,7 +952,7 @@ - dbus_bool_t - _dbus_unix_user_is_process_owner (dbus_uid_t uid) - { -- return uid == _dbus_getuid (); -+ return uid == _dbus_geteuid (); - } - diff --git a/sys-apps/dbus/files/dbus-1.1.2-no-abort.patch b/sys-apps/dbus/files/dbus-1.1.2-no-abort.patch deleted file mode 100644 index cb6aae9..0000000 --- a/sys-apps/dbus/files/dbus-1.1.2-no-abort.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up dbus-1.1.2/bus/bus.c.foo dbus-1.1.2/bus/bus.c ---- dbus-1.1.2/bus/bus.c.foo 2007-09-14 15:26:08.000000000 -0400 -+++ dbus-1.1.2/bus/bus.c 2007-09-14 15:26:08.000000000 -0400 -@@ -1206,7 +1206,7 @@ bus_context_check_security_policy (BusCo - dest ? dest : DBUS_SERVICE_DBUS, error)) - { - -- if (dbus_error_is_set (error) && -+ if (error != NULL && dbus_error_is_set (error) && - dbus_error_has_name (error, DBUS_ERROR_NO_MEMORY)) - { - return FALSE; diff --git a/sys-apps/dbus/files/dbus-1.1.2-pie.patch b/sys-apps/dbus/files/dbus-1.1.2-pie.patch deleted file mode 100644 index ab6afa1..0000000 --- a/sys-apps/dbus/files/dbus-1.1.2-pie.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: John (J5) Palmieri <johnp@redhat.com> -Date: Wed, 3 Oct 2007 19:21:57 +0000 (-0400) -Subject: Correctly implement -fPIC and -fPIE -X-Git-Url: http://gitweb.freedesktop.org/?p=dbus/dbus.git;a=commitdiff;h=8a92100bbed2ba5cb16a1ede36214fa7d2f43e43 - -Correctly implement -fPIC and -fPIE - -* For security reasons we want possition independent code for libraries - and possition independent executable for executables -* before we were just enabling -fPIC -* now we correctly enable -fPIC and -PIE for libdbus and the bus respectively -* propper LD_FLAGS are set for each also ---- - ---- a/bus/Makefile.am -+++ b/bus/Makefile.am -@@ -1,7 +1,7 @@ - - configdir=$(sysconfdir)/dbus-1 - --INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) \ -+INCLUDES=-I$(top_srcdir) $(DBUS_BUS_CFLAGS) @PIE_CFLAGS@ \ - -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \ - -DDAEMON_NAME=\"dbus-daemon\" -DDBUS_COMPILATION - -@@ -77,7 +77,7 @@ dbus_daemon_LDADD= \ - $(DBUS_BUS_LIBS) \ - $(top_builddir)/dbus/libdbus-convenience.la - --dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ -+dbus_daemon_LDFLAGS=@R_DYNAMIC_LDFLAG@ @SECTION_LDFLAGS@ @PIE_LDFLAGS@ - - LAUNCH_HELPER_SOURCES= \ - $(XML_SOURCES) \ ---- a/configure.in -+++ b/configure.in -@@ -211,7 +211,17 @@ if test "x$GCC" = "xyes"; then - case " $CFLAGS " in - *[\ \ ]-fPIC[\ \ ]*) ;; - *) if cc_supports_flag -fPIC; then -- CFLAGS="$CFLAGS -fPIC" -+ PIC_CFLAGS="-fPIC" -+ PIC_LDFLAGS="-Wl,-z,relro" -+ fi -+ ;; -+ esac -+ -+ case " $CFLAGS " in -+ *[\ \ ]-fPIE[\ \ ]*) ;; -+ *) if cc_supports_flag -fPIE; then -+ PIE_CFLAGS="-fPIE" -+ PIE_LDFLAGS="-pie -Wl,-z,relro" - fi - ;; - esac -@@ -257,6 +267,11 @@ else - fi - fi - -+AC_SUBST(PIC_CFLAGS) -+AC_SUBST(PIC_LDFLAGS) -+AC_SUBST(PIE_CFLAGS) -+AC_SUBST(PIE_LDFLAGS) -+ - # Check for -Wl,--gc-sections - AC_MSG_CHECKING([for ld that supports "-Wl,--gc-sections"]) - AC_TRY_LINK([ ---- a/dbus/Makefile.am -+++ b/dbus/Makefile.am -@@ -1,7 +1,7 @@ - - configdir=$(sysconfdir)/dbus-1 - --INCLUDES=-I$(top_builddir) -I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) -DDBUS_COMPILATION \ -+INCLUDES=-I$(top_builddir) -I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) @PIC_CFLAGS@ -DDBUS_COMPILATION \ - -DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \ - -DDBUS_SYSTEM_CONFIG_FILE=\""$(configdir)/system.conf"\" \ - -DDBUS_SESSION_CONFIG_FILE=\""$(configdir)/session.conf"\" -@@ -173,7 +173,7 @@ noinst_LTLIBRARIES=libdbus-convenience.l - libdbus_1_la_LIBADD= $(DBUS_CLIENT_LIBS) - ## don't export symbols that start with "_" (we use this - ## convention for internal symbols) --libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*" -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -no-undefined @R_DYNAMIC_LDFLAG@ -+libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*" -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -no-undefined @R_DYNAMIC_LDFLAG@ @PIC_LDFLAGS@ - - libdbus_convenience_la_LDFLAGS=@R_DYNAMIC_LDFLAG@ - diff --git a/sys-apps/dbus/files/dbus.init-1.0 b/sys-apps/dbus/files/dbus.init-1.0 deleted file mode 100644 index 086aa21..0000000 --- a/sys-apps/dbus/files/dbus.init-1.0 +++ /dev/null @@ -1,51 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/files/dbus.init-1.0,v 1.3 2007/02/23 11:00:28 uberlord Exp $ - -opts="reload" - -depend() { - need localmount - after bootmisc nscd dns -} - -start() { - ebegin "Starting D-BUS system messagebus" - - /usr/bin/dbus-uuidgen --ensure - - # We need to test if /var/run/dbus exists, since script will fail if it does not - [ ! -e /var/run/dbus ] && mkdir /var/run/dbus - - start-stop-daemon --start --pidfile /var/run/dbus.pid --exec /usr/bin/dbus-daemon -- --system - eend $? -} - -stop() { - local retval - - ebegin "Stopping D-BUS system messagebus" - - start-stop-daemon --stop --pidfile /var/run/dbus.pid - retval=$? - - eend ${retval} - - [ -S /var/run/dbus/system_bus_socket ] && rm -f /var/run/dbus/system_bus_socket - - return ${retval} -} - -reload() { - local retval - - ebegin "Reloading D-BUS messagebus config" - - /usr/bin/dbus-send --print-reply --system --type=method_call \ - --dest=org.freedesktop.DBus \ - / org.freedesktop.DBus.ReloadConfig > /dev/null - retval=$? - eend ${retval} - return ${retval} -} |