-#
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
+# Make sure to also update the dbus-x package
PKG_NAME:=dbus
-PKG_VERSION:=1.0.2
-PKG_RELEASE:=1
+PKG_VERSION:=1.2.4.6permissive
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://dbus.freedesktop.org/releases/dbus/
-PKG_MD5SUM:=0552a9b54beb4a044951b7cdbc8fc855
+PKG_MD5SUM:=1a158fe326b078d1377a977121888496
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
+TARGET_LDFLAGS+= \
+ -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
+ -Wl,-rpath=/usr/lib/
define Package/dbus/Default
- SECTION:=utils
- CATEGORY:=Utilities
- TITLE:=Simple interprocess messaging system
- URL:=http://dbus.freedesktop.org/
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Simple interprocess messaging system
+ URL:=http://dbus.freedesktop.org/
endef
define Package/dbus/Default/description
- D-Bus is a message bus system, a simple way for applications to talk to one
- another. In addition to interprocess communication, D-Bus helps coordinate
- process lifecycle; it makes it simple and reliable to code a "single instance"
- application or daemon, and to launch applications and daemons on demand when
+ D-Bus is a message bus system, a simple way for applications to talk to one
+ another. In addition to interprocess communication, D-Bus helps coordinate
+ process lifecycle; it makes it simple and reliable to code a "single instance"
+ application or daemon, and to launch applications and daemons on demand when
their services are needed.
endef
+define Package/libdbus
+$(call Package/dbus/Default)
+ CATEGORY:=Libraries
+ TITLE+= (library)
+endef
+
+define Package/libdbus/Description
+$(call Package/dbus/Default/description)
+ This package contains the D-Bus shared library.
+endef
define Package/dbus
$(call Package/dbus/Default)
TITLE+= (daemon)
- DEPENDS:= +libexpat
+ DEPENDS:= +libexpat +libdbus
endef
define Package/dbus/Description
This package contains the D-Bus daemon.
endef
-
define Package/dbus-utils
$(call Package/dbus/Default)
TITLE+= (utilities)
endef
+define Build/Prepare
+ $(Build/Prepare/Default)
+ $(SED) 's/-Wl,--gc-sections/--gc-sections/' $(PKG_BUILD_DIR)/configure
+endef
+
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
--disable-ansi \
--disable-asserts \
--disable-console-owner-file \
- --disable-dnotify \
--disable-doxygen-docs \
--disable-gcov \
--disable-selinux \
--disable-tests \
--disable-verbose-mode \
--disable-xml-docs \
- --without-x \
--with-xml="expat" \
+ --with-dbus-user=root \
--with-dbus-daemondir="/usr/sbin" \
--with-system-socket="/var/run/dbus/system_bus_socket" \
--with-system-pid-file="/var/run/dbus.pid" \
+ --without-x \
+ --libexecdir=/usr/lib/dbus-1
CONFIGURE_VARS+= \
ac_cv_have_abstract_sockets="yes" \
+ ac_cv_lib_expat_XML_ParserCreate_MM="yes" \
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- all install
-endef
-
define Build/InstallDev
- mkdir -p $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/dbus-1.0 \
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/include/dbus-1.0 \
$(1)/usr/include/
- mkdir -p $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{a,so*} \
+ $(INSTALL_DIR) $(1)/usr/lib/dbus-1.0/include/dbus/
+ $(INSTALL_DATA) \
+ $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0/include/dbus/*.h \
+ $(1)/usr/lib/dbus-1.0/include/dbus/
+
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_DATA) \
+ $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{so*,la,a} \
$(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 \
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 \
$(1)/usr/lib/
- mkdir -p $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/dbus-1.pc \
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(INSTALL_DATA) \
+ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/dbus-1.pc \
$(1)/usr/lib/pkgconfig/
endef
-define Build/UninstallDev
- rm -rf $(STAGING_DIR)/usr/include/dbus-1.0 \
- $(STAGING_DIR)/usr/lib/libdbus-1.{a,so*} \
- $(STAGING_DIR)/usr/lib/dbus-1.0 \
- $(STAGING_DIR)/usr/lib/pkgconfig/dbus-1.pc
-endef
-
-
define Package/dbus/conffiles
/etc/dbus-1/session.conf
/etc/dbus-1/system.conf
endef
+define Package/libdbus/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so.* \
+ $(1)/usr/lib/
+endef
+
define Package/dbus/install
$(INSTALL_DIR) $(1)/etc
- $(CP) $(PKG_INSTALL_DIR)/etc/dbus-1 $(1)/etc/
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so.* $(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/etc/dbus-1 \
+ $(1)/etc/
+
+ $(INSTALL_DIR) $(1)/usr/lib/dbus-1
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/lib/dbus-1/dbus-daemon-launch-helper \
+ $(1)/usr/lib/dbus-1/
+
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dbus-daemon $(1)/usr/sbin/
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/sbin/dbus-daemon \
+ $(1)/usr/sbin/
+
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/bin/dbus-uuidgen \
+ $(1)/usr/bin/
+
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/bin/dbus-launch \
+ $(1)/usr/bin/dbus-launch.real
+ $(INSTALL_BIN) \
+ ./files/dbus-launch \
+ $(1)/usr/bin/
+
$(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/dbus.init $(1)/etc/init.d/
+ $(INSTALL_BIN) \
+ ./files/dbus.init \
+ $(1)/etc/init.d/dbus
endef
-
define Package/dbus-utils/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dbus-* $(1)/usr/bin/
+ $(INSTALL_BIN) \
+ $(PKG_INSTALL_DIR)/usr/bin/dbus-{send,monitor,cleanup-sockets} \
+ $(1)/usr/bin/
endef
-
+$(eval $(call BuildPackage,libdbus))
$(eval $(call BuildPackage,dbus))
$(eval $(call BuildPackage,dbus-utils))
-