From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 6EF351395E2 for ; Thu, 8 Dec 2016 10:09:18 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C3268E0CC1; Thu, 8 Dec 2016 10:09:17 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 975A1E0CC1 for ; Thu, 8 Dec 2016 10:09:17 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9BD673413A6 for ; Thu, 8 Dec 2016 10:09:16 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 67C8E24C7 for ; Thu, 8 Dec 2016 10:09:15 +0000 (UTC) From: "Pacho Ramos" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Pacho Ramos" Message-ID: <1481191751.c0f246a255a609281d3e330ab9a7e1cc899b018e.pacho@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/bluez/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-wireless/bluez/bluez-5.43-r1.ebuild net-wireless/bluez/metadata.xml X-VCS-Directories: net-wireless/bluez/ X-VCS-Committer: pacho X-VCS-Committer-Name: Pacho Ramos X-VCS-Revision: c0f246a255a609281d3e330ab9a7e1cc899b018e X-VCS-Branch: master Date: Thu, 8 Dec 2016 10:09:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 37593f95-de0b-4d11-a284-69cb16536571 X-Archives-Hash: 3cad02ae393eb08a2a382ffa11ea5018 commit: c0f246a255a609281d3e330ab9a7e1cc899b018e Author: Pacho Ramos gentoo org> AuthorDate: Thu Dec 8 10:08:05 2016 +0000 Commit: Pacho Ramos gentoo org> CommitDate: Thu Dec 8 10:09:11 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0f246a2 net-wireless/bluez: We need to ensure obexd can be spawned automatically by systemd when user-session is enabled in dbus (#577842) Package-Manager: portage-2.3.2 net-wireless/bluez/bluez-5.43-r1.ebuild | 255 ++++++++++++++++++++++++++++++++ net-wireless/bluez/metadata.xml | 36 ++--- 2 files changed, 273 insertions(+), 18 deletions(-) diff --git a/net-wireless/bluez/bluez-5.43-r1.ebuild b/net-wireless/bluez/bluez-5.43-r1.ebuild new file mode 100644 index 00000000..86d2a68 --- /dev/null +++ b/net-wireless/bluez/bluez-5.43-r1.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils multilib python-single-r1 readme.gentoo-r1 systemd udev user multilib-minimal + +DESCRIPTION="Bluetooth Tools and System Daemons for Linux" +HOMEPAGE="http://www.bluez.org" +SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.xz" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0/3" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86" + +IUSE="cups doc debug deprecated extra-tools experimental +obex +readline selinux systemd test test-programs +udev user-session" +# Since this release all remaining extra-tools need readline support, but this could +# change in the future, hence, this REQUIRED_USE constraint could be dropped +# again in the future. +REQUIRED_USE=" + extra-tools? ( readline ) + test? ( ${PYTHON_REQUIRED_USE} ) + test-programs? ( ${PYTHON_REQUIRED_USE} ) + user-session? ( systemd ) +" + +CDEPEND=" + >=dev-libs/glib-2.28:2[${MULTILIB_USEDEP}] + >=sys-apps/dbus-1.6:=[user-session=] + >=sys-apps/hwids-20121202.2 + cups? ( net-print/cups:= ) + obex? ( dev-libs/libical:= ) + readline? ( sys-libs/readline:= ) + systemd? ( sys-apps/systemd ) + udev? ( >=virtual/udev-172 ) +" +TEST_DEPS="${PYTHON_DEPS} + >=dev-python/dbus-python-1[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] +" + +DEPEND="${CDEPEND} + virtual/pkgconfig + test? ( ${TEST_DEPS} ) +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-bluetooth ) + test-programs? ( ${TEST_DEPS} ) +" +DOC_CONTENTS=" + If you want to use rfcomm as a normal user, you need to add the user + to the uucp group. +" + +PATCHES=( + # Use static group "plugdev" if there is no ConsoleKit (or systemd logind) + "${FILESDIR}"/bluez-plugdev.patch + + # Try both udevadm paths to cover udev/systemd vs. eudev locations (#539844) + # http://www.spinics.net/lists/linux-bluetooth/msg58739.html + "${FILESDIR}"/bluez-udevadm-path.patch + + # build: Quote systemd variable names, bug #527432 + # http://article.gmane.org/gmane.linux.bluez.kernel/67230 + "${FILESDIR}"/bluez-5.39-systemd-quote.patch + + # Fedora patches + # http://www.spinics.net/lists/linux-bluetooth/msg40136.html + "${FILESDIR}"/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch + + # http://www.spinics.net/lists/linux-bluetooth/msg41264.html + "${FILESDIR}"/0002-autopair-Don-t-handle-the-iCade.patch + + # ??? + "${FILESDIR}"/0004-agent-Assert-possible-infinite-loop.patch +) + +pkg_setup() { + enewgroup plugdev + + if use test || use test-programs; then + python-single-r1_pkg_setup + fi + + if ! use udev; then + ewarn + ewarn "You are installing ${PN} with USE=-udev. This means various bluetooth" + ewarn "devices and adapters from Apple, Dell, Logitech etc. will not work," + ewarn "and hid2hci will not be available." + ewarn + fi +} + +src_prepare() { + default + + # http://www.spinics.net/lists/linux-bluetooth/msg38490.html + ! use user-session && eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch + + if use cups; then + sed -i \ + -e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \ + Makefile.{in,tools} || die + fi + + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + # readline is automagic when client is enabled + # --enable-client always needs readline, bug #504038 + ac_cv_header_readline_readline_h=$(multilib_native_usex readline) + ) + + if ! multilib_is_native_abi; then + myconf+=( + # deps not used for the library + {DBUS,GLIB}_{CFLAGS,LIBS}=' ' + ) + fi + + econf \ + --localstatedir=/var \ + --disable-android \ + --enable-datafiles \ + --enable-experimental \ + --enable-optimization \ + $(use_enable debug) \ + --enable-pie \ + --enable-threads \ + --enable-library \ + --enable-tools \ + --enable-manpages \ + --enable-monitor \ + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ + $(multilib_native_use_enable cups) \ + $(multilib_native_use_enable deprecated) \ + $(multilib_native_use_enable experimental) \ + $(multilib_native_use_enable obex) \ + $(multilib_native_use_enable readline client) \ + $(multilib_native_use_enable systemd) \ + $(multilib_native_use_enable test-programs test) \ + $(multilib_native_use_enable udev) \ + $(multilib_native_use_enable udev sixaxis) +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake -f Makefile -f - libs \ + <<<'libs: $(lib_LTLIBRARIES)' + fi +} + +multilib_src_test() { + multilib_is_native_abi && default +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake DESTDIR="${D}" install + + # Only install extra-tools when relevant USE flag is enabled + if use extra-tools; then + ewarn "Upstream doesn't support using this tools and their bugs are" + ewarn "likely to be ignored forever, also that tools can break" + ewarn "without previous announcement." + ewarn "Upstream also states all this tools are not really needed," + ewarn "then, if you still need to rely on them, you must ask them" + ewarn "to either install that tool by default or add the needed" + ewarn "functionality to the existing 'official' tools." + ewarn "Please report this issues to:" + ewarn "http://www.bluez.org/development/lists/" + + # Upstream doesn't install this, bug #524640 + # http://permalink.gmane.org/gmane.linux.bluez.kernel/53115 + # http://comments.gmane.org/gmane.linux.bluez.kernel/54564 + # gatttool is only built with readline, bug #530776 + if use readline; then + dobin attrib/gatttool + dobin tools/btmgmt + fi + fi + + # Unittests are not that useful once installed, so make them optional + if use test-programs; then + # example-gatt-client is the only one needing + # python3, the others are python2 only. Remove + # until we see how to pull in python2 and python3 + # for runtime + rm "${ED}"/usr/$(get_libdir)/bluez/test/example-gatt-server || die + rm "${ED}"/usr/$(get_libdir)/bluez/test/example-gatt-client || die + python_fix_shebang "${ED}"/usr/$(get_libdir)/bluez/test + for i in $(find "${ED}"/usr/$(get_libdir)/bluez/test -maxdepth 1 -type f ! -name "*.*"); do + dosym "${i}" /usr/bin/bluez-"${i##*/}" + done + fi + else + emake DESTDIR="${D}" \ + install-includeHEADERS \ + install-libLTLIBRARIES \ + install-pkgconfigDATA + fi +} + +multilib_src_install_all() { + # We need to ensure obexd can be spawned automatically by systemd + # when user-session is enabled: + # http://marc.info/?l=linux-bluetooth&m=148096094716386&w=2 + # https://bugs.gentoo.org/show_bug.cgi?id=577842 + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804908 + # https://bugs.archlinux.org/task/45816 + # https://bugzilla.redhat.com/show_bug.cgi?id=1318441 + # https://bugzilla.redhat.com/show_bug.cgi?id=1389347 + use user-session && ln -s "${ED}"/usr/lib/systemd/user/obex.service "${ED}"/usr/lib/systemd/user/dbus-org.bluez.obex.service + + prune_libtool_files --modules + + keepdir /var/lib/bluetooth + + # Upstream don't want people to play with them + # But we keep installing them due to 'historical' reasons + insinto /etc/bluetooth + local d + for d in input network proximity; do + doins profiles/${d}/${d}.conf + done + doins src/main.conf + + newinitd "${FILESDIR}"/bluetooth-init.d-r3 bluetooth + newinitd "${FILESDIR}"/rfcomm-init.d-r2 rfcomm + + einstalldocs + use doc && dodoc doc/*.txt + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + use udev && udev_reload + + has_version net-dialup/ppp || elog "To use dial up networking you must install net-dialup/ppp." + + if ! has_version sys-auth/consolekit && ! has_version sys-apps/systemd; then + elog "Since you don't have sys-auth/consolekit neither sys-apps/systemd, you will" + elog "need to add the user to the plugdev group." + fi +} diff --git a/net-wireless/bluez/metadata.xml b/net-wireless/bluez/metadata.xml index 7d7038e..111da8c 100644 --- a/net-wireless/bluez/metadata.xml +++ b/net-wireless/bluez/metadata.xml @@ -1,27 +1,27 @@ - - pacho@gentoo.org + + pacho@gentoo.org Pacho Ramos - - Build deprecated plugins - Build experimental plugins - Install tools that upstream doesn't install on + + Build deprecated plugins + Build experimental plugins + Install tools that upstream doesn't install on purpose by default. All this tools shouldn't be used. Then, please notify upstream about you still need them to let them know the situation. - Install tools for testing of - various Bluetooth functions - The HID proxying makes the keyboard / mouse show up - as regular USB HID devices, but needs them to be - paired before enabling this, otherwise they won't be - detected - Enable OBEX transfer support. - - - cpe:/a:bluez:bluez - cpe:/a:bluez:bluez-libs - + Install tools for testing of + various Bluetooth functions + The HID proxying makes the keyboard / mouse show up + as regular USB HID devices, but needs them to be paired before enabling + this, otherwise they won't be detected + Enable OBEX transfer support. + Allow compatibility with user-session semantics for session bus under systemd + + + cpe:/a:bluez:bluez + cpe:/a:bluez:bluez-libs +