--- /usr/portage/net-wireless/bluez/bluez-4.39-r2.ebuild 2009-11-30 04:38:36.000000000 -0200 +++ bluez-4.59.ebuild 2010-01-04 19:23:59.506066253 -0200 @@ -11,11 +11,12 @@ SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="amd64 arm ~hppa ppc ppc64 x86" +KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86" -IUSE="alsa +consolekit cups debug doc gstreamer old-daemons test-programs usb" +IUSE="alsa +consolekit cups debug gstreamer old-daemons pcmcia test-programs udev usb" CDEPEND="alsa? ( media-libs/alsa-lib ) + caps? ( >=sys-libs/libcap-ng-0.6.2 ) gstreamer? ( >=media-libs/gstreamer-0.10 >=media-libs/gst-plugins-base-0.10 ) @@ -30,23 +31,21 @@ !net-wireless/bluez-utils" DEPEND="sys-devel/flex >=dev-util/pkgconfig-0.20 - doc? ( dev-util/gtk-doc ) ${CDEPEND}" RDEPEND="${CDEPEND} - consolekit? ( sys-auth/pambase[consolekit] )" + consolekit? ( sys-auth/pambase[consolekit] ) + test-programs? ( + dev-python/dbus-python + dev-python/pygobject )" src_prepare() { - epatch \ - "${FILESDIR}/4.31-as_needed.patch" \ - "${FILESDIR}/4.34-conditional_libsbc.patch" - if ! use consolekit; then # No consolekit for at_console etc, so we grant plugdev the rights epatch "${FILESDIR}/bluez-plugdev.patch" fi if use cups; then - epatch "${FILESDIR}/4.18/cups-location.patch" + epatch "${FILESDIR}/4.50-cups-location.patch" fi # needed for both patches @@ -54,13 +53,8 @@ } src_configure() { - # the order is the same as ./configure --help - - # we don't need the other daemons either with the new - # service architechture - econf \ - $(use_enable doc gtk-doc) \ + $(use_enable caps capng) \ --enable-network \ --enable-serial \ --enable-input \ @@ -79,10 +73,9 @@ $(use_enable old-daemons dund) \ $(use_enable cups) \ $(use_enable test-programs test) \ - --enable-manpages \ + $(use_enable udev udevrules) \ --enable-configfiles \ - --disable-initscripts \ - --disable-pcmciarules \ + $(use_enable pcmcia) \ $(use_enable debug) \ --localstatedir=/var } @@ -92,6 +85,9 @@ dodoc AUTHORS ChangeLog README || die + # don't install useless .la files + find "${D}" -type f -name '*.la' -delete || die "failed to remove .la files" + if use test-programs ; then cd "${S}/test" dobin simple-agent simple-service monitor-bluetooth @@ -105,47 +101,35 @@ cd "${S}" fi - newinitd "${FILESDIR}/4.18/bluetooth-init.d" bluetooth || die - newconfd "${FILESDIR}/4.18/bluetooth-conf.d" bluetooth || die - if use old-daemons; then newconfd "${FILESDIR}/4.18/conf.d-hidd" hidd || die newinitd "${FILESDIR}/4.18/init.d-hidd" hidd || die fi - # bug #84431 - insinto /etc/udev/rules.d/ - newins "${FILESDIR}/${PN}-4.18-udev.rules" 70-bluetooth.rules || die - newins "${S}/scripts/bluetooth.rules" 70-bluetooth-pcmcia.rules || die - - exeinto /$(get_libdir)/udev/ - newexe "${FILESDIR}/${PN}-4.18-udev.script" bluetooth.sh || die - doexe "${S}/scripts/bluetooth_serial" || die - insinto /etc/bluetooth doins \ input/input.conf \ audio/audio.conf \ - network/network.conf + network/network.conf \ + serial/serial.conf \ + || die + + if ! use udev ; then + newinitd "${FILESDIR}/4.18/bluetooth-init.d" bluetooth || die + newconfd "${FILESDIR}/4.18/bluetooth-conf.d" bluetooth || die + fi } pkg_postinst() { - udevadm control --reload_rules && udevadm trigger + udevadm control --reload-rules && udevadm trigger --subsystem-match=bluetooth elog elog "To use dial up networking you must install net-dialup/ppp." elog "" - elog "Since 3.0 bluez has changed the passkey handling to use a dbus based" - elog "API so please remember to update your /etc/bluetooth/hcid.conf." - elog "For a password agent, there are for example net-wireless/bluez-gnome" - elog "and net-wireless/gnome-bluetooth:2 for GNOME. For KDE, see bug 246381" + elog "For a password agent, there is for example net-wireless/bluez-gnome" + elog "for gnome and net-wireless/kdebluetooth for kde." elog "" - elog "Since 3.10.1 we don't install the old style daemons any more but rely" - elog "on the new service architechture:" - elog " http://wiki.bluez.org/wiki/Services" - elog "" - elog "3.15 adds support for the audio service. See" - elog "http://wiki.bluez.org/wiki/HOWTO/AudioDevices for configuration help." + elog "For registering devices that don't pair, use net-wireless/blueman" elog "" elog "Use the old-daemons use flag to get the old daemons like hidd" elog "installed. Please note that the init script doesn't stop the old" @@ -153,21 +137,35 @@ elog " /etc/init.d/bluetooth stop" elog "before updating your configuration files or you can manually kill" elog "the extra daemons you previously enabled in /etc/conf.d/bluetooth." - elog "" - elog "If you want to use rfcomm as a normal user, you need to add the user" - elog "to the uucp group." - elog "" + + if use consolekit; then + elog "" + elog "If you want to use rfcomm as a normal user, you need to add the user" + elog "to the uucp group." + else + elog "" + ewarn "Since you have the consolekit use flag disabled for this package, you will only be " + ewarn "able to run bluetooth clients as root. If you want to be able to run bluetooth " + ewarn "clients as a regular user, you must enable the consolekit use flag for this package." + fi + if use old-daemons; then + elog "" elog "The hidd init script was installed because you have the old-daemons" elog "use flag on. It is not started by default via udev so please add it" - elog "to the required runleves using rc-update add hidd. If" + elog "to the required runlevels using rc-update add hidd. If" elog "you need init scripts for the other daemons, please file requests" elog "to https://bugs.gentoo.org." else + elog "" elog "The bluetooth service should be started automatically by udev" elog "when the required hardware is inserted next time." fi - elog - ewarn "On first install you need to run /etc/init.d/dbus reload or hcid" - ewarn "will fail to start." + + if use udev; then + elog "" + elog "You selected the udev USE flag. This make bluetoothd starts when a" + elog "bluetooth device is plugged in. Also the init scripts are not" + elog "installed when udev USE flag is selected." + fi }