diff options
Diffstat (limited to 'net-wireless/bluez')
-rw-r--r-- | net-wireless/bluez/Manifest | 5 | ||||
-rw-r--r-- | net-wireless/bluez/bluez-5.70-r1.ebuild | 288 | ||||
-rw-r--r-- | net-wireless/bluez/bluez-5.76-r1.ebuild (renamed from net-wireless/bluez/bluez-5.72.ebuild) | 48 | ||||
-rw-r--r-- | net-wireless/bluez/bluez-5.77.ebuild (renamed from net-wireless/bluez/bluez-5.71-r1.ebuild) | 52 | ||||
-rw-r--r-- | net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch | 58 | ||||
-rw-r--r-- | net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch | 20 | ||||
-rw-r--r-- | net-wireless/bluez/files/bluez-5.66-power-state-adapter-property.patch | 28 | ||||
-rw-r--r-- | net-wireless/bluez/files/bluez-5.70-CVE-2023-45866.patch | 43 | ||||
-rw-r--r-- | net-wireless/bluez/files/bluez-5.71-link-old-kernels.patch | 163 | ||||
-rw-r--r-- | net-wireless/bluez/files/bluez-5.73-configure-cups.patch | 35 |
10 files changed, 98 insertions, 642 deletions
diff --git a/net-wireless/bluez/Manifest b/net-wireless/bluez/Manifest index ad631202f4f3..2689f4ae77d7 100644 --- a/net-wireless/bluez/Manifest +++ b/net-wireless/bluez/Manifest @@ -1,3 +1,2 @@ -DIST bluez-5.70.tar.xz 2339844 BLAKE2B 1ba2ddd3bfc6562a07f4e8376e0d537b555f0d36a221f051c4c10dd912c23e73aa2b0d8aa125e0fd911908e4cfa0036429e17250a26b3298bb21f65e4cc5255c SHA512 3a5f8caf7730dcdbbe0bb92154b41651a9d6619038447bf4c25e5e3e5316effcd7242a7a0456d731ce21d55b8daea5212a359acc5e5fc460499b9356b7d364cf -DIST bluez-5.71.tar.xz 2381208 BLAKE2B 73e5f08771f821c90a70c553c600c48c4f1adb85aa9cb1a1eaae61a33b2dda73b7825fe769b3ea1daaaadedc39ad3fb71d84b336408f5ce6963f0373e9f7dcce SHA512 648394bbe470405aa0e2d3914474e95c122f567deaaac20a5dd74bac29fa430dfb64cdb7bdb4fb7510e62fa73e96112a97197fc212b421bf480b8d1bb24cfb5d -DIST bluez-5.72.tar.xz 2390792 BLAKE2B b5d1bc290c9bad5aa32de16433c34d0ac5aed7164077ef941a0bf90eddc5e22a6cf19f972bcae33061b41e3c344f7abeb65a11b6013c13fd53059ac93d83240a SHA512 1c6560f60ac0654d7c25ed8ab2f0f3a3a9ca8688ee28e1c476ffc7ae38737e739d27bbb88789c86b03fc600a8a68496d90a7b395ec393dd2bbf69be62357991a +DIST bluez-5.76.tar.xz 2418848 BLAKE2B 658e67ec3ac568fd4d8bdc434eabfc63fd8cddd287f7cf6a8967771673e79fe95c509be654ae2495d1b3aedb1e23ca710d545f5ded281a64fd44058b0cdf7afe SHA512 30dc3faef74a2225fd6027178376dca4166082d1ed5188021e13d13582db5846aef60b753f173d525bfd0c040f26c3e7dab0283ecafbd34c4a06855d13abb389 +DIST bluez-5.77.tar.xz 2432176 BLAKE2B 9c1a8c78ad11a79080af12333338a6b75189ac51f8c49545de9eede8544fea531a7d8f50676f6e26c84289828fe8327bbc3e5b50ad4d9c08822cf0353a82ecaf SHA512 cf0faba4ddbfe6cc3c2d86cbd809483ed82327cbd7e4970ef53cf19053de7b355a505cab88844aebe7a6aa1947ec7a366250d3cbf48cf309db413d287289ff99 diff --git a/net-wireless/bluez/bluez-5.70-r1.ebuild b/net-wireless/bluez/bluez-5.70-r1.ebuild deleted file mode 100644 index 2595b6e1428f..000000000000 --- a/net-wireless/bluez/bluez-5.70-r1.ebuild +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{9..12} ) - -inherit autotools linux-info python-single-r1 systemd udev multilib-minimal #readme.gentoo-r1 - -DESCRIPTION="Bluetooth Tools and System Daemons for Linux" -HOMEPAGE="http://www.bluez.org https://github.com/bluez/bluez" -SRC_URI="https://www.kernel.org/pub/linux/bluetooth/${P}.tar.xz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0/3" -KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86" -IUSE="btpclient cups doc debug deprecated extra-tools experimental +mesh midi +obex +readline selinux systemd test test-programs +udev" - -# 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. -# btpclient needs mesh, bug #790587 -REQUIRED_USE=" - btpclient? ( mesh ) - extra-tools? ( deprecated readline ) - test? ( ${PYTHON_REQUIRED_USE} ) - test-programs? ( ${PYTHON_REQUIRED_USE} ) -" - -TEST_DEPS="${PYTHON_DEPS} - $(python_gen_cond_dep ' - >=dev-python/dbus-python-1[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - dev-python/docutils - virtual/pkgconfig - test? ( ${TEST_DEPS} ) -" -DEPEND=" - >=dev-libs/glib-2.28:2[${MULTILIB_USEDEP}] - btpclient? ( >=dev-libs/ell-0.39 ) - cups? ( net-print/cups:= ) - mesh? ( - >=dev-libs/ell-0.39 - >=dev-libs/json-c-0.13:= - sys-libs/readline:0= - ) - midi? ( media-libs/alsa-lib ) - obex? ( dev-libs/libical:= ) - readline? ( sys-libs/readline:0= ) - systemd? ( sys-apps/systemd ) - >=sys-apps/dbus-1.6:= - udev? ( >=virtual/udev-172 ) -" -RDEPEND="${DEPEND} - selinux? ( sec-policy/selinux-bluetooth ) - test-programs? ( ${TEST_DEPS} ) -" - -RESTRICT="!test? ( test )" - -PATCHES=( - # Try both udevadm paths to cover udev/systemd vs. eudev locations (#539844) - # http://www.spinics.net/lists/linux-bluetooth/msg58739.html - # https://bugs.gentoo.org/539844 - # https://github.com/bluez/bluez/issues/268 - "${FILESDIR}"/${PN}-udevadm-path-r1.patch - - # Fedora patches - # https://lore.kernel.org/linux-bluetooth/20220901110719.176944-1-hadess@hadess.net/T/#m9c08d004cd5422783ee1d93154f42303bba9169f - "${FILESDIR}"/${PN}-5.66-power-state-adapter-property.patch - - # Backport CVE-2023-45866 fix (bug #919383) - "${FILESDIR}"/${PN}-5.70-CVE-2023-45866.patch -) - -pkg_setup() { - # From http://www.linuxfromscratch.org/blfs/view/svn/general/bluez.html - # to prevent bugs like: - # https://bugzilla.kernel.org/show_bug.cgi?id=196621 - CONFIG_CHECK="~NET ~BT ~BT_RFCOMM ~BT_RFCOMM_TTY ~BT_BNEP ~BT_BNEP_MC_FILTER - ~BT_BNEP_PROTO_FILTER ~BT_HIDP ~CRYPTO_USER_API_HASH ~CRYPTO_USER_API_SKCIPHER - ~UHID ~RFKILL" - # https://bugzilla.kernel.org/show_bug.cgi?id=196621 - # https://bugzilla.kernel.org/show_bug.cgi?id=206815 - if use mesh || use test; then - CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_USER - ~CRYPTO_USER_API ~CRYPTO_USER_API_AEAD ~CRYPTO_AES ~CRYPTO_CCM ~CRYPTO_AEAD ~CRYPTO_CMAC - ~CRYPTO_MD5 ~CRYPTO_SHA1 ~KEY_DH_OPERATIONS" - fi - linux-info_pkg_setup - - 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 - if ! use systemd; then - eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch - fi - - eautoreconf - - if use cups; then - # Only not .am to not need to run eautoreconf only because of this - sed -i \ - -e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \ - Makefile.{in,tools} || die - fi - - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - # readline is automagic when client is enabled - # --enable-client always needs readline, bug #504038 - # --enable-mesh is handled in the same way - ac_cv_header_readline_readline_h=$(multilib_native_usex readline) - ac_cv_header_readline_readline_h=$(multilib_native_usex mesh) - ) - - 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-optimization \ - $(use_enable debug) \ - --enable-pie \ - --enable-threads \ - --enable-library \ - --enable-tools \ - --enable-manpages \ - --enable-monitor \ - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ - --with-systemduserunitdir="$(systemd_get_userunitdir)" \ - $(multilib_native_use_enable btpclient) \ - $(multilib_native_use_enable btpclient external-ell) \ - $(multilib_native_use_enable cups) \ - $(multilib_native_use_enable deprecated) \ - $(multilib_native_use_enable experimental) \ - $(multilib_native_use_enable mesh) \ - $(multilib_native_use_enable mesh external-ell) \ - $(multilib_native_use_enable midi) \ - $(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 hid2hci) \ - $(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 they can break without" - ewarn "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 - dobin tools/btmgmt - # gatttool is only built with readline, bug #530776 - # https://bugzilla.redhat.com/show_bug.cgi?id=1141909 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720486 - # https://bugs.archlinux.org/task/37686 - dobin attrib/gatttool - # https://bugzilla.redhat.com/show_bug.cgi?id=1699680 - dobin tools/avinfo - fi - - # Not installed by default after being built, bug #666756 - use btpclient && dobin tools/btpclient - - # Unittests are not that useful once installed, so make them optional - if use test-programs; then - # Drop python2 only test tools - # https://bugzilla.kernel.org/show_bug.cgi?id=206819 - rm "${ED}"/usr/$(get_libdir)/bluez/test/simple-player || die - # https://bugzilla.kernel.org/show_bug.cgi?id=206821 - rm "${ED}"/usr/$(get_libdir)/bluez/test/test-hfp || die - # https://bugzilla.kernel.org/show_bug.cgi?id=206823 - rm "${ED}"/usr/$(get_libdir)/bluez/test/test-sap-server || 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-pkgincludeHEADERS \ - 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 - if use systemd; then - dosym obex.service /usr/lib/systemd/user/dbus-org.bluez.obex.service - fi - - find "${D}" -name '*.la' -type f -delete || die - - 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; do - doins profiles/${d}/${d}.conf - done - # Setup auto enable as Fedora does for allowing to use - # keyboards/mouse as soon as possible - sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' src/main.conf || die - doins src/main.conf - - newinitd "${FILESDIR}"/bluetooth-init.d-r5 bluetooth - newconfd "${FILESDIR}"/bluetooth-conf.d bluetooth - - einstalldocs - use doc && dodoc doc/*.txt -} - -pkg_postinst() { - use udev && udev_reload - systemd_reenable bluetooth.service - - has_version net-dialup/ppp || elog "To use dial up networking you must install net-dialup/ppp" -} - -pkg_postrm() { - use udev && udev_reload -} diff --git a/net-wireless/bluez/bluez-5.72.ebuild b/net-wireless/bluez/bluez-5.76-r1.ebuild index f0b3b12d187c..47eb7a23592b 100644 --- a/net-wireless/bluez/bluez-5.72.ebuild +++ b/net-wireless/bluez/bluez-5.76-r1.ebuild @@ -4,7 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..12} ) -inherit autotools linux-info python-single-r1 systemd udev multilib-minimal #readme.gentoo-r1 +inherit autotools flag-o-matic linux-info python-single-r1 systemd udev multilib-minimal #readme.gentoo-r1 DESCRIPTION="Bluetooth Tools and System Daemons for Linux" HOMEPAGE="http://www.bluez.org https://github.com/bluez/bluez" @@ -12,7 +12,7 @@ SRC_URI="https://www.kernel.org/pub/linux/bluetooth/${P}.tar.xz" LICENSE="GPL-2+ LGPL-2.1+" SLOT="0/3" -KEYWORDS="~amd64 arm ~arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv x86" IUSE="btpclient cups doc debug deprecated extra-tools experimental +mesh midi +obex +readline selinux systemd test test-programs +udev" # Since this release all remaining extra-tools need readline support, but this could @@ -51,7 +51,7 @@ DEPEND=" readline? ( sys-libs/readline:0= ) systemd? ( sys-apps/systemd ) >=sys-apps/dbus-1.6:= - udev? ( >=virtual/udev-172 ) + udev? ( >=virtual/udev-196 ) " RDEPEND="${DEPEND} selinux? ( sec-policy/selinux-bluetooth ) @@ -66,10 +66,6 @@ PATCHES=( # https://bugs.gentoo.org/539844 # https://github.com/bluez/bluez/issues/268 "${FILESDIR}"/${PN}-udevadm-path-r1.patch - - # Fedora patches - # https://lore.kernel.org/linux-bluetooth/20220901110719.176944-1-hadess@hadess.net/T/#m9c08d004cd5422783ee1d93154f42303bba9169f - "${FILESDIR}"/${PN}-5.66-power-state-adapter-property.patch ) pkg_setup() { @@ -104,24 +100,21 @@ pkg_setup() { src_prepare() { default - # http://www.spinics.net/lists/linux-bluetooth/msg38490.html - if ! use systemd; then - eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch - fi + # https://github.com/bluez/bluez/issues/773 + eapply "${FILESDIR}"/${PN}-5.73-configure-cups.patch - eautoreconf + # https://github.com/bluez/bluez/issues/806 + eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch - if use cups; then - # Only not .am to not need to run eautoreconf only because of this - sed -i \ - -e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \ - Makefile.{in,tools} || die - fi + eautoreconf multilib_copy_sources } multilib_src_configure() { + # unit/test-vcp test fails with LTO (bug #925745) + filter-lto + local myconf=( # readline is automagic when client is enabled # --enable-client always needs readline, bug #504038 @@ -252,18 +245,10 @@ multilib_src_install_all() { find "${D}" -name '*.la' -type f -delete || die - 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; do - doins profiles/${d}/${d}.conf - done # Setup auto enable as Fedora does for allowing to use # keyboards/mouse as soon as possible sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' src/main.conf || die + insinto /etc/bluetooth doins src/main.conf newinitd "${FILESDIR}"/bluetooth-init.d-r5 bluetooth @@ -271,6 +256,15 @@ multilib_src_install_all() { einstalldocs use doc && dodoc doc/*.txt + + # https://bugs.gentoo.org/929017 + fperms 0555 /etc/bluetooth + + # https://bugs.gentoo.org/932172 + if ! use systemd; then + keepdir /var/lib/bluetooth + fperms 0700 /var/lib/bluetooth + fi } pkg_postinst() { diff --git a/net-wireless/bluez/bluez-5.71-r1.ebuild b/net-wireless/bluez/bluez-5.77.ebuild index c7392ed1615f..3472b07914c7 100644 --- a/net-wireless/bluez/bluez-5.71-r1.ebuild +++ b/net-wireless/bluez/bluez-5.77.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{9..13} ) -inherit autotools linux-info python-single-r1 systemd udev multilib-minimal #readme.gentoo-r1 +inherit autotools flag-o-matic linux-info python-single-r1 systemd udev multilib-minimal #readme.gentoo-r1 DESCRIPTION="Bluetooth Tools and System Daemons for Linux" HOMEPAGE="http://www.bluez.org https://github.com/bluez/bluez" @@ -51,7 +51,7 @@ DEPEND=" readline? ( sys-libs/readline:0= ) systemd? ( sys-apps/systemd ) >=sys-apps/dbus-1.6:= - udev? ( >=virtual/udev-172 ) + udev? ( >=virtual/udev-196 ) " RDEPEND="${DEPEND} selinux? ( sec-policy/selinux-bluetooth ) @@ -66,13 +66,6 @@ PATCHES=( # https://bugs.gentoo.org/539844 # https://github.com/bluez/bluez/issues/268 "${FILESDIR}"/${PN}-udevadm-path-r1.patch - - # Fedora patches - # https://lore.kernel.org/linux-bluetooth/20220901110719.176944-1-hadess@hadess.net/T/#m9c08d004cd5422783ee1d93154f42303bba9169f - "${FILESDIR}"/${PN}-5.66-power-state-adapter-property.patch - - # https://github.com/bluez/bluez/issues/686 - "${FILESDIR}"/${P}-link-old-kernels.patch ) pkg_setup() { @@ -107,24 +100,18 @@ pkg_setup() { src_prepare() { default - # http://www.spinics.net/lists/linux-bluetooth/msg38490.html - if ! use systemd; then - eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch - fi + # https://github.com/bluez/bluez/issues/806 + eapply "${FILESDIR}"/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch eautoreconf - if use cups; then - # Only not .am to not need to run eautoreconf only because of this - sed -i \ - -e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config --serverbin):" \ - Makefile.{in,tools} || die - fi - multilib_copy_sources } multilib_src_configure() { + # unit/test-vcp test fails with LTO (bug #925745) + filter-lto + local myconf=( # readline is automagic when client is enabled # --enable-client always needs readline, bug #504038 @@ -255,18 +242,9 @@ multilib_src_install_all() { find "${D}" -name '*.la' -type f -delete || die - 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; do - doins profiles/${d}/${d}.conf - done # Setup auto enable as Fedora does for allowing to use # keyboards/mouse as soon as possible - sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' src/main.conf || die + insinto /etc/bluetooth doins src/main.conf newinitd "${FILESDIR}"/bluetooth-init.d-r5 bluetooth @@ -274,6 +252,16 @@ multilib_src_install_all() { einstalldocs use doc && dodoc doc/*.txt + + # https://bugs.gentoo.org/929017 + # https://github.com/bluez/bluez/issues/329#issuecomment-1102459104 + fperms 0555 /etc/bluetooth + + # https://bugs.gentoo.org/932172 + if ! use systemd; then + keepdir /var/lib/bluetooth + fperms 0700 /var/lib/bluetooth + fi } pkg_postinst() { diff --git a/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch b/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch deleted file mode 100644 index dcebaa007bc1..000000000000 --- a/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r2.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001 -From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org> -Date: Sat, 12 Oct 2013 17:45:25 +0200 -Subject: [PATCH] Allow using obexd without systemd in the user session - -Not all sessions run systemd --user (actually, the majority -doesn't), so the dbus daemon must be able to spawn obexd -directly, and to do so it needs the full path of the daemon. ---- - Makefile.obexd | 4 ++-- - obexd/src/org.bluez.obex.service | 4 ---- - obexd/src/org.bluez.obex.service.in | 4 ++++ - 3 files changed, 6 insertions(+), 6 deletions(-) - delete mode 100644 obexd/src/org.bluez.obex.service - create mode 100644 obexd/src/org.bluez.obex.service.in - -diff --git a/Makefile.obexd b/Makefile.obexd -index 3760867..142e7c3 100644 ---- a/Makefile.obexd -+++ b/Makefile.obexd -@@ -2,12 +2,12 @@ - if SYSTEMD - systemduserunitdir = $(SYSTEMD_USERUNITDIR) - systemduserunit_DATA = obexd/src/obex.service -+endif - - dbussessionbusdir = $(DBUS_SESSIONBUSDIR) - dbussessionbus_DATA = obexd/src/org.bluez.obex.service --endif - --EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service -+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in - - obex_plugindir = $(libdir)/obex/plugins - -diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service -deleted file mode 100644 -index a538088..0000000 ---- a/obexd/src/org.bluez.obex.service -+++ /dev/null -@@ -1,4 +0,0 @@ --[D-BUS Service] --Name=org.bluez.obex --Exec=/bin/false --SystemdService=dbus-org.bluez.obex.service -diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in -new file mode 100644 -index 0000000..9c815f2 ---- /dev/null -+++ b/obexd/src/org.bluez.obex.service.in -@@ -0,0 +1,4 @@ -+[D-BUS Service] -+Name=org.bluez.obex -+Exec=@pkglibexecdir@/obexd -+SystemdService=dbus-org.bluez.obex.service --- -1.8.3.1 - diff --git a/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch b/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch new file mode 100644 index 000000000000..bb4c838b9545 --- /dev/null +++ b/net-wireless/bluez/files/0001-Allow-using-obexd-without-systemd-in-the-user-session-r3.patch @@ -0,0 +1,20 @@ +https://github.com/bluez/bluez/issues/806 +https://bugs.gentoo.org/928417 +--- bluez-5.73.orig/Makefile.obexd 2024-04-02 10:38:48.743419656 +0200 ++++ bluez-5.73/Makefile.obexd 2024-04-02 10:40:53.300086281 +0200 +@@ -1,13 +1,13 @@ + # SPDX-License-Identifier: GPL-2.0 + if OBEX + ++dbussessionbusdir = $(DBUS_SESSIONBUSDIR) ++dbussessionbus_DATA = obexd/src/org.bluez.obex.service ++ + if SYSTEMD + systemduserunitdir = $(SYSTEMD_USERUNITDIR) + systemduserunit_DATA = obexd/src/obex.service + +-dbussessionbusdir = $(DBUS_SESSIONBUSDIR) +-dbussessionbus_DATA = obexd/src/org.bluez.obex.service +- + obexd-add-service-symlink: + $(LN_S) -f obex.service $(DESTDIR)$(SYSTEMD_USERUNITDIR)/dbus-org.bluez.obex.service diff --git a/net-wireless/bluez/files/bluez-5.66-power-state-adapter-property.patch b/net-wireless/bluez/files/bluez-5.66-power-state-adapter-property.patch deleted file mode 100644 index 566d7c08b591..000000000000 --- a/net-wireless/bluez/files/bluez-5.66-power-state-adapter-property.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 70309219acd4c81e3a9e2b3652d2d93eb08b0aee Mon Sep 17 00:00:00 2001 -From: Bastien Nocera <hadess@hadess.net> -Date: Wed, 31 Aug 2022 11:16:34 +0200 -Subject: [PATCH 6/6] adapter: Remove experimental flag for PowerState - -Now that the feature has been tested, that the API is deemed adequate -and the reliability sufficient. ---- - src/adapter.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/adapter.c b/src/adapter.c -index 8fb2acdc8..841096d7f 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -3864,8 +3864,7 @@ static const GDBusPropertyTable adapter_properties[] = { - { "Alias", "s", property_get_alias, property_set_alias }, - { "Class", "u", property_get_class }, - { "Powered", "b", property_get_powered, property_set_powered }, -- { "PowerState", "s", property_get_power_state, NULL, NULL, -- G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, -+ { "PowerState", "s", property_get_power_state }, - { "Discoverable", "b", property_get_discoverable, - property_set_discoverable }, - { "DiscoverableTimeout", "u", property_get_discoverable_timeout, --- -2.37.2 - diff --git a/net-wireless/bluez/files/bluez-5.70-CVE-2023-45866.patch b/net-wireless/bluez/files/bluez-5.70-CVE-2023-45866.patch deleted file mode 100644 index 6e5ac253585c..000000000000 --- a/net-wireless/bluez/files/bluez-5.70-CVE-2023-45866.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://bugs.gentoo.org/919383 -https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=25a471a83e02e1effb15d5a488b3f0085eaeb675 - -From 25a471a83e02e1effb15d5a488b3f0085eaeb675 Mon Sep 17 00:00:00 2001 -From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> -Date: Tue, 10 Oct 2023 13:03:12 -0700 -Subject: input.conf: Change default of ClassicBondedOnly - -This changes the default of ClassicBondedOnly since defaulting to false -is not inline with HID specification which mandates the of Security Mode -4: - -BLUETOOTH SPECIFICATION Page 84 of 123 -Human Interface Device (HID) Profile: - - 5.4.3.4.2 Security Modes - Bluetooth HID Hosts shall use Security Mode 4 when interoperating with - Bluetooth HID devices that are compliant to the Bluetooth Core - Specification v2.1+EDR[6]. ---- a/profiles/input/device.c -+++ b/profiles/input/device.c -@@ -81,7 +81,7 @@ struct input_device { - - static int idle_timeout = 0; - static bool uhid_enabled = false; --static bool classic_bonded_only = false; -+static bool classic_bonded_only = true; - - void input_set_idle_timeout(int timeout) - { ---- a/profiles/input/input.conf -+++ b/profiles/input/input.conf -@@ -17,7 +17,7 @@ - # platforms may want to make sure that input connections only come from bonded - # device connections. Several older mice have been known for not supporting - # pairing/encryption. --# Defaults to false to maximize device compatibility. -+# Defaults to true for security. - #ClassicBondedOnly=true - - # LE upgrade security --- -cgit 1.2.3-korg diff --git a/net-wireless/bluez/files/bluez-5.71-link-old-kernels.patch b/net-wireless/bluez/files/bluez-5.71-link-old-kernels.patch deleted file mode 100644 index 33cee137f277..000000000000 --- a/net-wireless/bluez/files/bluez-5.71-link-old-kernels.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 7ad5669402c9acff8e4cc808edc12a41df36654e Mon Sep 17 00:00:00 2001 -From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> -Date: Wed, 20 Dec 2023 12:20:03 -0500 -Subject: [PATCH] adapter: Fix link key address type for old kernels - -On old kernels only BDADDR_BREDR is supported so this attempts to detect -that and retry. - -Fixes: https://github.com/bluez/bluez/issues/686 ---- - src/adapter.c | 59 ++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 44 insertions(+), 15 deletions(-) - -diff --git a/src/adapter.c b/src/adapter.c -index ee70b00d2..022390f0d 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -311,6 +311,7 @@ struct btd_adapter { - bool pincode_requested; /* PIN requested during last bonding */ - GSList *connections; /* Connected devices */ - GSList *devices; /* Devices structure pointers */ -+ GSList *load_keys; /* Devices keys to be loaded */ - GSList *connect_list; /* Devices to connect when found */ - struct btd_device *connect_le; /* LE device waiting to be connected */ - sdp_list_t *services; /* Services associated to adapter */ -@@ -4284,6 +4285,9 @@ static int set_privacy(struct btd_adapter *adapter, uint8_t privacy) - return -1; - } - -+static void load_link_keys(struct btd_adapter *adapter, bool debug_keys, -+ bool retry); -+ - static void load_link_keys_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) - { -@@ -4293,18 +4297,31 @@ static void load_link_keys_complete(uint8_t status, uint16_t length, - btd_error(adapter->dev_id, - "Failed to load link keys for hci%u: %s (0x%02x)", - adapter->dev_id, mgmt_errstr(status), status); -+ -+ if (status == MGMT_STATUS_INVALID_PARAMS) { -+ load_link_keys(adapter, btd_opts.debug_keys, true); -+ /* Release keys after retry since we shall only retry -+ * once. -+ */ -+ goto done; -+ } -+ - return; - } - - DBG("link keys loaded for hci%u", adapter->dev_id); -+ -+done: -+ g_slist_free_full(adapter->load_keys, g_free); -+ adapter->load_keys = NULL; - } - --static void load_link_keys(struct btd_adapter *adapter, GSList *keys, -- bool debug_keys) -+static void load_link_keys(struct btd_adapter *adapter, bool debug_keys, -+ bool retry) - { - struct mgmt_cp_load_link_keys *cp; - struct mgmt_link_key_info *key; -- size_t key_count, cp_size; -+ size_t count, cp_size; - unsigned int id; - GSList *l; - -@@ -4318,12 +4335,14 @@ static void load_link_keys(struct btd_adapter *adapter, GSList *keys, - if (!(adapter->supported_settings & MGMT_SETTING_BREDR)) - return; - -- key_count = g_slist_length(keys); -+ count = g_slist_length(adapter->load_keys); -+ if (!count) -+ return; - -- DBG("hci%u keys %zu debug_keys %d", adapter->dev_id, key_count, -- debug_keys); -+ DBG("hci%u keys %zu debug_keys %d retry %s", adapter->dev_id, count, -+ debug_keys, retry ? "true" : "false"); - -- cp_size = sizeof(*cp) + (key_count * sizeof(*key)); -+ cp_size = sizeof(*cp) + (count * sizeof(*key)); - - cp = g_try_malloc0(cp_size); - if (cp == NULL) { -@@ -4341,13 +4360,18 @@ static void load_link_keys(struct btd_adapter *adapter, GSList *keys, - * behavior for debug keys. - */ - cp->debug_keys = debug_keys; -- cp->key_count = htobs(key_count); -+ cp->key_count = htobs(count); - -- for (l = keys, key = cp->keys; l != NULL; l = g_slist_next(l), key++) { -+ for (l = adapter->load_keys, key = cp->keys; l != NULL; -+ l = g_slist_next(l), key++) { - struct link_key_info *info = l->data; - - bacpy(&key->addr.bdaddr, &info->bdaddr); -- key->addr.type = info->bdaddr_type; -+ /* Old kernels might only support loading with type set to -+ * BDADDR_BREDR so on retry set that instead of using the stored -+ * info. -+ */ -+ key->addr.type = retry ? BDADDR_BREDR : info->bdaddr_type; - key->type = info->type; - memcpy(key->val, info->key, 16); - key->pin_len = info->pin_len; -@@ -4359,9 +4383,12 @@ static void load_link_keys(struct btd_adapter *adapter, GSList *keys, - - g_free(cp); - -- if (id == 0) -+ if (id == 0) { - btd_error(adapter->dev_id, "Failed to load link keys for hci%u", - adapter->dev_id); -+ g_slist_free_full(adapter->load_keys, g_free); -+ adapter->load_keys = NULL; -+ } - } - - static void load_ltks_complete(uint8_t status, uint16_t length, -@@ -4873,7 +4900,6 @@ static void load_defaults(struct btd_adapter *adapter) - static void load_devices(struct btd_adapter *adapter) - { - char dirname[PATH_MAX]; -- GSList *keys = NULL; - GSList *ltks = NULL; - GSList *irks = NULL; - GSList *params = NULL; -@@ -4964,7 +4990,8 @@ static void load_devices(struct btd_adapter *adapter) - } - - if (key_info) -- keys = g_slist_append(keys, key_info); -+ adapter->load_keys = g_slist_append(adapter->load_keys, -+ key_info); - - if (ltk_info) - ltks = g_slist_append(ltks, ltk_info); -@@ -5013,8 +5040,7 @@ static void load_devices(struct btd_adapter *adapter) - - closedir(dir); - -- load_link_keys(adapter, keys, btd_opts.debug_keys); -- g_slist_free_full(keys, g_free); -+ load_link_keys(adapter, btd_opts.debug_keys, false); - - load_ltks(adapter, ltks); - g_slist_free_full(ltks, g_free); -@@ -6930,6 +6956,9 @@ static void adapter_remove(struct btd_adapter *adapter) - g_slist_free(adapter->devices); - adapter->devices = NULL; - -+ g_slist_free(adapter->load_keys); -+ adapter->load_keys = NULL; -+ - discovery_cleanup(adapter, 0); - - unload_drivers(adapter); diff --git a/net-wireless/bluez/files/bluez-5.73-configure-cups.patch b/net-wireless/bluez/files/bluez-5.73-configure-cups.patch new file mode 100644 index 000000000000..1ab1f96915ee --- /dev/null +++ b/net-wireless/bluez/files/bluez-5.73-configure-cups.patch @@ -0,0 +1,35 @@ +From b2237fe8efed9aee25a46934f028373cd0632daa Mon Sep 17 00:00:00 2001 +From: Lars Wendler <polynomial-c@gmx.de> +Date: Fri, 22 Mar 2024 09:08:24 +0100 +Subject: [PATCH] configure.ac: Fix --disable-cups + +or else we get: + configure: error: conditional "CUPS_SERVERBIN" was never defined. + Usually this means the macro was only invoked conditionally. + +Fixes: #773 +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9ebc250cf..047ec1a7f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -249,12 +249,12 @@ AM_CONDITIONAL(CUPS, test "${enable_cups}" != "no") + if (test "${enable_cups}" != "no"); then + AC_MSG_CHECKING([cups directory]) + cups_serverbin=`$PKG_CONFIG cups --variable=cups_serverbin` +- AM_CONDITIONAL(CUPS_SERVERBIN, test "${cups_serverbin}" != "") +- if (test "${cups_serverbin}" != ""); then +- AC_SUBST(CUPS_SERVERBIN, ${cups_serverbin}) +- fi + AC_MSG_RESULT([${cups_serverbin}]) + fi ++AM_CONDITIONAL(CUPS_SERVERBIN, test "${cups_serverbin}" != "") ++AS_IF([test "${cups_serverbin}" != ""],[ ++ AC_SUBST(CUPS_SERVERBIN, ${cups_serverbin}) ++]) + + AC_ARG_ENABLE(mesh, AS_HELP_STRING([--enable-mesh], + [enable Mesh profile support]), [enable_mesh=${enableval}]) |