Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: bluez

bluez (5.50-0ubuntu4) eoan; urgency=medium * d/p/lp1759836.patch: avoid endless udev events from new bind uevents (LP: #1759836) -- Dan Streetman <ddstreet@canonical.com> Tue, 10 Sep 2019 17:22:37 -0400 bluez (5.50-0ubuntu3) eoan; urgency=medium * d/p/tools-Fix-build-after-y2038-changes-in-glibc.patch: fix build failure due to linux header changes for y2038 bug. -- Dan Streetman <ddstreet@canonical.com> Wed, 28 Aug 2019 02:43:38 -0400 bluez (5.50-0ubuntu2) disco; urgency=medium * No-change rebuild for readline soname change. -- Matthias Klose <doko@ubuntu.com> Mon, 14 Jan 2019 19:58:14 +0000 bluez (5.50-0ubuntu1) cosmic; urgency=medium * New upstream release 5.50: - Fix issue with GATT and reading long values. - Fix issue with GATT and reading multiple includes. - Fix issue with GATT and service changes when offline. - Fix issue with handling secondary service discovery. - Fix issue with handling persistency of CCC values. - Fix issue with handling Mesh session on disconnection. - Fix issue with handling Mesh proxy PDU SAR message length. - Fix issue with handling Mesh default heartbeat TTL value. - Add support for Mesh node-reset operation handling. - Add support for GATT authorization request handling. - Add support for GATT minimum key size requirements. - Add support for GATT server and included services. - Add support for handling additional advertising data. - Add support for handling separate discoverable state. - Add support for enabling HFP version 1.7 features. - Add support for dedicated Bluetooth logging daemon. * Refreshed debian/patches to work with 5.50 and apply cleanly. * Fixed lintian errors: - dpkg-maintscript-helper missing in postinst and postrm. - Synchronized (some) man pages from Debian. * New upstream release 5.49 (LP: #1759961): - Fix issue with configuring discoverable advertising flag. - Fix issue with bearer selection and single mode controllers. - Fix issue with Connect and ConnectProfile returning in progress. - Fix issue with missing Paired property change when not bonded. - Fix issue with storage for controllers without public address. - Fix issue with handling AVCTP disconnecting the channel queue. - Fix issue with not clearing connectable setting on power off. - Fix issue with creating multiple mgmt socket instances. - Fix issue with GATT server and BR/EDR only devices. - Fix issue with InterfaceAdded event ordering. (LP: #1759628) - Add support for generic ConnectDevice method call. - Add support for Mesh heartbeat client functionality. * Drop upstreamed patch: - fix-lp1750308-upstream-commit-1bf03369.patch -- Daniel van Vugt <daniel.van.vugt@canonical.com> Wed, 06 Jun 2018 16:26:40 +0800 bluez (5.48-0ubuntu3) bionic; urgency=medium * Add fix-lp1750308-upstream-commit-1bf03369.patch to fix command piping regression (mostly affecting python-dbusmock). (LP: #1750308) -- Daniel van Vugt <daniel.van.vugt@canonical.com> Wed, 21 Feb 2018 15:08:50 +0800 bluez (5.48-0ubuntu2) bionic; urgency=medium * debian/control: Don't mention artful in Vcs fields -- Daniel van Vugt <daniel.van.vugt@canonical.com> Mon, 05 Feb 2018 13:36:28 +0800 bluez (5.48-0ubuntu1) bionic; urgency=medium * Drop upstreamed patch: - 0001-device-Fix-crash-when-connecting-ATT-with-BR-EDR-onl.patch * New upstream release 5.48: - Fix issue with subscriptions for unpaired devices. - Fix issue with handling A2DP and no available SEP. - Fix issue with handling AVCTP change path support. - Fix issue with handling AVCTP browsing channel. - Fix issue with handling AVCTP passthrough PDUs. - Fix issue with handling detaching of controller. - Fix issue with handling start discovery results. - Fix issue with handling non-connectable devices. - Fix issue with handling unused parameter in WriteValue. - Add support for service side AcquireWrite and AcquireNotify. - Add support for providing address type information. - Add support for cable based authentication and pairing. - Add support for Bluetooth Low-Energy battery service. - Add support for BTP client for qualification testing. - Add support for additional Mesh control functionality. - Mark advertising manager APIs as stable interfaces. * New upstream release 5.47: - Fix issue with handling AcquireNotify registration. - Fix issue with handling support for reconnection interval. - Fix issue with handling A2DP transport and accepting streams. - Fix issue with fallback from BR/EDR to LE bearer handling. - Add support for appearance and local name advertising data. - Add support for retrieving the supported discovery filters. - Add support for decoding Bluetooth 5.0 commands and events. - Add support for decoding Bluetooth Mesh advertising bearer. - Add support for Bluetooth Mesh control application. -- Daniel van Vugt <daniel.van.vugt@canonical.com> Mon, 05 Feb 2018 13:08:06 +0800 bluez (5.46-0ubuntu4) bionic; urgency=medium * No-change rebuild for libical soname change. -- Matthias Klose <doko@ubuntu.com> Sat, 09 Dec 2017 11:51:41 +0000 bluez (5.46-0ubuntu3) artful; urgency=medium * SECURITY UPDATE: information disclosure in service discovery protocol daemon. - debian/patches/CVE-2017-1000250.patch: validate continuation request size before sending response. - CVE-2017-1000250 -- Steve Beattie <sbeattie@ubuntu.com> Tue, 12 Sep 2017 00:56:06 -0700 bluez (5.46-0ubuntu2) artful; urgency=medium [ Konrad Zapałowicz ] * debian/patches/0001-device-Fix-crash-when-connecting-ATT-with-BR-EDR-onl.patch - Fix crash when connecting ATT with BR/EDR-only device. Cherry-picked from upstream. [ Daniel van Vugt ] * Delete unused patches. -- Timo Aaltonen <tjaalton@debian.org> Thu, 24 Aug 2017 16:11:20 +0300 bluez (5.46-0ubuntu1) artful; urgency=medium [ Konrad Zapałowicz ] * New upstream version (lp: #1706598) [ Daniel van Vugt ] * debian/control: - update the vcs information -- Simon Fels <simon.fels@canonical.com> Wed, 19 Jul 2017 11:46:21 +0200 bluez (5.45-0ubuntu4) artful; urgency=medium * Drop deprecated rfcomm.conf and upstart config. (LP: #1674680) -- Dariusz Gadomski <dariusz.gadomski@canonical.com> Mon, 07 Aug 2017 13:29:41 +0200 bluez (5.45-0ubuntu3) artful; urgency=medium * debian/bluez-obexd.links: - include a symlink from obex.service to dbus-org.bluez.obex.service which is the name used for dbus activation (lp: #1645631) -- Sebastien Bacher <seb128@ubuntu.com> Mon, 24 Jul 2017 17:10:33 +0200 bluez (5.45-0ubuntu2) artful; urgency=medium * No-change rebuild against evolution-data-server 3.24 -- Jeremy Bicha <jbicha@ubuntu.com> Tue, 13 Jun 2017 13:55:31 -0400 bluez (5.45-0ubuntu1) artful; urgency=medium * New upstream version 5.45, and also: - Refreshed 0004-obexd-enable-ebook-backend-conditionally.patch - Refreshed migrate_scripts_python3.patch - Explicitly enable 'deprecated' and 'testing' tools that upstream doesn't build by default any more (but Debian/Ubuntu expects). -- Daniel van Vugt <daniel.van.vugt@canonical.com> Tue, 06 Jun 2017 16:08:34 +0800 bluez (5.43-0ubuntu1) zesty; urgency=medium [ Konrad Zapałowicz ] * New upstream version -- Simon Fels <simon.fels@canonical.com> Tue, 24 Jan 2017 09:26:20 +0100 bluez (5.41-0ubuntu3) yakkety; urgency=medium * No-change rebuild for readline soname change. -- Matthias Klose <doko@ubuntu.com> Sat, 17 Sep 2016 11:58:53 +0000 bluez (5.41-0ubuntu2) yakkety; urgency=medium * No-change rebuild against latest evolution-data-server -- Jeremy Bicha <jbicha@ubuntu.com> Fri, 19 Aug 2016 22:39:37 -0400 bluez (5.41-0ubuntu1) yakkety; urgency=medium * New upstream version -- Konrad Zapałowicz <konrad.zapalowicz@canonial.com> Tue, 21 Jun 2016 10:21:22 +0200 bluez (5.40-0ubuntu2) UNRELEASED; urgency=medium * debian/50-bluetooth-hci-auto-poweron.rules: - Get rid of legacy udev rule to power on bluetooth controllers on startup. Using hciconfig for that is the legacy way and will lead to different problems as the kernel side stack wont initialize all needed subsystems when used. BlueZ introduced a replacement for this with 5.36 which basically tells the bluetoothd through a config option to turn on all found Bluetooth controllers by default. With changing this there should be no change in terms of functionality. -- Simon Fels <simon.fels@canonical.com> Wed, 02 Mar 2016 08:20:11 +0100 bluez (5.40-0ubuntu1) UNRELEASED; urgency=medium * New upstream version -- Konrad Zapałowicz <konrad.zapalowicz@canonial.com> Tue, 21 Jun 2016 10:21:22 +0200 bluez (5.37-0ubuntu5) xenial; urgency=medium [Tony Espy ] * debian/control: fixup 'Architecture:' and 'Depends:' for bluez- tests, as it now includes binary commands and thus can no longer be 'Architecture: all'. -- Simon Fels <simon.fels@canonical.com> Tue, 01 Mar 2016 16:17:24 +0100 bluez (5.37-0ubuntu4) xenial; urgency=medium * debian/patches/0001-profiles-audio-add-big-endian-structure-definition-f.patch: - Fix the build on big endian architectures. -- Simon Fels <simon.fels@canonical.com> Thu, 11 Feb 2016 14:47:18 +0100 bluez (5.37-0ubuntu3) xenial; urgency=medium * debian/patches/0004-obexd-enable-ebook-backend-conditionally.patch: - Fix FBTS on vivid -- Simon Fels <simon.fels@canonical.com> Thu, 04 Feb 2016 12:59:23 +0100 bluez (5.37-0ubuntu2) xenial; urgency=medium [ Tony Espy ] * New upstream version * Add 0001-obexd-plugins-import-PBAP-ebook-support-from-upstrea.patch: - Pull in obexd ebook plugin from upstream git. * Add 0001-obexd-plugins-port-ebook-support-to-the-latest-EDS.patch * Add 0002-hostname-handle-chassis-type-handset.patch * Add 0003-tools-mpris-proxy-allow-user-to-specify-different-mp.patch: - Allow use of an alternate DBus name by MPRIS if 'org.mpris' is not available. * Add 0004-obexd-enable-ebook-backend-conditionally.patch: - Add a new configuration switch for EDS support. * Add 0005-audio-media-return-empty-string-when-player-name-is-.patch: - If the name for the player is set as NULL we will crash later on so taking a valid default is required. * Update bluez.install to include new btattach binary and manpage. * Update rules: - enable obex phonebook-ebook by default - add enable-experimental to build and install additional tools/test scripts * Update control: - add libebook-dev (>= 3.12) to Build-Depends - rename bluez-test-scripts to bluez-tests to reflect it does not only contain scripts but more utilities which can be used for wider testing of the BlueZ stack. [ Simon Fels ] * debian/control: - Point to correct Vcs used for bluez packaging -- Simon Fels <simon.fels@canonical.com> Wed, 03 Feb 2016 10:36:16 +0100 bluez (5.36-0ubuntu1) xenial; urgency=medium * New upstream version * 0001-systemd-Check-if-bluetooth-is-supported-in-the-kerne.patch: - the change is in the new version -- Sebastien Bacher <seb128@ubuntu.com> Mon, 09 Nov 2015 13:57:48 +0100 bluez (5.35-0ubuntu2) wily; urgency=medium * Add 0001-systemd-Check-if-bluetooth-is-supported-in-the-kerne.patch: bluetooth.service: Check if bluetooth is supported in the kernel, to avoid failing package installation on a kernel without bluetooth support. (LP: #1506774) -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 20 Oct 2015 12:27:06 +0200 bluez (5.35-0ubuntu1) wily; urgency=medium * New upstream version (include mostly bugfixes and a new option off by default) -- Sebastien Bacher <seb128@ubuntu.com> Wed, 07 Oct 2015 10:06:16 +0200 bluez (5.34-0ubuntu1) wily; urgency=medium * New upstream version, backported some of the debian packaging improvements -- Sebastien Bacher <seb128@ubuntu.com> Wed, 16 Sep 2015 15:39:52 +0200

Modifications :
  1. Download patch ltmain.sh
  2. Download patch debian/patches/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch

    --- 5.50-1/debian/patches/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,35 @@ +From f7861d27fbcbc519f57d8496aa9486f487908821 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Sat, 9 Nov 2013 18:13:43 +0100 +Subject: [PATCH 1/5] obex: Use GLib helper function to manipulate paths + +Instead of trying to do it by hand. This also makes sure that +relative paths aren't used by the agent. +--- + obexd/src/manager.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Index: bluez/obexd/src/manager.c +=================================================================== +--- bluez.orig/obexd/src/manager.c ++++ bluez/obexd/src/manager.c +@@ -653,14 +653,14 @@ static void agent_reply(DBusPendingCall + DBUS_TYPE_STRING, &name, + DBUS_TYPE_INVALID)) { + /* Splits folder and name */ +- const char *slash = strrchr(name, '/'); ++ gboolean is_relative = !g_path_is_absolute(name); + DBG("Agent replied with %s", name); +- if (!slash) { +- agent->new_name = g_strdup(name); ++ if (is_relative) { ++ agent->new_name = g_path_get_basename(name); + agent->new_folder = NULL; + } else { +- agent->new_name = g_strdup(slash + 1); +- agent->new_folder = g_strndup(name, slash - name); ++ agent->new_name = g_path_get_basename(name); ++ agent->new_folder = g_path_get_dirname(name); + } + } +
  3. Download patch debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch

    --- 5.50-1/debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -From f7861d27fbcbc519f57d8496aa9486f487908821 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera <hadess@hadess.net> -Date: Sat, 9 Nov 2013 18:13:43 +0100 -Subject: [PATCH 1/5] obex: Use GLib helper function to manipulate paths - -Instead of trying to do it by hand. This also makes sure that -relative paths aren't used by the agent. ---- - obexd/src/manager.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/obexd/src/manager.c b/obexd/src/manager.c -index cec8a39..f18896e 100644 ---- a/obexd/src/manager.c -+++ b/obexd/src/manager.c -@@ -651,14 +651,14 @@ static void agent_reply(DBusPendingCall *call, void *user_data) - DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID)) { - /* Splits folder and name */ -- const char *slash = strrchr(name, '/'); -+ gboolean is_relative = !g_path_is_absolute(name); - DBG("Agent replied with %s", name); -- if (!slash) { -- agent->new_name = g_strdup(name); -+ if (is_relative) { -+ agent->new_name = g_path_get_basename(name); - agent->new_folder = NULL; - } else { -- agent->new_name = g_strdup(slash + 1); -- agent->new_folder = g_strndup(name, slash - name); -+ agent->new_name = g_path_get_basename(name); -+ agent->new_folder = g_path_get_dirname(name); - } - } - --- -1.8.4.2 -
  4. Download patch test/exchange-business-cards

    --- 5.50-1/test/exchange-business-cards 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/test/exchange-business-cards 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -#!/usr/bin/python - -import sys -import dbus - -bus = dbus.SessionBus() -client = dbus.Interface(bus.get_object("org.bluez.obex", "/org/bluez/obex"), - "org.bluez.obex.Client") - -if (len(sys.argv) < 4): - print "Usage: %s <device> <clientfile> <file>" % (sys.argv[0]) - sys.exit(1) - -print "Creating Session" -path = client.CreateSession(sys.argv[1], { "Target": "OPP" }) -opp = dbus.Interface(bus.get_object("org.bluez.obex", path), - "org.bluez.obex.ObjectPush") - -opp.ExchangeBusinessCards(sys.argv[2], sys.argv[3])
  5. Download patch debian/bluez.install

    --- 5.50-1/debian/bluez.install 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez.install 2019-09-10 21:22:12.000000000 +0000 @@ -1,24 +1,25 @@ -src/main.conf etc/bluetooth +debian/main.conf etc/bluetooth profiles/input/input.conf etc/bluetooth +# profiles/audio/audio.conf etc/bluetooth profiles/network/network.conf etc/bluetooth +# profiles/proximity/proximity.conf etc/bluetooth usr/lib/bluetooth/bluetoothd usr/bin/bluetoothctl usr/bin/bccmd usr/bin/bluemoon usr/bin/btattach usr/bin/btmon +usr/bin/rctest usr/bin/hciattach usr/bin/hciconfig bin/ usr/bin/hcitool usr/bin/sdptool -usr/bin/rctest usr/bin/ciptool usr/bin/hex2hcd usr/bin/l2ping usr/bin/l2test usr/bin/rfcomm -usr/bin/rctest -usr/bin/mpris-proxy +tools/mpris-proxy usr/lib/bluetooth tools/btmgmt usr/bin tools/obexctl usr/bin lib/udev/hid2hci @@ -28,3 +29,4 @@ attrib/gatttool usr/bin lib/systemd/system/bluetooth.service etc/dbus-1/system.d/bluetooth.conf usr/share/dbus-1/system-services/org.bluez.service +debian/source_bluez.py usr/share/apport/package-hooks
  6. Download patch obexd/plugins/phonebook-ebook.c
  7. Download patch doc/thermometer-api.txt

    --- 5.50-1/doc/thermometer-api.txt 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/doc/thermometer-api.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,134 +0,0 @@ -BlueZ D-Bus Thermometer API description -*************************************** - - Santiago Carot-Nemesio <sancane@gmail.com> - -Health Thermometer Manager hierarchy -==================================== - -Service org.bluez -Interface org.bluez.ThermometerManager1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods RegisterWatcher(object agent) - - Registers a watcher to monitor scanned measurements. - This agent will be notified about final temperature - measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - - UnregisterWatcher(object agent) - - Unregisters a watcher. - - EnableIntermediateMeasurement(object agent) - - Enables intermediate measurement notifications - for this agent. Intermediate measurements will - be enabled only for thermometers which support it. - - Possible Errors: org.bluez.Error.InvalidArguments - - DisableIntermediateMeasurement(object agent) - - Disables intermediate measurement notifications - for this agent. It will disable notifications in - thermometers when the last agent removes the - watcher for intermediate measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotFound - -Health Thermometer Profile hierarchy -==================================== - -Service org.bluez -Interface org.bluez.Thermometer1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - - -Properties boolean Intermediate [readonly] - - True if the thermometer supports intermediate - measurement notifications. - - uint16 Interval (optional) [readwrite] - - The Measurement Interval defines the time (in - seconds) between measurements. This interval is - not related to the intermediate measurements and - must be defined into a valid range. Setting it - to zero means that no periodic measurements will - be taken. - - uint16 Maximum (optional) [readonly] - - Defines the maximum value allowed for the interval - between periodic measurements. - - uint16 Minimum (optional) [readonly] - - Defines the minimum value allowed for the interval - between periodic measurements. - - -Health Thermometer Watcher hierarchy -==================================== - -Service unique name -Interface org.bluez.ThermometerWatcher1 -Object path freely definable - -Methods void MeasurementReceived(dict measurement) - - This callback gets called when a measurement has been - scanned in the thermometer. - - Measurement: - - int16 Exponent: - int32 Mantissa: - - Exponent and Mantissa values as - extracted from float value defined by - IEEE-11073-20601. - - Measurement value is calculated as - (Mantissa) * (10^Exponent) - - For special cases Exponent is - set to 0 and Mantissa is set to - one of following values: - - +(2^23 - 1) NaN (invalid or - missing data) - -(2^23) NRes - +(2^23 - 2) +Infinity - -(2^23 - 2) -Infinity - - string Unit: - - Possible values: "celsius" or - "fahrenheit" - - uint64 Time (optional): - - Time of measurement, if - supported by device. - Expressed in seconds since epoch. - - string Type (optional): - - Only present if measurement type - is known. - - Possible values: "armpit", "body", - "ear", "finger", "intestines", - "mouth", "rectum", "toe", - "tympanum" - - string Measurement: - - Possible values: "final" or - "intermediate"
  8. Download patch debian/tests/control

    --- 5.50-1/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/tests/control 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,3 @@ +Tests: bluez_response +Depends: python3-aptdaemon.test, python3-dbus, bluez, bluez-test-scripts +Restrictions: needs-root, isolation-container
  9. Download patch test-driver

    --- 5.50-1/test-driver 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/test-driver 2018-06-01 08:38:18.000000000 +0000 @@ -0,0 +1,139 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# 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, 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, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <<END +Usage: + test-driver --test-name=NAME --log-file=PATH --trs-file=PATH + [--expect-failure={yes|no}] [--color-tests={yes|no}] + [--enable-hard-errors={yes|no}] [--] + TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] +The '--test-name', '--log-file' and '--trs-file' options are mandatory. +END +} + +test_name= # Used for reporting. +log_file= # Where to save the output of the test script. +trs_file= # Where to save the metadata of the test run. +expect_failure=no +color_tests=no +enable_hard_errors=yes +while test $# -gt 0; do + case $1 in + --help) print_usage; exit $?;; + --version) echo "test-driver $scriptversion"; exit $?;; + --test-name) test_name=$2; shift;; + --log-file) log_file=$2; shift;; + --trs-file) trs_file=$2; shift;; + --color-tests) color_tests=$2; shift;; + --expect-failure) expect_failure=$2; shift;; + --enable-hard-errors) enable_hard_errors=$2; shift;; + --) shift; break;; + -*) usage_error "invalid option: '$1'";; + *) break;; + esac + shift +done + +missing_opts= +test x"$test_name" = x && missing_opts="$missing_opts --test-name" +test x"$log_file" = x && missing_opts="$missing_opts --log-file" +test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" +if test x"$missing_opts" != x; then + usage_error "the following mandatory options are missing:$missing_opts" +fi + +if test $# -eq 0; then + usage_error "missing argument" +fi + +if test $color_tests = yes; then + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. + red='' # Red. + grn='' # Green. + lgn='' # Light green. + blu='' # Blue. + mgn='' # Magenta. + std='' # No color. +else + red= grn= lgn= blu= mgn= std= +fi + +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' +trap "st=129; $do_exit" 1 +trap "st=130; $do_exit" 2 +trap "st=141; $do_exit" 13 +trap "st=143; $do_exit" 15 + +# Test script is run here. +"$@" >$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End:
  10. Download patch test/get-obex-capabilities

    --- 5.50-1/test/get-obex-capabilities 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/test/get-obex-capabilities 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -#!/usr/bin/python - -import sys -import dbus - -bus = dbus.SessionBus() -client = dbus.Interface(bus.get_object("org.bluez.obex", "/org/bluez/obex"), - "org.bluez.obex.Client") - -if (len(sys.argv) < 3): - print "Usage: %s <device> <target>" % (sys.argv[0]) - sys.exit(1) - -print "Creating Session" -session_path = client.CreateSession(sys.argv[1], { "Target": sys.argv[2] }) -session = dbus.Interface(bus.get_object("org.bluez.obex", session_path), - "org.bluez.obex.Session") - -print session.GetCapabilities()
  11. Download patch debian/bluez.dirs

    --- 5.50-1/debian/bluez.dirs 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez.dirs 2019-09-10 21:10:49.000000000 +0000 @@ -1 +1,2 @@ usr/bin +var/lib/bluetooth
  12. Download patch config.sub
  13. Download patch config.guess
  14. Download patch obexd/plugins/messages-tracker.c
  15. Download patch debian/patches/0001-obexd-plugins-import-PBAP-ebook-support-from-upstrea.patch
  16. Download patch debian/rules

    --- 5.50-1/debian/rules 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/rules 2019-09-10 21:10:49.000000000 +0000 @@ -8,44 +8,39 @@ CONFIGURE_FLAGS := \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --libexec=\$${prefix}/lib/ \ --enable-static \ + --enable-usb \ --enable-tools \ --enable-cups \ - --enable-midi \ --enable-datafiles \ - --enable-threads \ - --enable-backtrace \ --enable-debug \ --enable-library \ - --enable-test \ - --enable-nfc \ - --enable-sap \ --enable-monitor \ --enable-udev \ --enable-obex \ --enable-client \ - --enable-testing \ --enable-systemd \ --enable-threads \ --enable-sixaxis \ + --enable-experimental \ --enable-deprecated \ - --enable-health \ - --enable-experimental + --enable-testing \ + --enable-phonebook-ebook %: dh $@ --with systemd,autoreconf -override_dh_install: - rm -rf debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libbluetooth.la - rm -rf debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/plugins/sixaxis.la - - dh_install --list-missing - override_dh_auto_configure: dh_auto_configure -- $(CONFIGURE_FLAGS) override_dh_installinit: dh_installinit -pbluez --name=bluetooth --restart-after-upgrade +override_dh_install: + dh_install --list-missing + +override_dh_strip: + dh_strip -a --dbg-package=bluez-dbg libbluetooth3-dbg + override_dh_systemd_enable: dh_systemd_enable -pbluez bluetooth.service
  17. Download patch debian/patches/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch

    --- 5.50-1/debian/patches/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch 2019-09-10 21:22:12.000000000 +0000 @@ -0,0 +1,27 @@ +From aa73bf5039dfd2cf0a52dd6fd22501d955cc1a00 Mon Sep 17 00:00:00 2001 +From: Tommy <mesilliac@gmail.com> +Date: Thu, 10 Jan 2013 09:18:43 +0100 +Subject: [PATCH] work around Logitech diNovo Edge keyboard firmware issue + +https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/269851 +https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1688663 +--- + tools/hid2hci.rules | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +Index: bluez/tools/hid2hci.rules +=================================================================== +--- bluez.orig/tools/hid2hci.rules ++++ bluez/tools/hid2hci.rules +@@ -11,7 +11,10 @@ ATTR{bInterfaceClass}=="03", ATTR{bInter + RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1" + + # Logitech devices +-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \ ++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[3bc]", \ ++ RUN+="hid2hci --method=logitech-hid --devpath=%p" ++# Logitech, Inc. diNovo Edge Keyboard ++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c7[01]4", \ + RUN+="hid2hci --method=logitech-hid --devpath=%p" + + ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
  18. Download patch debian/bluez.preinst

    --- 5.50-1/debian/bluez.preinst 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez.preinst 2019-09-10 21:22:12.000000000 +0000 @@ -25,7 +25,7 @@ if dpkg-maintscript-helper supports rm_c for conffile in \ /etc/bluetooth/proximity.conf; do \ dpkg-maintscript-helper rm_conffile \ - ${conffile} 5.50-1~ bluez -- "$@" + ${conffile} 5.47-1 bluez -- "$@" done fi
  19. Download patch debian/compat

    --- 5.50-1/debian/compat 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/compat 2019-09-10 21:10:49.000000000 +0000 @@ -1 +1 @@ -10 +9
  20. Download patch debian/patches/CVE-2017-1000250.patch

    --- 5.50-1/debian/patches/CVE-2017-1000250.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/CVE-2017-1000250.patch 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,41 @@ +Description: validate continuation requested data size +Origin: Armis Security <security@armis.com> + +CVE-2017-1000250 + +Included is our offered patch for the information leak vulnerability: + +diff --git a/src/sdpd-request.c b/src/sdpd-request.c +index 1eefdce..ddeea7f 100644 +--- a/src/sdpd-request.c ++++ b/src/sdpd-request.c +@@ -918,15 +918,20 @@ static int service_search_attr_req(sdp_req_t *req, sdp_buf_t *buf) + /* continuation State exists -> get from cache */ + sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); + if (pCache) { +- uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); +- pResponse = pCache->data; +- memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); +- buf->data_size += sent; +- cstate->cStateValue.maxBytesSent += sent; +- if (cstate->cStateValue.maxBytesSent == pCache->data_size) +- cstate_size = sdp_set_cstate_pdu(buf, NULL); +- else +- cstate_size = sdp_set_cstate_pdu(buf, cstate); ++ if (cstate->cStateValue.maxBytesSent >= pCache->data_size) { ++ status = SDP_INVALID_CSTATE; ++ SDPDBG("Got bad cstate with invalid size"); ++ } else { ++ uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); ++ pResponse = pCache->data; ++ memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); ++ buf->data_size += sent; ++ cstate->cStateValue.maxBytesSent += sent; ++ if (cstate->cStateValue.maxBytesSent == pCache->data_size) ++ cstate_size = sdp_set_cstate_pdu(buf, NULL); ++ else ++ cstate_size = sdp_set_cstate_pdu(buf, cstate); ++ } + } else { + status = SDP_INVALID_CSTATE; + SDPDBG("Non-null continuation state, but null cache buffer");
  21. Download patch install-sh
  22. Download patch debian/patches/lp1759836.patch

    --- 5.50-1/debian/patches/lp1759836.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/lp1759836.patch 2019-09-10 21:20:52.000000000 +0000 @@ -0,0 +1,48 @@ +From 75f88ab1d443fa2f8281c743b1fed04559d4c825 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> +Date: Tue, 4 Dec 2018 22:41:17 +0200 +Subject: [PATCH] hid2hci: Fix udev rules for linux-4.14+ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since commit 1455cf8dbfd0 ("driver core: emit uevents when +device is bound to a driver") the kernel started emitting +"bind" and "unbind" uevents which confuse the hid2hci +udev rules. + +The symptoms on an affected machine (Dell E5400 in my case) +include bluetooth devices not appearing and udev hogging +the cpu as it's busy processing a constant stream of these +"bind"+"unbind" uevents. + +Change the udev rules not do anything except for "add" and +"change" events. This seems to cure my machine at least. + +v2: Don't mess up "change" (Zbyszek) + Fix up the commit message a bit + +Closes: #931304 +Origin: upstream, https://lore.kernel.org/patchwork/patch/1021109/ +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931304 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1759836 + +--- + tools/hid2hci.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules +index db6bb03d2..5c7208af7 100644 +--- a/tools/hid2hci.rules ++++ b/tools/hid2hci.rules +@@ -1,6 +1,6 @@ + # do not edit this file, it will be overwritten on update + +-ACTION=="remove", GOTO="hid2hci_end" ++ACTION!="add|change", GOTO="hid2hci_end" + SUBSYSTEM!="usb*", GOTO="hid2hci_end" + + # Variety of Dell Bluetooth devices - match on a mouse device that is +-- +2.20.1 +
  23. Download patch debian/control
  24. Download patch debian/bluez-tests.doc

    --- 5.50-1/debian/bluez-tests.doc 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-tests.doc 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1 @@ +debian/README.examples
  25. Download patch debian/patches/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch

    --- 5.50-1/debian/patches/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch 2019-09-10 21:22:12.000000000 +0000 @@ -0,0 +1,55 @@ +http://www.spinics.net/lists/linux-bluetooth/msg38490.html + +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 + +Index: bluez/Makefile.obexd +=================================================================== +--- bluez.orig/Makefile.obexd ++++ bluez/Makefile.obexd +@@ -1,12 +1,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 + + if OBEX + +Index: bluez/obexd/src/org.bluez.obex.service +=================================================================== +--- bluez.orig/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 +Index: bluez/obexd/src/org.bluez.obex.service.in +=================================================================== +--- /dev/null ++++ bluez/obexd/src/org.bluez.obex.service.in +@@ -0,0 +1,4 @@ ++[D-BUS Service] ++Name=org.bluez.obex ++Exec=@libexecdir@/obexd ++SystemdService=dbus-org.bluez.obex.service
  26. Download patch debian/bluez-tests.install

    --- 5.50-1/debian/bluez-tests.install 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-tests.install 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,9 @@ +tools/bnep-tester usr/bin +tools/gap-tester usr/bin +tools/hci-tester usr/bin +tools/l2cap-tester usr/bin +tools/mgmt-tester usr/bin +tools/rfcomm-tester usr/bin +tools/sco-tester usr/bin +tools/smp-tester usr/bin +tools/userchan-tester usr/bin
  27. Download patch bootstrap-configure

    --- 5.50-1/bootstrap-configure 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/bootstrap-configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -#!/bin/sh - -if [ -f config.status ]; then - make maintainer-clean -fi - -./bootstrap && \ - ./configure --enable-maintainer-mode \ - --enable-debug \ - --prefix=/usr \ - --mandir=/usr/share/man \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --enable-tools \ - --enable-manpages \ - --enable-backtrace \ - --enable-testing \ - --enable-experimental \ - --enable-deprecated \ - --enable-nfc \ - --enable-sap \ - --enable-health \ - --enable-android \ - --enable-sixaxis \ - --enable-midi \ - --enable-mesh \ - --enable-logger \ - --disable-datafiles $*
  28. Download patch .mailmap

    --- 5.50-1/.mailmap 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/.mailmap 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -Luiz Augusto von Dentz <luiz.dentz-von@nokia.com> <luiz.dentz-von@nokia.com> -Vinicius Costa Gomes <vinicius.gomes@openbossa.org> <vinicius.gomes@openbossa.org> -Elvis Pfützenreuter <epx@signove.com> <epx@signove.com> -Santiago Carot-Nemesio <scarot@libresoft.es> <scarot@libresoft.es> -José Antonio Santos Cadenas <santoscadenas@gmail.com> <santoscadenas@gmail.com> -Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com> <Waldemar.Rymarkiewicz@tieto.com> -Alok Barsode <alokbarsode@gmail.com> <alok@greatbear.(none)> -André Dieb Martins <andre.dieb@signove.com> <andre.dieb@signove.com> -Tedd Ho-Jeong An <tedd.an@intel.com> <tedd.an@intel.com> -Martin Xu <martin.xu@linux.intel.com> <martin.xu@linux.intel.com> -Marie Janssen <jamuraa@chromium.org> <jamuraa@chromium.org>
  29. Download patch debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch

    --- 5.50-1/debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -http://www.spinics.net/lists/linux-bluetooth/msg38490.html - -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/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=@libexecdir@/obexd -+SystemdService=dbus-org.bluez.obex.service -diff --git a/Makefile.obexd b/Makefile.obexd -index cd3ace425..e06a6f0c2 100644 ---- a/Makefile.obexd -+++ b/Makefile.obexd -@@ -1,12 +1,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 - - if OBEX -
  30. Download patch debian/source_bluez.py

    --- 5.50-1/debian/source_bluez.py 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/source_bluez.py 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,33 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +'''apport package hook for bluez + +(c) 2010 Free Software Foundation +Author: +Baptiste Mille-Mathias <baptistem@src.gnome.org> + +''' +from apport.hookutils import * +import re + +def add_info(report, ui): + report['syslog'] = recent_syslog(re.compile(r'bluetooth', re.IGNORECASE)) + attach_hardware(report) + if command_available('hciconfig'): + report['hciconfig'] = command_output('hciconfig') + if command_available('rfkill'): + report['rfkill'] = command_output(['rfkill','list']) + if command_available('getfacl'): + report['getfacl'] = command_output(['getfacl','/dev/rfkill']) + + interesting_modules = ('btusb', 'rfcomm', 'sco', 'bnep', 'l2cap', 'bluetooth') + interesting_modules_loaded = [] + + for line in open('/proc/modules'): + module = line.split()[0] + if module in interesting_modules: + interesting_modules_loaded.append(module) + + if interesting_modules_loaded: + report['InterestingModules'] = ' '.join(interesting_modules_loaded) +
  31. Download patch debian/bluez-tests.examples

    --- 5.50-1/debian/bluez-tests.examples 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-tests.examples 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1 @@ +test/*
  32. Download patch debian/bluez-test-tools.install

    --- 5.50-1/debian/bluez-test-tools.install 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-test-tools.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -tools/*-tester usr/bin -emulator/b1ee usr/bin -emulator/btvirt usr/bin -emulator/hfp usr/bin
  33. Download patch debian/patches/agent-Assert-possible-infinite-loop.patch

    --- 5.50-1/debian/patches/agent-Assert-possible-infinite-loop.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/agent-Assert-possible-infinite-loop.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -From: Bastien Nocera <hadess@hadess.net> -Date: Mon, 9 Dec 2013 18:04:56 +0100 -Subject: [PATCH 4/5] agent: Assert possible infinite loop - ---- - src/agent.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/agent.c b/src/agent.c -index bcba969..b292881 100644 ---- a/src/agent.c -+++ b/src/agent.c -@@ -203,6 +203,8 @@ void agent_unref(struct agent *agent) - if (agent->ref > 0) - return; - -+ g_assert (agent->ref == 0); -+ - if (agent->request) { - DBusError err; - agent_pincode_cb pincode_cb; --- -1.8.4.2
  34. Download patch test/get-managed-objects

    --- 5.50-1/test/get-managed-objects 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/test/get-managed-objects 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import dbus - -bus = dbus.SystemBus() - -manager = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - -objects = manager.GetManagedObjects() - -for path in objects.keys(): - print("[ %s ]" % (path)) - - interfaces = objects[path] - - for interface in interfaces.keys(): - if interface in ["org.freedesktop.DBus.Introspectable", - "org.freedesktop.DBus.Properties"]: - continue - - print(" %s" % (interface)) - - properties = interfaces[interface] - - for key in properties.keys(): - print(" %s = %s" % (key, properties[key]))
  35. Download patch debian/bluez.bluetooth.default

    --- 5.50-1/debian/bluez.bluetooth.default 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez.bluetooth.default 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -# Defaults for bluez - -# start bluetooth on boot? -# compatibility note: if this variable is _not_ found bluetooth will start -BLUETOOTH_ENABLED=1 - -# This setting used to switch HID devices (e.g mouse/keyboad) to HCI mode, that -# is you will have bluetooth functionality from your dongle instead of only -# HID. This is accomplished for supported devices by udev in -# /lib/udev/rules.d/62-bluez-hid2hci.rules by invoking hid2hci with correct -# parameters. -# See /usr/share/doc/bluez/NEWS.Debian.gz for further information. - -# Older daemons like pand dund and hidd can be found in bluez-compat package as -# they are deprecated and provided for backward compatibility only. - -# Note that not every bluetooth dongle is capable of switching back to HID mode, -# see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=355497 -HID2HCI_ENABLED=0 -HID2HCI_UNDO=0
  36. Download patch debian/patches/change_path_of_hogsuspend.patch

    --- 5.50-1/debian/patches/change_path_of_hogsuspend.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/change_path_of_hogsuspend.patch 2019-09-10 21:22:12.000000000 +0000 @@ -4,10 +4,10 @@ Origin: vendor Bug-Debian: http://bugs.debian.org/759188 Author: Nobuhiro Iwamatsu <iwamatsu@debian.org> -diff --git a/profiles/input/suspend-dummy.c b/profiles/input/suspend-dummy.c -index 542ae25..580213e 100644 ---- a/profiles/input/suspend-dummy.c -+++ b/profiles/input/suspend-dummy.c +Index: bluez/profiles/input/suspend-dummy.c +=================================================================== +--- bluez.orig/profiles/input/suspend-dummy.c ++++ bluez/profiles/input/suspend-dummy.c @@ -40,7 +40,7 @@ #include "src/log.h" #include "suspend.h"
  37. Download patch debian/patches/0001-obexd-plugins-port-ebook-support-to-the-latest-EDS.patch
  38. Download patch .gitignore

    --- 5.50-1/.gitignore 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,168 +0,0 @@ -*.o -*.a -*.lo -*.la -*.so -*.gcno -*.gcda -.deps -.libs -.dirstamp -Makefile -Makefile.in -aclocal.m4 -config.guess -config.h -config.h.in -config.h.in~ -config.log -config.status -config.sub -configure -depcomp -compile -install-sh -libtool -ltmain.sh -missing -stamp-h1 -autom4te.cache -test-driver -test-suite.log -coverage.info - -coverage -lib/bluez.pc -lib/bluetooth -src/builtin.h -src/bluetoothd -tools/97-hid2hci.rules - -profiles/cups/bluetooth -profiles/iap/iapd - -attrib/gatttool -tools/avinfo -tools/bccmd -tools/hwdb -tools/ciptool -tools/hciattach -tools/hciconfig -tools/hcieventmask -tools/hcisecfilter -tools/hcitool -tools/hcidump -tools/hid2hci -tools/rfcomm -tools/l2ping -tools/l2test -tools/cltest -tools/rctest -tools/scotest -tools/amptest -tools/oobtest -tools/advtest -tools/sdptool -tools/avtest -tools/bdaddr -tools/bluemoon -tools/seq2bseq -tools/hex2hcd -tools/nokfw -tools/rtlfw -tools/btiotest -tools/mpris-proxy -tools/bluetooth-player -tools/l2cap-tester -tools/sco-tester -tools/hci-tester -tools/eddystone -tools/ibeacon -tools/btproxy -tools/btinfo -tools/3dsp -tools/obexctl -tools/gatt-service -tools/btgatt-client -tools/btgatt-server -tools/create-image -tools/test-runner -tools/check-selftest -tools/mcaptest -tools/bneptest -test/sap_client.pyc -test/bluezutils.pyc -unit/test-ringbuf -unit/test-queue -unit/test-eir -unit/test-uuid -unit/test-crc -unit/test-textfile -unit/test-gdbus-client -unit/test-sdp -unit/test-lib -unit/test-mgmt -unit/test-uhid -unit/test-hfp -unit/test-crypto -unit/test-ecc -unit/test-hog -tools/mgmt-tester -tools/smp-tester -tools/gap-tester -tools/rfcomm-tester -tools/bnep-tester -tools/userchan-tester -tools/btattach -tools/btconfig -tools/btmgmt -tools/btsnoop -tools/btpclient -tools/btmon-logger -tools/bluetooth-logger.service -peripheral/btsensor -monitor/btmon -emulator/btvirt -emulator/b1ee -emulator/hfp -client/bluetoothctl -mesh/meshctl - -src/bluetoothd.8 -src/bluetooth.service - -obexd/src/builtin.h -obexd/src/obexd -obexd/src/obex.service -tools/obex-client-tool -tools/obex-server-tool -unit/test-gobex -unit/test-gobex-apparam -unit/test-gobex-header -unit/test-gobex-packet -unit/test-gobex-transfer -unit/test-avdtp -unit/test-avctp -unit/test-avrcp -unit/test-gatt -unit/test-midi -unit/test-gattrib -unit/test-*.log -unit/test-*.trs - -doc/btmon.1 - -android/system-emulator -android/bluetoothd -android/avdtptest -android/haltest -android/android-tester -android/ipc-tester -android/bluetoothd-snoop -android/test-ipc -android/test-*.log -android/test-*.trs - -cscope.in.out -cscope.out -cscope.po.out
  39. Download patch debian/patches/main.conf-Add-more-details-Closes-904212.patch

    --- 5.50-1/debian/patches/main.conf-Add-more-details-Closes-904212.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/main.conf-Add-more-details-Closes-904212.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -From 57873ffe2415901bc237934b2ae5390328a7eae4 Mon Sep 17 00:00:00 2001 -From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> -Date: Sun, 29 Jul 2018 16:10:18 +0900 -Subject: [PATCH] main.conf: Add more datails (Closes: #904212) - -Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> ---- - src/main.conf | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/main.conf b/src/main.conf -index cbae32ec5..88214d4a0 100644 ---- a/src/main.conf -+++ b/src/main.conf -@@ -1,7 +1,8 @@ - [General] - --# Default adapter name --# Defaults to 'BlueZ X.YZ' -+# Defaults to 'BlueZ X.YZ', if Name is not set here and plugin 'hostname' is not loaded. -+# The plugin 'hostname' is loaded by default and overides the Name set here so -+# consider modifying /etc/machine-info with variable PRETTY_HOSTNAME=<NewName> instead. - #Name = BlueZ - - # Default device class. Only the major and minor device class bits are --- -2.18.0 -
  40. Download patch tools/example.psr

    --- 5.50-1/tools/example.psr 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/tools/example.psr 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -// PSKEY_BDADDR -&0001 = 0001 2821 005b 6789 -// PSKEY_ANA_FTRIM -&01f6 = 0025 -// PSKEY_HOST_INTERFACE -&01f9 = 0001 -// PSKEY_UART_BAUD_RATE -&0204 = 01d8 -// PSKEY_ANA_FREQ -&01fe = 0004 -// PSKEY_UART_CONFIG -&0205 = 0006
  41. Download patch doc/battery-api.txt

    --- 5.50-1/doc/battery-api.txt 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/doc/battery-api.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -BlueZ D-Bus Battery API description -*********************************** - - -Battery hierarchy -================= - -Service org.bluez -Interface org.bluez.Battery1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Properties byte Percentage [readonly] - - The percentage of battery left as an unsigned 8-bit integer.
  42. Download patch missing
  43. Download patch debian/patches/Fix-typo.patch
  44. Download patch configure
  45. Download patch tools/update_compids.sh

    --- 5.50-1/tools/update_compids.sh 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/tools/update_compids.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -#!/bin/bash -# Download the list of company IDs from bluetooth.org and generate a diff which -# can be applied to source tree to update bt_compidtostr(). Usage: -# -# 1) ./tools/update_compids.sh | git apply -p0 -# 2) Inspect changes to make sure they are sane -# 3) git commit -m "lib: Update list of company identifiers" lib/bluetooth.c -# -# Requires html2text: http://www.mbayer.de/html2text/ -# -set -e -u - -tmpdir=$(mktemp -d) -trap "rm -rf $tmpdir" EXIT - -scriptdir=$(pwd) - -mkdir $tmpdir/lib -cp lib/bluetooth.c $tmpdir/lib/bluetooth.c.orig -cp lib/bluetooth.c $tmpdir/lib/bluetooth.c - -cd $tmpdir - -echo -e 'const char *bt_compidtostr(int compid)\n{\n\tswitch (compid) {' > new.c - -path=specifications/assigned-numbers/company-identifiers -# Use "iconv -c" to strip unwanted unicode characters -curl --insecure https://www.bluetooth.com/$path | \ - $scriptdir/tools/parse_companies.pl >> new.c - -if ! grep -q "return \"" new.c; then - echo "ERROR: could not parse company IDs from bluetooth.org" >&2 - exit 1 -fi -echo -e '\tcase 65535:\n\t\treturn "internal use";' >> new.c -echo -e '\tdefault:\n\t\treturn "not assigned";\n\t}\n}' >> new.c - -sed -n '/^const char \*bt_compidtostr(int compid)/,/^}/p' \ - lib/bluetooth.c > old.c - -diff -Naur old.c new.c | patch -sp0 lib/bluetooth.c -diff -Naur lib/bluetooth.c.orig lib/bluetooth.c
  46. Download patch debian/tests/bluez_response

    --- 5.50-1/debian/tests/bluez_response 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/tests/bluez_response 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import unittest +import subprocess +import sys +import os + +import aptdaemon.test + +class TestBluezResponse(unittest.TestCase): + + devices = {} + + def setUp(self): + # bluetoothd starts on demand, so make sure it's running + subprocess.call(['service', 'bluetooth', 'start']) + p1 = subprocess.Popen(['hciconfig'], + stdout=subprocess.PIPE, + universal_newlines=True) + p2 = subprocess.Popen(['grep', '\(^hci\|BD\ Address\)'], + stdin=p1.stdout, stdout=subprocess.PIPE, + universal_newlines=True) + p1.stdout.close() + hciconf_output = p2.communicate()[0].replace('\t', ' ').split('\n') + + device_id = "" + for line in hciconf_output: + if "hci" in line: + device_id = line.split(':')[0] + elif "BD Address" in line: + self.devices[device_id] = line.split()[2] + + if len(self.devices) < 1: + self.skipTest("No bluetooth devices available for testing") + + def testDevice(self): + for dev in self.devices: + ret = subprocess.call(['/usr/share/doc/bluez-test-scripts/examples/list-devices']) + self.assertEqual(ret, 0) + + def testAdapter(self): + for dev in self.devices: + output = subprocess.check_output(['/usr/share/doc/bluez-test-scripts/examples/test-adapter', '-i', dev, 'address'], + universal_newlines=True) + self.assertIn(self.devices[dev], output) + +unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2))
  47. Download patch debian/patches/bluetooth.conf.patch

    --- 5.50-1/debian/patches/bluetooth.conf.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/bluetooth.conf.patch 2019-09-10 21:10:49.000000000 +0000 @@ -3,11 +3,11 @@ Forwarded: not-needed Origin: vendor Author: Nobuhiro Iwamatsu <iwamatsu@debian.org> -diff --git a/src/bluetooth.conf b/src/bluetooth.conf -index 10d2d36..dea71b8 100644 ---- a/src/bluetooth.conf -+++ b/src/bluetooth.conf -@@ -24,6 +24,11 @@ +Index: bluez/src/bluetooth.conf +=================================================================== +--- bluez.orig/src/bluetooth.conf ++++ bluez/src/bluetooth.conf +@@ -21,6 +21,11 @@ <allow send_interface="org.freedesktop.DBus.Properties"/> </policy>
  48. Download patch debian/patches/migrate_scripts_python3.patch
  49. Download patch debian/patches/series

    --- 5.50-1/debian/patches/series 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/series 2019-09-10 21:22:12.000000000 +0000 @@ -1,11 +1,14 @@ -work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch -allow-using-obexd-without-systemd-in-the-user-sessio.patch -obex-Use-GLib-helper-function-to-manipulate-paths.patch -agent-Assert-possible-infinite-loop.patch +0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch bluetooth.conf.patch -main.conf.patch +0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch +0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch change_path_of_hogsuspend.patch -org.bluez.obex.service.in.patch -Fix-typo.patch -shared-gatt-client-Fix-segfault-after-PIN-entry.patch -main.conf-Add-more-details-Closes-904212.patch +migrate_scripts_python3.patch +tools-Fix-build-after-y2038-changes-in-glibc.patch +lp1759836.patch + +# This currently stays specific for Ubuntu +0001-obexd-plugins-import-PBAP-ebook-support-from-upstrea.patch +0001-obexd-plugins-port-ebook-support-to-the-latest-EDS.patch +0002-hostname-handle-chassis-type-handset.patch +
  50. Download patch debian/README.Debian

    --- 5.50-1/debian/README.Debian 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/README.Debian 2019-09-10 21:10:49.000000000 +0000 @@ -5,9 +5,6 @@ The /dev/rfcomm* serial devices entries RFCOMM with legacy applications -- see rfcomm(8). Users must be in group 'dialout' to have privileges to use these devices. -You can edit /etc/bluetooth/rfcomm.conf to have some rfcomm devices bound -automatically at boot time. - If you wish to install PCMCIA card services support for your Bluetooth devices you should install the bluez-pcmcia-support package.
  51. Download patch debian/bluez-obexd.links
  52. Download patch android/socket-api.txt

    --- 5.50-1/android/socket-api.txt 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/android/socket-api.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -Android Socket protocol for Bluetooth -===================================== - -Since Android switched from BlueZ (where sockets where nicely implemented) to -Bluedroid user space stack there is a need to emulate bluetooth sockets. - -Android Bluetooth Socket Hardware Abstraction Layer (HAL) bt_sock.h has -only 2 functions: - -static btsock_interface_t sock_if = { - sizeof(sock_if), - sock_listen, - sock_connect -}; - -with following parameters: - -sock_listen(btsock_type_t type, const char *service_name, - const uint8_t *uuid, int chan, int *sock_fd, int flags) -sock_connect(const bt_bdaddr_t *bdaddr, btsock_type_t type, - const uint8_t *uuid, int chan, int *sock_fd, int flags) - -socket type RFCOMM is only supported at the moment. uuid and channel used -to decide where to connect. - -sockfd is used to return socket fd to Android framework. It is used to inform -framework when remote device is connected. - -listen() -======== - -Listens on RFCOMM socket, socket channel is either found based on uuid or -channel parameter used directly. Returns sock_fd to Android framework. - -Through this sock_fd channel number as (int) needs to be written right after -listen() succeeds. - -When remote device is connected to this socket we shall send accept signal -through sock_fd - -connect() -========= - -Connects to remote device specified in bd_addr parameter. Socket channel is -found by SDP search of remote device by supplied uuid. Returns sock_fd to -Android framework. - -Through this sock_fd channel number as (int) needs to be written right after -connects() succeeds. - -When remote device is connected to this socket we shall send connect signal -through sock_fd - -The format of connect/accept signal is shown below: - -struct hal_sock_connect_signal { - short size; - uint8_t bdaddr[6]; - int channel; - int status; -} __attribute__((packed));
  53. Download patch obexd/plugins/syncevolution.c
  54. Download patch compile
  55. Download patch aclocal.m4
  56. Download patch doc/coding-style.txt
  57. Download patch debian/bluez-test-scripts.examples

    --- 5.50-1/debian/bluez-test-scripts.examples 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-test-scripts.examples 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -test/*
  58. Download patch debian/patches/org.bluez.obex.service.in.patch

    --- 5.50-1/debian/patches/org.bluez.obex.service.in.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/org.bluez.obex.service.in.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -Bug-Debian: https://bugs.debian.org/804908 -Forwarded: not-needed -Last-Update: 2017-03-17 - ---- bluez-5.43.orig/obexd/src/org.bluez.obex.service.in -+++ bluez-5.43/obexd/src/org.bluez.obex.service.in -@@ -1,4 +1,4 @@ - [D-BUS Service] - Name=org.bluez.obex - Exec=@libexecdir@/obexd --SystemdService=dbus-org.bluez.obex.service -+SystemdService=obex.service
  59. Download patch debian/patches/0002-hostname-handle-chassis-type-handset.patch

    --- 5.50-1/debian/patches/0002-hostname-handle-chassis-type-handset.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/0002-hostname-handle-chassis-type-handset.patch 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,52 @@ +From c4d9e1636ca711bad18ec7b884c383bea3d301c4 Mon Sep 17 00:00:00 2001 +From: Simon Fels <simon.fels@canonical.com> +Date: Mon, 12 Oct 2015 07:32:36 +0200 +Subject: [PATCH 2/4] hostname: handle chassis type handset + +This also corrects the link to the definition of the base class of +device field. +--- + plugins/hostname.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +Index: bluez/plugins/hostname.c +=================================================================== +--- bluez.orig/plugins/hostname.c ++++ bluez/plugins/hostname.c +@@ -40,10 +40,11 @@ + #include "src/adapter.h" + #include "src/log.h" + +-/* http://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm */ ++/* https://www.bluetooth.org/en-us/specification/assigned-numbers/baseband */ + + #define MAJOR_CLASS_MISCELLANEOUS 0x00 + #define MAJOR_CLASS_COMPUTER 0x01 ++#define MAJOR_CLASS_PHONE 0x02 + + #define MINOR_CLASS_UNCATEGORIZED 0x00 + #define MINOR_CLASS_DESKTOP 0x01 +@@ -54,6 +55,8 @@ + #define MINOR_CLASS_WEARABLE 0x06 + #define MINOR_CLASS_TABLET 0x07 + ++#define MINOR_CLASS_SMARTPHONE 0x3 ++ + static uint8_t major_class = MAJOR_CLASS_MISCELLANEOUS; + static uint8_t minor_class = MINOR_CLASS_UNCATEGORIZED; + +@@ -122,8 +125,14 @@ static const struct { + { "desktop", MAJOR_CLASS_COMPUTER, MINOR_CLASS_DESKTOP }, + { "server", MAJOR_CLASS_COMPUTER, MINOR_CLASS_SERVER }, + { "laptop", MAJOR_CLASS_COMPUTER, MINOR_CLASS_LAPTOP }, ++#if 0 ++ // NOTE: Until we have support for more chassis types in ++ // hostnamed like 'phone' we keep handset separated and ++ // take it for the phone role. + { "handset", MAJOR_CLASS_COMPUTER, MINOR_CLASS_HANDHELD }, ++#endif + { "tablet", MAJOR_CLASS_COMPUTER, MINOR_CLASS_TABLET }, ++ { "handset", MAJOR_CLASS_PHONE, MINOR_CLASS_SMARTPHONE }, + { } + }; +
  60. Download patch debian/patches/tools-Fix-build-after-y2038-changes-in-glibc.patch

    --- 5.50-1/debian/patches/tools-Fix-build-after-y2038-changes-in-glibc.patch 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/tools-Fix-build-after-y2038-changes-in-glibc.patch 2019-09-10 21:22:12.000000000 +0000 @@ -0,0 +1,56 @@ +From f36f71f60b1e68c0f12e615b9b128d089ec3dd19 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Fri, 7 Jun 2019 09:51:33 +0200 +Subject: [PATCH] tools: Fix build after y2038 changes in glibc + +The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name +to fix the build. +--- + tools/l2test.c | 6 +++++- + tools/rctest.c | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +--- a/tools/l2test.c ++++ b/tools/l2test.c +@@ -54,6 +54,10 @@ + #define BREDR_DEFAULT_PSM 0x1011 + #define LE_DEFAULT_PSM 0x0080 + ++#ifndef SIOCGSTAMP_OLD ++#define SIOCGSTAMP_OLD SIOCGSTAMP ++#endif ++ + /* Test modes */ + enum { + SEND, +@@ -906,7 +910,7 @@ + if (timestamp) { + struct timeval tv; + +- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) { ++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) { + timestamp = 0; + memset(ts, 0, sizeof(ts)); + } else { +--- a/tools/rctest.c ++++ b/tools/rctest.c +@@ -49,6 +49,10 @@ + + #include "src/shared/util.h" + ++#ifndef SIOCGSTAMP_OLD ++#define SIOCGSTAMP_OLD SIOCGSTAMP ++#endif ++ + /* Test modes */ + enum { + SEND, +@@ -504,7 +508,7 @@ + if (timestamp) { + struct timeval tv; + +- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) { ++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) { + timestamp = 0; + memset(ts, 0, sizeof(ts)); + } else {
  61. Download patch debian/main.conf

    --- 5.50-1/debian/main.conf 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/debian/main.conf 2019-09-10 21:10:49.000000000 +0000 @@ -0,0 +1,89 @@ +[General] + +# Default adaper name +# Defaults to 'BlueZ X.YZ' +#Name = BlueZ + +# Default device class. Only the major and minor device class bits are +# considered. Defaults to '0x000000'. +#Class = 0x000100 + +# How long to stay in discoverable mode before going back to non-discoverable +# The value is in seconds. Default is 180, i.e. 3 minutes. +# 0 = disable timer, i.e. stay discoverable forever +#DiscoverableTimeout = 0 + +# How long to stay in pairable mode before going back to non-discoverable +# The value is in seconds. Default is 0. +# 0 = disable timer, i.e. stay pairable forever +#PairableTimeout = 0 + +# Automatic connection for bonded devices driven by platform/user events. +# If a platform plugin uses this mechanism, automatic connections will be +# enabled during the interval defined below. Initially, this feature +# intends to be used to establish connections to ATT channels. Default is 60. +#AutoConnectTimeout = 60 + +# Use vendor id source (assigner), vendor, product and version information for +# DID profile support. The values are separated by ":" and assigner, VID, PID +# and version. +# Possible vendor id source values: bluetooth, usb (defaults to usb) +#DeviceID = bluetooth:1234:5678:abcd + +# Do reverse service discovery for previously unknown devices that connect to +# us. This option is really only needed for qualification since the BITE tester +# doesn't like us doing reverse SDP for some test cases (though there could in +# theory be other useful purposes for this too). Defaults to 'true'. +#ReverseServiceDiscovery = true + +# Enable name resolving after inquiry. Set it to 'false' if you don't need +# remote devices name and want shorter discovery cycle. Defaults to 'true'. +#NameResolving = true + +# Enable runtime persistency of debug link keys. Default is false which +# makes debug link keys valid only for the duration of the connection +# that they were created for. +#DebugKeys = false + +# Restricts all controllers to the specified transport. Default value +# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW). +# Possible values: "dual", "bredr", "le" +#ControllerMode = dual + +# Enables Multi Profile Specification support. This allows to specify if +# system supports only Multiple Profiles Single Device (MPSD) configuration +# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple +# Devices (MPMD) configurations. +# Possible values: "off", "single", "multiple" +#MultiProfile = off + +# Permanently enables the Fast Connectable setting for adapters that +# support it. When enabled other devices can connect faster to us, +# however the tradeoff is increased power consumptions. This feature +# will fully work only on kernel version 4.1 and newer. Defaults to +# 'false'. +#FastConnectable = false + +[Policy] + +# The ReconnectUUIDs defines the set of remote services that should try +# to be reconnected to in case of a link loss (link supervision +# timeout). The policy plugin should contain a sane set of values by +# default, but this list can be overridden here. By setting the list to +# empty the reconnection feature gets disabled. +#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb, 0000111f-0000-1000-8000-00805f9b34fb, 0000110a-0000-1000-8000-00805f9b34fb + +# ReconnectAttempts define the number of attempts to reconnect after a link +# lost. Setting the value to 0 disables reconnecting feature. +#ReconnectAttempts=7 + +# ReconnectIntervals define the set of intervals in seconds to use in between +# attempts. +# If the number of attempts defined in ReconnectAttempts is bigger than the +# set of intervals the last interval is repeated until the last attempt. +#ReconnectIntervals=1, 2, 4, 8, 16, 32, 64 + +# AutoEnable defines option to enable all controllers when they are found. +# This includes adapters present on start as well as adapters that are plugged +# in later on. Defaults to 'false'. +AutoEnable=true
  62. Download patch test/list-folders

    --- 5.50-1/test/list-folders 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/test/list-folders 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -#!/usr/bin/python - -import sys -import dbus - - -def list_folder(folder): - bus = dbus.SessionBus() - client = dbus.Interface(bus.get_object("org.bluez.obex", - "/org/bluez/obex"), - "org.bluez.obex.Client") - - path = client.CreateSession(sys.argv[1], { "Target": "ftp" }) - - ftp = dbus.Interface(bus.get_object("org.bluez.obex", path), - "org.bluez.obex.FileTransfer") - - if folder: - for node in folder.split("/"): - ftp.ChangeFolder(node) - - for i in ftp.ListFolder(): - if i["Type"] == "folder": - print "%s/" % (i["Name"]) - else: - print "%s" % (i["Name"]) - - -if __name__ == '__main__': - - if len(sys.argv) < 2: - print "Usage: %s <device> [folder]" % (sys.argv[0]) - sys.exit(1) - - folder = None - if len(sys.argv) == 3: - folder = sys.argv[2] - - list_folder(folder)
  63. Download patch HACKING

    --- 5.50-1/HACKING 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/HACKING 1970-01-01 00:00:00.000000000 +0000 @@ -1,148 +0,0 @@ -Hacking on BlueZ -**************** - -Build tools requirements -======================== - -When building and testing directly from the repository it is important to -have at least automake version 1.10 or later installed. - - -Working with the source code repository -======================================= - -The repository contains two extra scripts that accomplish the bootstrap -process. One is called "bootstrap" which is the basic scripts that uses the -autotools scripts to create the needed files for building and installing. -It makes sure to call the right programs depending on the usage of shared or -static libraries or translations etc. - -The second program is called "bootstrap-configure". This program will make -sure to properly clean the repository, call the "bootstrap" script and then -call configure with proper settings for development. It will use the best -options and pass them over to configure. These options normally include -the enabling the maintainer mode and the debugging features. - -So while in a normal source project the call "./configure ..." is used to -configure the project with its settings like prefix and extra options. In -case of bare repositories call "./bootstrap-configure" and it will bootstrap -the repository and calls configure with all the correct options to make -development easier. - -In case of preparing for a release with "make distcheck", don't use -bootstrap-configure since it could export development specific settings. - -So the normal steps to checkout, build and install such a repository is -like this: - - Checkout repository - # git clone git://git.kernel.org/pub/scm/bluetooth/bluez.git - # cd bluez - - Configure and build - # ./bootstrap-configure - # make - - Configure and build with cgcc (Sparse) - # ./bootstrap-configure CC=cgcc - # make - - Run unit tests - # make check - - Check installation - # make install DESTDIR=$PWD/x - # find x - # rm -rf x - - Check distribution - # make distcheck - - Final installation - # sudo make install - - Remove autogenerated files - # make maintainer-clean - - -Running from within the source code repository -============================================== - -When using "./configure --enable-maintainer-mode" the automake scripts will -use the plugins directly from within the repository. This removes the need -to use "make install" when testing "bluetoothd". The "bootstrap-configure" -automatically includes this option. - - Copy configuration file which specifies the required security policies - # sudo cp ./src/bluetooth.conf /etc/dbus-1/system.d/ - - Run daemon in foreground with debugging - # sudo ./src/bluetoothd -n -d -f ./src/main.conf - - Run daemon with valgrind - # sudo valgrind --trace-children=yes --track-origins=yes --track-fds=yes \ - --show-possibly-lost=no --leak-check=full --suppressions=./tools/valgrind.supp \ - ./src/bluetoothd -n -d -f ./src/main.conf - -For production installations or distribution packaging it is important that -the "--enable-maintainer-mode" option is NOT used. - -Note multiple arguments to -d can be specified, colon, comma or space -separated. The arguments are relative source code filenames for which -debugging output should be enabled; output shell-style globs are -accepted (e.g.: 'plugins/*:src/main.c'). - -Submitting patches -================== - -If you fixed a bug or you want to add support for something, patches are -welcome! In order to ease the inclusion of your patch, it's important to follow -some rules, otherwise it will likely be rejected by maintainers. - -Make sure the author name and email are set properly: - - # git config --global user.name <name> - # git config --global user.email <email> - -The preferred way to send patches is by email, using git send-email: - - # git config --global sendemail.smtpencryption <tls> - # git config --global sendemail.smtpserver <smtp.gmail.com> - # git config --global sendemail.smtpuser <yourname@gmail.com> - # git config --global sendemail.smtpserverport <587> - # git config sendemail.to linux-bluetooth@vger.kernel.org - -BlueZ rules for submitting patches follow most of the rules used by Linux kernel -(https://www.kernel.org/doc/Documentation/SubmittingPatches) with some remarks: - -1) Do *not* add "Signed-off-by" lines in your commit messages. BlueZ does not -use them, so including them is actually an error. - -2) Be sure to follow the coding style rules of BlueZ. They are listed in -doc/coding-style.txt. - -3) Split your patch according to the top-level directories. E.g.: if you added -a feature that touches files under 'include/', 'src/' and 'drivers/' -directories, split in three separated patches, taking care not to -break compilation. - -4) Bug fixes should be sent first as they take priority over new features. - -5) The commit message should follow 50/72 formatting which means the header -should be limited to 50 characters and the description should be wrapped at 72 -characters except if it contains quoted information from debug tools like -backtraces, compiler errors, etc. - -6) Prefix the email subject with [PATCH BlueZ]: - - # git config format.subjectprefix "PATCH BlueZ" - -7) Add a cover letter when introducing a new feature explaning what problem -you're trying to solve: - - # git format-patch --cover-letter -M origin/master -o outgoing/ - # edit outgoing/0000-* - -8) Submit: - - # git send-email outgoing/*
  64. Download patch debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch

    --- 5.50-1/debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -From aa73bf5039dfd2cf0a52dd6fd22501d955cc1a00 Mon Sep 17 00:00:00 2001 -From: Tommy <mesilliac@gmail.com> -Date: Thu, 10 Jan 2013 09:18:43 +0100 -Subject: [PATCH] work around Logitech diNovo Edge keyboard firmware issue - -https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/269851 ---- - tools/hid2hci.rules | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) - -diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules -index db6bb03..7db4572 100644 ---- a/tools/hid2hci.rules -+++ b/tools/hid2hci.rules -@@ -11,7 +11,10 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt - RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1" - - # Logitech devices --KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \ -+KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[3bc]", \ -+ RUN+="hid2hci --method=logitech-hid --devpath=%p" -+# Logitech, Inc. diNovo Edge Keyboard -+KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c714", \ - RUN+="hid2hci --method=logitech-hid --devpath=%p" - - ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end" --- -1.8.0.1 -
  65. Download patch debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch

    --- 5.50-1/debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -From 1501f2b90e4df38cbab3e8ec2ba37e1211102c3c Mon Sep 17 00:00:00 2001 -From: Nobuhiro Iwamatsu <iwamatsu@debian.org> -Date: Wed, 23 May 2018 08:27:12 +0900 -Subject: [PATCH] shared/gatt-client: Fix segfault after PIN entry (Closes: #884663) - -This fixes the problem of referring to NULL when ext_prop_read_cb() callback -function is called with the value variable of read_cb not initialized. - -Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org> ---- - src/shared/gatt-client.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c -index 1285c37ef..57f9e3d0f 100644 ---- a/src/shared/gatt-client.c -+++ b/src/shared/gatt-client.c -@@ -2128,6 +2128,10 @@ static void read_cb(uint8_t opcode, const void *pdu, uint16_t length, - const uint8_t *value = NULL; - uint16_t value_len = 0; - -+ value_len = length; -+ if (value_len) -+ value = pdu; -+ - if (opcode == BT_ATT_OP_ERROR_RSP) { - success = false; - att_ecode = process_error(pdu, length); -@@ -2140,10 +2144,6 @@ static void read_cb(uint8_t opcode, const void *pdu, uint16_t length, - } - - success = true; -- value_len = length; -- if (value_len) -- value = pdu; -- - done: - if (op->callback) - op->callback(success, att_ecode, value, length, op->user_data); --- -2.17.0 -
  66. Download patch test/simple-obex-agent

    --- 5.50-1/test/simple-obex-agent 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/test/simple-obex-agent 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -try: - from gi.repository import GObject -except ImportError: - import gobject as GObject - -BUS_NAME = 'org.bluez.obex' -PATH = '/org/bluez/obex' -AGENT_MANAGER_INTERFACE = 'org.bluez.obex.AgentManager1' -AGENT_INTERFACE = 'org.bluez.obex.Agent1' -TRANSFER_INTERFACE = 'org.bluez.obex.Transfer1' - -def ask(prompt): - try: - return raw_input(prompt) - except: - return input(prompt) - -class Agent(dbus.service.Object): - def __init__(self, conn=None, obj_path=None): - dbus.service.Object.__init__(self, conn, obj_path) - self.pending_auth = False - - @dbus.service.method(AGENT_INTERFACE, in_signature="o", - out_signature="s") - def AuthorizePush(self, path): - transfer = dbus.Interface(bus.get_object(BUS_NAME, path), - 'org.freedesktop.DBus.Properties') - properties = transfer.GetAll(TRANSFER_INTERFACE); - - self.pending_auth = True - auth = ask("Authorize (%s, %s) (Y/n):" % (path, - properties['Name'])) - - if auth == "n" or auth == "N": - self.pending_auth = False - raise dbus.DBusException( - "org.bluez.obex.Error.Rejected: " - "Not Authorized") - - self.pending_auth = False - - return properties['Name'] - - @dbus.service.method(AGENT_INTERFACE, in_signature="", - out_signature="") - def Cancel(self): - print("Authorization Canceled") - self.pending_auth = False - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SessionBus() - manager = dbus.Interface(bus.get_object(BUS_NAME, PATH), - AGENT_MANAGER_INTERFACE) - - path = "/test/agent" - agent = Agent(bus, path) - - mainloop = GObject.MainLoop() - - manager.RegisterAgent(path) - print("Agent registered") - - cont = True - while cont: - try: - mainloop.run() - except KeyboardInterrupt: - if agent.pending_auth: - agent.Cancel() - elif len(transfers) > 0: - for a in transfers: - a.cancel() - else: - cont = False - - # manager.UnregisterAgent(path) - # print "Agent unregistered"
  67. Download patch mesh/README

    --- 5.50-1/mesh/README 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/mesh/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -MeshCtl - BlueZ GATT based Bluetooth Mesh Provisioner -****************************************** - -Copyright (C) 2017 Intel Corporation. All rights reserved. - -Compilation and installation -============================ - -In addition to main BlueZ requirements, MeshCtl needs the following: - - JSON library - -Configuration and options -========================= - - --enable-mesh - - Build meshctl and other Bluetooth Mesh based tools and utils - -Information -=========== - -Mailing lists: - linux-bluetooth@vger.kernel.org - -For additional information about the project visit BlueZ web site: - http://www.bluez.org
  68. Download patch debian/bluez.bluetooth.init

    --- 5.50-1/debian/bluez.bluetooth.init 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez.bluetooth.init 2019-09-10 21:10:49.000000000 +0000 @@ -27,6 +27,7 @@ DESC=bluetooth DAEMON=/usr/sbin/bluetoothd HCIATTACH=/usr/bin/hciattach +BLUETOOTH_ENABLED=0 HID2HCI_ENABLED=1 HID2HCI_UNDO=1
  69. Download patch debian/gbp.conf

    --- 5.50-1/debian/gbp.conf 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -[DEFAULT] -upstream-branch = upstream -debian-branch = master -upstream-tag = %(version)s -compression = xz - -[buildpackage] -export-dir = ../build-area/
  70. Download patch config.h.in

    --- 5.50-1/config.h.in 1970-01-01 00:00:00.000000000 +0000 +++ 5.50-0ubuntu4/config.h.in 2018-06-01 08:38:10.000000000 +0000 @@ -0,0 +1,138 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Directory for the Android daemon storage files */ +#undef ANDROID_STORAGEDIR + +/* Directory for the configuration files */ +#undef CONFIGDIR + +/* Define to 1 if you have the backtrace support. */ +#undef HAVE_BACKTRACE_SUPPORT + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <linux/if_alg.h> header file. */ +#undef HAVE_LINUX_IF_ALG_H + +/* Define to 1 if you have the <linux/types.h> header file. */ +#undef HAVE_LINUX_TYPES_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <readline/readline.h> header file. */ +#undef HAVE_READLINE_READLINE_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the udev_hwdb_new() function. */ +#undef HAVE_UDEV_HWDB_NEW + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the <valgrind/memcheck.h> header file. */ +#undef HAVE_VALGRIND_MEMCHECK_H + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Define if threading support is required */ +#undef NEED_THREADS + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Directory for the storage files */ +#undef STORAGEDIR + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if on MINIX. */ +#undef _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#undef restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif
  71. Download patch tools/parse_companies.pl

    --- 5.50-1/tools/parse_companies.pl 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/tools/parse_companies.pl 1970-01-01 00:00:00.000000000 +0000 @@ -1,65 +0,0 @@ -#!/usr/bin/perl - -# parse companies from -# https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers - -use strict; -# use URI::Encode qw(uri_decode); - -my %known_entities = ( - 'nbsp' => ' ', - 'aacute' => 'á', - 'eacute' => 'é', - 'iacute' => 'í', - 'oacute' => 'ó', - 'uacute' => 'ú', - 'auml' => 'ä', - 'uuml' => 'ü', - 'Uuml' => 'Ü', -); - -# better to use URI::Encode if you have it -sub uri_decode { - my $name = $_[0]; - foreach my $entity (keys %known_entities) { - my $to = $known_entities{$entity}; - $name =~ s/&$entity;/$to/g; - } - foreach my $entity (map { lc $_ } $name =~ /&([^;]+);/g) { - if ($entity ne 'amp') { - die "\nparse_companies.pl: Unable to convert &$entity; giving up\n"; - } - } - $name =~ s/&amp;/&/ig; - $name =~ s/&nbsp;/ /ig; - return $name; -} - -# never parse HTML with regex! -# except when you should - -my $identifier; -my $next_is_name = 0; - -while (<>) { - s/\xe2\x80\x8b//g; # kill zero width space - - # grab identifier (in hex) - if (/\<td.*(0x[0-9A-F]{4})/i) { - $identifier = $1; - $next_is_name = 1; - - # next <td> should be company name - } elsif ($next_is_name && m|\<td.*\>(.*)\<|) { - my $name = uri_decode($1); - $name =~ s/^\s+//g; # kill leading - $name =~ s/\s+$//g; # and trailing space - $name =~ s/"/\\"/g; # escape double quotes - my $id = hex($identifier); - if ($id != 65535) { - print "\tcase $id:\n"; - print "\t\treturn \"$name\";\n"; - } - $next_is_name = 0; - } -}
  72. Download patch android/sco-ipc-api.txt

    --- 5.50-1/android/sco-ipc-api.txt 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/android/sco-ipc-api.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -Bluetooth SCO Audio Plugin -========================== - -The SCO Audio Plugin communicate through abstract socket name -"\0bluez_sco_socket". - - .----SCO----. .--Android--. - | Plugin | | Daemon | - | | Command | | - | | --------------------------> | | - | | | | - | | <-------------------------- | | - | | Response | | - | | | | - | | | | - | | | | - '-----------' '-----------' - - - SCO HAL Daemon - ---------------------------------------------------- - - call get_fd() --> Get SCO socket fd - return get_fd() <-- Return SCO socket fd and mtu - -SCO Audio Service (ID 0) -======================== - - Opcode 0x00 - Error response - - Response parameters: Status (1 octet) - - Opcode 0x01 - Get SCO fd command - - Command parameters: Remote address (6 octets) - Response parameters: MTU (2 octets) - File descriptor (inline)
  73. Download patch doc/maintainer-guidelines.txt

    --- 5.50-1/doc/maintainer-guidelines.txt 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/doc/maintainer-guidelines.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,114 +0,0 @@ -Maintainer guidelines -********************* - -This document is intended for the maintainers of the BlueZ project. It -serves as basic guidelines for handling patch review and commit access. - - -Rule 1: Keep the GIT tree clean and linear -========================================== - -The bluetooth.git, bluetooth-next.git and bluez.git trees are not your -private playground. The history is meant to be clean and linear. - - - NO merges - - NO branches - - NO tags - -If anyone needs testing or work on a feature, clone the tree and do -it in your own copy. The master trees are off limits. - -One advise to avoid any accidental errors in this area to set proper -options in global ~/.gitconfig or local .git/config files. - - [merge] - ff = only - -Violations of this rule are not acceptable. This rule is enforced. If -in doubt ask one of the seasoned maintainers. - - -Rule 2: Enforce clean commit messages -===================================== - -The commit messages are required to be clean and follow style guidelines -to be consistent. - -Commit messages should adhere to a 72 characters by line limit. That -makes it easy to read them via git log in a terminal window. Exceptions -to this rule are logs, trace or other verbatim copied information. - -Every commit requires full names and email addresses. No synonyms or -nicknames are allowed. It is also important that the Outlook style -names with lastname, firstname are not allowed. It is the maintainers -job to ensure we get proper firstname lastname <email> authorship. - -It is also important that the committer itself uses a valid name and -email address when committing patches. So ensure that either the -global ~/.gitconfig or local .git/config provides proper values. - - [user] - name = Peter Mustermann - email = peter@mustermann.de - -Commit messages for bluez.git shall not contain Signed-off-by -signatures. They are not used in userspace and with that it is the -maintainers job to ensure they do not get committed to the repository. - -For bluetooth.git and bluetooth-next.git The Signed-off-by process is -used and the signatures are required. - -Tags like Change-Id generated from Gerrit are never acceptable. It is -the maintainers job to ensure that these are not committed into the -repositories. - -Violations of this rule create a mess in the tree that can not be -reversed. If in doubt ask one of the seasoned maintainers. - - -Rule 3: Enforce correct coding style -==================================== - -The coding style follows roughly the kernel coding style with any -exceptions documented in doc/coding-style.txt. - -To ensure trivial white-space errors don't get committed, have the -following in your .gitconfig: - - [apply] - whitespace = error - -It can also be helpful to use the checkpatch.pl script coming with the -Linux kernel to do some automated checking. Adding the following to your -.git/hooks/pre-commit and .git/hooks/pre-applypatch is a simple way to -do this: - - exec git diff --cached | ~/src/linux/scripts/checkpatch.pl -q \ - --no-tree --no-signoff --show-types \ - --ignore CAMELCASE,NEW_TYPEDEFS,INITIALISED_STATIC - - -The above assumes that a kernel tree resides in ~/src/linux/. - - -Rule 4: Pay extra attention to adding new files to the tree -=========================================================== - -New files that are added to the tree require several things to be -verified first: - - - Check that the names are acceptible with other maintainers - - Ensure that the file modes are correct - - Verify that the license & copyright headers are correct - - If the file is supposed to be part of the release tarball, - make sure that it gets picked up by 'make dist' (particularly - important for documentation or other files that are not code) - - -Rule 5: Keep the mailing list in sync with the commit process -============================================================= - -When applying patches, be sure to send a response to the mailing list as -soon as the code has been pushed to the upstream tree. Usually this -means one email per patch, however patch-sets may only have one response -covering the entire set. If applying a subset of a patch-set clearly -state what was applied in your response.
  74. Download patch debian/patches/main.conf.patch

    --- 5.50-1/debian/patches/main.conf.patch 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/patches/main.conf.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -diff --git a/src/main.conf b/src/main.conf -index a6492761b..a6da84f85 100644 ---- a/src/main.conf -+++ b/src/main.conf -@@ -93,4 +93,4 @@ - # AutoEnable defines option to enable all controllers when they are found. - # This includes adapters present on start as well as adapters that are plugged - # in later on. Defaults to 'false'. --#AutoEnable=false -+AutoEnable=true
  75. Download patch debian/copyright
  76. Download patch obexd/plugins/phonebook-tracker.c
  77. Download patch tools/valgrind.supp

    --- 5.50-1/tools/valgrind.supp 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/tools/valgrind.supp 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -{ - ecb_bind - Memcheck:Param - socketcall.bind(my_addr.sa_data) - fun:bind - fun:ecb_aes_setup -} -{ - cmac_bind - Memcheck:Param - socketcall.bind(my_addr.sa_data) - fun:bind - fun:cmac_aes_setup -} -{ - logging_open - Memcheck:Param - socketcall.bind(my_addr.rc_bdaddr) - fun:bind - fun:logging_open -} -{ - bind - Memcheck:Param - socketcall.bind(my_addr.rc_channel) - fun:bind -}
  78. Download patch Makefile.in
  79. Download patch bootstrap

    --- 5.50-1/bootstrap 2018-06-01 08:36:21.000000000 +0000 +++ 5.50-0ubuntu4/bootstrap 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/bin/sh - -aclocal && \ - autoheader && \ - libtoolize --automake --copy --force && \ - automake --add-missing --copy && \ - autoconf
  80. Download patch debian/bluez-test-scripts.docs

    --- 5.50-1/debian/bluez-test-scripts.docs 2018-07-29 02:46:24.000000000 +0000 +++ 5.50-0ubuntu4/debian/bluez-test-scripts.docs 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/README.examples
  81. Download patch depcomp

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: bluez-qt

bluez-qt (5.62.0-0ubuntu1) eoan; urgency=medium * New upstream release (5.62.0) -- Rik Mills <rikmills@kubuntu.org> Sat, 14 Sep 2019 08:04:41 +0100 bluez-qt (5.61.0-0ubuntu1) eoan; urgency=medium * New upstream release (5.61.0) * Delete upstream_dont_use_bluezqt_dbustypes_header.diff, applied upstream -- José Manuel Santamaría Lema <panfaust@gmail.com> Mon, 12 Aug 2019 10:40:15 +0100 bluez-qt (5.60.0-0ubuntu2) eoan; urgency=medium * Disable testsuite autopkgtest for any architecture except amd64. -- José Manuel Santamaría Lema <panfaust@gmail.com> Sun, 21 Jul 2019 06:52:19 +0100 bluez-qt (5.60.0-0ubuntu1) eoan; urgency=medium [ Rik Mills ] * Move qdebug categories file to new location. * New upstream release (5.60.0) * Update symbols from build logs. [ José Manuel Santamaría Lema ] * Add upstream_dont_use_bluezqt_dbustypes_header.diff * Update symbols file -- Rik Mills <rikmills@kubuntu.org> Sat, 20 Jul 2019 08:13:54 +0100 bluez-qt (5.59.0-0ubuntu1) eoan; urgency=medium * New upstream release (5.59.0) -- Rik Mills <rikmills@kubuntu.org> Wed, 12 Jun 2019 11:17:08 +0100 bluez-qt (5.58.0-0ubuntu1) eoan; urgency=medium * New upstream release (5.58.0) -- Rik Mills <rikmills@kubuntu.org> Mon, 13 May 2019 15:37:51 +0100 bluez-qt (5.57.0-0ubuntu1) eoan; urgency=medium * New upstream release (5.57.0) * Update symbols from build logs. -- Rik Mills <rikmills@kubuntu.org> Mon, 22 Apr 2019 08:39:56 +0100 bluez-qt (5.56.0-0ubuntu1) disco; urgency=medium * New upstream release (5.56.0) -- José Manuel Santamaría Lema <panfaust@gmail.com> Sat, 09 Mar 2019 16:33:56 +0000 bluez-qt (5.55.0-0ubuntu1) disco; urgency=medium * New upstream release (5.55.0) -- Rik Mills <rikmills@kubuntu.org> Wed, 13 Feb 2019 08:28:59 +0000 bluez-qt (5.54.0-0ubuntu1) disco; urgency=medium * New upstream release (5.54.0) -- Rik Mills <rikmills@kubuntu.org> Sun, 13 Jan 2019 12:33:17 +0000 bluez-qt (5.53.0-0ubuntu1) disco; urgency=medium * New upstream release (5.53.0) -- José Manuel Santamaría Lema <panfaust@gmail.com> Sun, 09 Dec 2018 20:47:11 +0000 bluez-qt (5.52.0-0ubuntu1) disco; urgency=medium [ Rik Mills ] * New upstream release (5.51.0) * Update symbols from build logs. [ José Manuel Santamaría Lema ] * New upstream release (5.52.0) -- José Manuel Santamaría Lema <panfaust@gmail.com> Thu, 22 Nov 2018 14:40:48 +0000 bluez-qt (5.50.0-0ubuntu1) cosmic; urgency=medium * New upstream release (5.50.0) -- Rik Mills <rikmills@kubuntu.org> Mon, 10 Sep 2018 22:11:11 +0100 bluez-qt (5.49.0-0ubuntu1) cosmic; urgency=medium [ Rik Mills ] * New upstream release (5.48.0) * Update symbols from build logs * New upstream release (5.49.0) [ José Manuel Santamaría Lema ] * Move away from dhmk and set compat level to 11 in order to reduce delta with Debian -- Rik Mills <rikmills@kubuntu.org> Tue, 21 Aug 2018 20:28:38 +0100 bluez-qt (5.47.0-0ubuntu2) cosmic; urgency=medium * Ignore tests on not x86 until next version -- Rik Mills <rikmills@kubuntu.org> Mon, 30 Jul 2018 15:00:36 +0100 bluez-qt (5.47.0-0ubuntu1) cosmic; urgency=medium * New upstream release (5.47.0) [ José Manuel Santamaría Lema ] * Merge with debian, notes: - keep using dhmk and debhelper compat level = 9, see: https://phabricator.kde.org/w/kubuntu/black-operations/pyramid/ -- Rik Mills <rikmills@kubuntu.org> Thu, 14 Jun 2018 15:47:18 +0100

Modifications :
  1. Download patch debian/libkf5bluezqt6.symbols
  2. Download patch debian/tests/control

    --- 5.62.0-1/debian/tests/control 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/tests/control 2019-09-14 07:04:41.000000000 +0000 @@ -1,14 +1,9 @@ Tests: testsuite -Depends: build-essential, - dbus (>= 1.8), - openbox, - qml-module-qttest, - xauth, - xvfb, - @, - @builddeps@, +Depends: @, @builddeps@, build-essential, + xvfb, xauth, dbus (>= 1.8), openbox, + qml-module-qttest Restrictions: build-needed, allow-stderr Tests: acc -Depends: dh-acc, exuberant-ctags, @ +Depends: @, dh-acc, exuberant-ctags Restrictions: allow-stderr
  3. Download patch debian/libkf5bluezqt-dev.acc.in

    --- 5.62.0-1/debian/libkf5bluezqt-dev.acc.in 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/libkf5bluezqt-dev.acc.in 2019-09-14 07:04:41.000000000 +0000 @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version='1.0' encoding='utf-8'?> <descriptor> <version> @@ -17,6 +17,7 @@ <gcc_options> -fPIC -std=gnu++11 + -fno-keep-inline-functions </gcc_options> -</descriptor> +</descriptor> \ No newline at end of file
  4. Download patch debian/control

    --- 5.62.0-1/debian/control 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/control 2019-09-14 07:04:41.000000000 +0000 @@ -3,7 +3,7 @@ Section: libs Priority: optional Maintainer: Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Uploaders: Maximiliano Curia <maxy@debian.org> -Build-Depends: cmake (>= 3.5~), +Build-Depends: cmake (>= 3.0~), debhelper (>= 11~), doxygen, extra-cmake-modules (>= 5.62.0~), @@ -11,14 +11,13 @@ Build-Depends: cmake (>= 3.5~), libqt5sql5-sqlite, pkg-kde-tools (>> 0.15.15), qml-module-qttest, - qtbase5-dev (>= 5.11.0~), - qtdeclarative5-dev (>= 5.11.0~), - qttools5-dev, + qtbase5-dev (>= 5.8.0~), + qtdeclarative5-dev (>= 5.8.0~), qttools5-dev-tools, Standards-Version: 4.1.4 Homepage: https://projects.kde.org/projects/kde/workspace/bluez-qt -Vcs-Git: https://salsa.debian.org/qt-kde-team/kde/bluez-qt.git -Vcs-Browser: https://salsa.debian.org/qt-kde-team/kde/bluez-qt +Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/bluez-qt +Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/bluez-qt Package: libkf5bluezqt-data Architecture: all @@ -32,10 +31,10 @@ Description: data files for bluez-qt This package contains the data files. Package: libkf5bluezqt-dev -Section: libdevel Architecture: linux-any +Section: libdevel Depends: libkf5bluezqt6 (= ${binary:Version}), - qtbase5-dev (>= 5.11.0~), + qtbase5-dev (>= 5.8.0~), ${misc:Depends}, Recommends: libkf5bluezqt-doc (= ${source:Version}) Description: development files for bluez-qt @@ -45,6 +44,7 @@ Description: development files for bluez Package: libkf5bluezqt-doc Architecture: all Multi-Arch: foreign +Section: doc Depends: ${misc:Depends}, ${shlibs:Depends} Description: documentation files for bluez-qt bluez-qt is a Qt-style library for accessing the bluez Bluetooth stack. @@ -52,15 +52,14 @@ Description: documentation files for blu It is used by the KDE Bluetooth stack, BlueDevil. . This package contains the qch documentation files. -Section: doc Package: libkf5bluezqt6 Architecture: linux-any Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} Depends: libkf5bluezqt-data (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}, +Pre-Depends: ${misc:Pre-Depends} Description: Qt wrapper for bluez bluez-qt is a Qt-style library for accessing the bluez Bluetooth stack. .
  5. Download patch debian/libkf5bluezqt-data.maintscript

    --- 5.62.0-1/debian/libkf5bluezqt-data.maintscript 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/libkf5bluezqt-data.maintscript 2019-09-14 07:04:41.000000000 +0000 @@ -1 +1 @@ -rm_conffile /etc/xdg/bluez.categories 5.61.0-1~~ +rm_conffile /etc/xdg/bluez.categories
  6. Download patch debian/tests/testsuite

    --- 5.62.0-1/debian/tests/testsuite 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/tests/testsuite 2019-09-14 07:04:41.000000000 +0000 @@ -1,5 +1,8 @@ #!/bin/sh +DEB_TARGET_ARCH=$(dpkg-architecture -qDEB_TARGET_ARCH) +if [ $DEB_TARGET_ARCH != 'amd64' ]; then exit 0; fi + [ -e debian/tests.home ] || mkdir debian/tests.home export HOME="$(pwd)/debian/tests.home" mkdir -p "$HOME"/.config || true
  7. Download patch debian/salsa-ci.yml

    --- 5.62.0-1/debian/salsa-ci.yml 2019-09-20 17:12:49.000000000 +0000 +++ 5.62.0-0ubuntu1/debian/salsa-ci.yml 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -include: - - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml -variables: - SALSA_CI_DISABLE_MISSING_BREAKS: 'no' - SALSA_CI_DISABLE_RC_BUGS: 'no' - SALSA_CI_REPROTEST_ARGS: '--variations=-build-path'
  1. bluez
  2. bluez-qt