diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 0000000..07d854f
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,167 @@
+bluez-utils (4.40-1) unstable; urgency=low
+
+  This version includes a new hid2hci program which expects the vendor ID and
+  product ID of the device to be switched to HID/HCI mode, this means the
+  switching is no longer done in init script but via udev rules for supported
+  devices. Adding new devices can be done by dropping rules into
+  /etc/udev/rules.d/ similar to ones found in
+  /lib/udev/rules.d/62-bluez-hid2hci.rules or by manually running hid2hci, see
+  hid2hci(8) manpage for further information.
+
+  This version also ships a simple commandline agent (bluetooth-agent) to do
+  pairing on the command line 
+
+ -- Filippo Giunchedi <filippo@debian.org>  Fri, 22 May 2009 15:21:35 +0200
+
+bluez-utils (3.36-3) unstable; urgency=low
+
+  This version includes an new d-bus policy with updated access control.
+  As a result of this, only users of netdev group or which are in front of the
+  computer (i.e. match the at_console="true" rule) are able to communicate
+  with hcid via dbus. See also #510644.
+
+ -- Filippo Giunchedi <filippo@debian.org>  Thu, 08 Jan 2009 18:35:38 +0100
+
+bluez-utils (3.30-2) unstable; urgency=low
+
+  This upstream version switches the service infrastructure from external
+  processes to shared objects. Services (i.e. audio) are started automatically
+  and do not require a .service file in /etc/bluetooth/. audio.service will be
+  removed automatically by the upgrade unless modified.
+
+ -- Filippo Giunchedi <filippo@debian.org>  Mon, 14 Apr 2008 17:34:21 +0200
+
+bluez-utils (3.7-1) unstable; urgency=low
+
+  This version reverts the /etc/bluetooth/passkeys infrastructure as agents for
+  passkeys are not supposed to be system-wide.
+  A bluez-passkey-gnome is provided as a passkey agent, plus there's a example
+  passkey-agent in /usr/share/doc/bluez-utils/examples/passkey-agent.c 
+
+ -- Filippo Giunchedi <filippo@debian.org>  Sat,  7 Oct 2006 11:43:09 +0200
+
+bluez-utils (3.1-3) unstable; urgency=low
+
+  This version includes a new management for outgoing passkey (PIN) requests
+  while the incoming passkeys defaults to 1234 in /etc/bluetooth/hcid.conf.
+  See README.Debian for further informations. 
+
+ -- Filippo Giunchedi <filippo@debian.org>  Wed, 26 Jul 2006 11:37:14 +0200
+
+bluez-utils (3.1-1) unstable; urgency=low
+
+  This new upstream version removes the need for external pin helper, pin
+  requests are handled via dbus.  The default pin (or now-called "passkey") is
+  set to 1234 for backward compatibility.
+
+  Also, udev rules for pcmcia card are included along with
+  /lib/udev/bluetooth.sh (setserial required) in the bluez-pcmcia-support.
+
+ -- Filippo Giunchedi <filippo@debian.org>  Wed, 26 Jul 2006 11:37:02 +0200
+
+bluez-utils (2.24-1) unstable; urgency=low
+
+  This version moves /etc/{init.d,default}/bluez-utils to
+  /etc/{init.d,default}/bluetooth for LSB compilance.
+  If local modifications are detected the new files will be installed with
+  the ".dpkg-new" suffix
+
+ -- Filippo Giunchedi <filippo@debian.org>  Wed,  7 Jun 2006 13:57:35 +0200
+
+bluez-utils (2.19-1) unstable; urgency=high
+
+  * Includes new D-BUS support: sends signals for inquiry results and
+    remote name resolves.
+
+  * Also adds support for device-specific SDP records.
+
+ -- Edd Dumbill <ejad@debian.org>  Fri, 19 Aug 2005 01:12:02 +0100
+
+bluez-utils (2.9-1) unstable; urgency=low
+
+  * This release improves input device support: EPoX keyboards and
+    their new HID presenters should now work correctly in report
+    protocol mode.
+
+ -- Edd Dumbill <ejad@debian.org>  Sun,  8 Aug 2004 15:19:24 +0100
+
+bluez-utils (2.8-1) unstable; urgency=low
+
+  * Users of dongles with HID proxy capability (this is where the dongle
+    pretends to be a keyboard and mouse until it is switched into Bluetooth
+    mode, allowing Bluetooth input devices to be used in BIOS etc.) are
+    now supported.  The switch is made as part of the bluez-utils init
+    script.
+
+ -- Edd Dumbill <ejad@debian.org>  Mon, 14 Jun 2004 14:24:12 +0100
+
+bluez-utils (2.7-1) experimental; urgency=low
+
+  * Upstream has merged bluez-pan with this package.  You should
+    remove the /etc/init.d/bluez-pan script, and use 
+    /etc/default/bluez-utils to configure dund and pand, although
+    for the moment the old /etc/default/bluez-pan is also read.
+
+  * This source package now has Bluetooth printing support, which
+    is built into the bluez-cups binary package.
+
+  * DBUS support has been enabled in this build.  To use it, add
+    'dbus_pin_helper' into the options section, and comment out
+    the pin_helper.  DBUS-aware pin helpers such as that in
+    bluez-pin will now be used.
+
+  * Bluetooth HID devices (eg, mouse, keyboard) are now supported
+    for Linux 2.6.6 or better running the hidp patch from bluez.org.
+    If running these, set HIDD_ENABLED to 1 in /etc/default/bluez-utils
+    to enable support, then run hidd --connect <bdaddr> to connect
+    to your keyboard or mouse.
+
+ -- Edd Dumbill <ejad@debian.org>  Wed, 26 May 2004 12:43:08 +0100
+
+bluez-utils (2.6-1) experimental; urgency=low
+
+  * Upstream has merged bluez-sdp with this package. The sdp tools
+    are now in this package.  You should remove the /etc/init.d/bluez-sdp
+    script.
+
+  * All tools from /sbin now live in /usr/sbin: hciattach hciconfig
+    hcid l2ping.
+
+ -- Edd Dumbill <ejad@debian.org>  Thu,  6 May 2004 11:58:16 +0100
+
+bluez-utils (2.4-4) unstable; urgency=high
+
+  * If you still use the old 'bluepin' PIN assistant: note it has moved
+    from /bin/ to /usr/bin/.  You will need to update your hcid.conf
+    accordingly.  Even better, install bluez-pin and use the helper from
+    there instead.
+  * hcitool has also moved to /usr/bin, and l2ping to /sbin.
+
+ -- Edd Dumbill <ejad@debian.org>  Wed, 15 Jan 2004 18:37:32 +0000
+
+bluez-utils (2.4-3) unstable; urgency=low
+
+  * If you're using devfsd and a recent Linux kernel (2.4.22 or later, or
+    2.6.x), remove the file /etc/devfs/devices.d/bluez and run update-devfsd.
+    This will stop your system complaining when devfsd is started.  This
+    package no longer installs that file, but you must remove it yourself.
+    If you need it in future, you can find it in /usr/share/doc/bluez-utils.
+
+ -- Edd Dumbill <ejad@debian.org>  Wed, 14 Jan 2004 21:14:35 +0000
+
+bluez-utils (2.4-1) unstable; urgency=low
+
+  * The rfcomm program has changed slightly: you now need a "bind yes"
+    in each entry in /etc/bluetooth/rfcomm.conf to ensure they are bound
+    at startup time.  See man rfcomm for more details.
+
+ -- Edd Dumbill <ejad@debian.org>  Thu,  1 Jan 2004 18:38:35 +0100
+
+bluez-utils (2.3-2) unstable; urgency=low
+
+  * This package now depends on a new PIN helper bluez-pin.  If you are
+    upgrading this package and want to use the new helper instead of the
+    default one (highly recommended) then alter your pin_helper line in
+    /etc/bluetooth/hcid.conf to specify /usr/bin/bluez-pin.
+
+ -- Edd Dumbill <ejad@debian.org>  Thu, 28 Aug 2003 12:38:35 +0100
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..59874c8
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,142 @@
+bluez for Debian
+================
+
+The /dev/rfcomm* serial devices entries are automatically created for using
+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.
+
+Some USB dongles require firmware to make them work: bluez-firmware from the
+"non-free" section provides the required firmware.
+
+
+Mailing lists and documentation
+-------------------------------
+The old sourceforge lists have been discontinued, the new lists can be found at:
+
+http://www.bluez.org/development/lists/
+
+PIN (or passkey) management
+---------------------------
+Interaction with the local user can be required while BT connection is
+being established (pairing process) and the PIN is not yet known or
+needs to be changed.
+
+To retrieve the passkey (or PIN) from the user a service program (agent)
+running in user's interactive session needs to be prepared and listen
+for requests of the bluez daemon when pairing begins.
+
+Examples of such programs are kblueplugd (kdebluetooth package) and
+bluetooth-applet (bluez-gnome or gnome-bluetooth packages). A minimal
+command-line agent is also provided by bluez-simple-agent.
+
+For example, you can execute bluetoothctl as follows.
+
+$ bluetoothctl                       <-- Start bluetoothctl
+[NEW] Controller XX:XX:XX:XX:XX:FE test [default]
+[bluetooth]# scan on                 <-- Scan enable
+Discovery started
+[CHG] Controller XX:XX:XX:XX:XX:FE Discovering: yes
+[NEW] Device XX:XX:XX:XX:XX:BF A device
+[bluetooth]# pair XX:XX:XX:XX:XX:BF  <-- Pairing to XX:XX:XX:XX:XX:BF
+Attempting to pair with XX:XX:XX:XX:XX:BF
+[CHG] Device XX:XX:XX:XX:XX:BF Connected: yes
+[CHG] Device XX:XX:XX:XX:XX:BF Modalias: bluetooth:v000Fp1200d1436
+[CHG] Device XX:XX:XX:XX:XX:BF UUIDs:
+	00001105-0000-1000-8000-00805f9b34fb
+	0000110a-0000-1000-8000-00805f9b34fb
+	0000110c-0000-1000-8000-00805f9b34fb
+	00001112-0000-1000-8000-00805f9b34fb
+	00001115-0000-1000-8000-00805f9b34fb
+	00001116-0000-1000-8000-00805f9b34fb
+	0000111f-0000-1000-8000-00805f9b34fb
+	0000112f-0000-1000-8000-00805f9b34fb
+	00001200-0000-1000-8000-00805f9b34fb
+[CHG] Device XX:XX:XX:XX:XX:BF Paired: yes
+Pairing successful
+[CHG] Device XX:XX:XX:XX:XX:BF Connected: no
+
+Sound support
+++++++++++++++++++++++++++++++++++++
+
+Need update.
+
+
+Keyboard and mouse support
+++++++++++++++++++++++++++++++++++++
+Here explain how to configure the keyboard and mouse using bluetoothctl.
+
+1. Start bluetoothctl.
+
+  Please run the bluetoothctl. When you run, the shell of bluetoothctl starts.
+
+  $ bluetoothctl
+  [NEW] Controller XX:XX:XX:XX:XX:FE test [default]
+  [bluetooth]#
+
+2. Enable scan.
+
+  Run the "scan on", and enable the scan mode.
+  Once enabled, HCI can search for the Bluetooth devices.
+  In the following, HCI find the XX:XX:XX:XX:XX:AA as a mouse (BT-MS01).
+  
+  [bluetooth]# scan on
+  Discovery started
+  [CHG] Controller XX:XX:XX:XX:XX:FE Discovering: yes
+  [NEW] Device XX:XX:XX:XX:XX:AA BT-MS01
+  [bluetooth]#
+
+3. Pairing to device
+
+  Specify the MAC address of the device you want to pair to 'pair' command.
+
+  [bluetooth]# pair XX:XX:XX:XX:XX:AA
+  Attempting to pair with XX:XX:XX:XX:XX:AA
+  [CHG] Device XX:XX:XX:XX:XX:AA Connected: yes
+  [bluetooth]#
+
+4. Set trust to device
+
+  Specify the MAC address of the device you want to trust to 'trust' command.
+
+  [bluetooth]# trust XX:XX:XX:XX:XX:AA
+  [CHG] Device XX:XX:XX:XX:XX:AA Trusted: yes
+  Changing XX:XX:XX:XX:XX:AA trust succeeded
+  [bluetooth]#
+
+5. Connect to device
+
+
+  Specify the MAC address of the device you want to connect to 'connect' command.
+
+  [bluetooth]# connect XX:XX:XX:XX:XX:AA
+  [CHG] Device 00:1B:DC:32:E2:19 Connected: yes
+  [CHG] Device 00:1B:DC:32:E2:19 Modalias: usb:v0111p0202d001E
+  [CHG] Device 00:1B:DC:32:E2:19 Modalias: usb:v0111p0202d001E
+  [CHG] Device 00:1B:DC:32:E2:19 UUIDs has unsupported type
+  Connection successful
+
+6. Show status of device
+
+  You can check the state of device, use the info command.
+
+  [bluetooth]# info XX:XX:XX:XX:XX:AA
+  Device XX:XX:XX:XX:XX:AA
+    Name: BT-MS01
+    Alias: BT-MS01
+    Class: 0x002580
+    Icon: input-mouse
+    Paired: yes
+    Trusted: yes
+    Blocked: no
+    Connected: yes
+    LegacyPairing: no
+    UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
+    UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
+    Modalias: usb:v0111p0202d001E
+
diff --git a/debian/README.examples b/debian/README.examples
new file mode 100644
index 0000000..0ea1ca9
--- /dev/null
+++ b/debian/README.examples
@@ -0,0 +1,2 @@
+These examples are from the test/ directory of bluez distribution, you'll need
+python-gi and python-dbus to run some of them.
diff --git a/debian/bluetooth.lintian-overrides b/debian/bluetooth.lintian-overrides
new file mode 100644
index 0000000..41f6aea
--- /dev/null
+++ b/debian/bluetooth.lintian-overrides
@@ -0,0 +1,2 @@
+# package description looks fine, "Bluetooth stack utilities"
+bluetooth binary: description-starts-with-package-name
diff --git a/debian/bluez-cups.README.Debian b/debian/bluez-cups.README.Debian
new file mode 100644
index 0000000..a5d57b6
--- /dev/null
+++ b/debian/bluez-cups.README.Debian
@@ -0,0 +1,11 @@
+bluez-cups
+
+To configure a Bluetooth printer, set it up in CUPS like it was connected to
+your parallel or USB port. Then edit your /etc/cups/printers.conf and replace
+the device URI with a bluetooth one.
+
+The printer's URI will look something like this: bluetooth://00408C5E5DA4/spp
+If your printer uses HCRP (hardcopy cable replacement protocol) then remove
+the "/spp" from the end.  SPP is serial port protocol.
+
+ -- Edd Dumbill <ejad@debian.org>, Fri Jul 16 19:25:21 BST 2004
diff --git a/debian/bluez-cups.install b/debian/bluez-cups.install
new file mode 100644
index 0000000..f974714
--- /dev/null
+++ b/debian/bluez-cups.install
@@ -0,0 +1 @@
+usr/lib/*/cups/backend/bluetooth usr/lib/cups/backend
diff --git a/debian/bluez-hcidump.install b/debian/bluez-hcidump.install
new file mode 100644
index 0000000..1f3965e
--- /dev/null
+++ b/debian/bluez-hcidump.install
@@ -0,0 +1,2 @@
+usr/bin/hcidump
+usr/share/man/man1/hcidump.1
diff --git a/debian/bluez-obexd.install b/debian/bluez-obexd.install
new file mode 100644
index 0000000..45447c5
--- /dev/null
+++ b/debian/bluez-obexd.install
@@ -0,0 +1,3 @@
+usr/lib/bluetooth/obexd
+usr/share/dbus-1/services/org.bluez.obex.service
+usr/lib/systemd/user/obex.service
diff --git a/debian/bluez-test-scripts.docs b/debian/bluez-test-scripts.docs
new file mode 100644
index 0000000..d7b3c3f
--- /dev/null
+++ b/debian/bluez-test-scripts.docs
@@ -0,0 +1 @@
+debian/README.examples
diff --git a/debian/bluez-test-scripts.examples b/debian/bluez-test-scripts.examples
new file mode 100644
index 0000000..ab1cfb4
--- /dev/null
+++ b/debian/bluez-test-scripts.examples
@@ -0,0 +1 @@
+test/*
diff --git a/debian/bluez-test-tools.install b/debian/bluez-test-tools.install
new file mode 100644
index 0000000..7baa6f1
--- /dev/null
+++ b/debian/bluez-test-tools.install
@@ -0,0 +1,4 @@
+tools/*-tester usr/bin
+emulator/b1ee usr/bin
+emulator/btvirt usr/bin
+emulator/hfp usr/bin
diff --git a/debian/bluez.bluetooth.default b/debian/bluez.bluetooth.default
new file mode 100644
index 0000000..5b604a1
--- /dev/null
+++ b/debian/bluez.bluetooth.default
@@ -0,0 +1,20 @@
+# 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
diff --git a/debian/bluez.bluetooth.init b/debian/bluez.bluetooth.init
new file mode 100644
index 0000000..01a1923
--- /dev/null
+++ b/debian/bluez.bluetooth.init
@@ -0,0 +1,134 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: bluetooth
+# Required-Start:    $local_fs $syslog $remote_fs dbus
+# Required-Stop:     $local_fs $syslog $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start bluetooth daemons
+### END INIT INFO
+#
+# bluez    Bluetooth subsystem starting and stopping
+#
+# originally from bluez's scripts/bluetooth.init
+#
+# Edd Dumbill <ejad@debian.org>
+# LSB 3.0 compilance and enhancements by Filippo Giunchedi <filippo@debian.org>
+#
+# Updated for bluez 4.7 by Mario Limonciello <mario_limonciello@dell.com>
+# Updated for bluez 5.5 by Nobuhiro Iwamatsu <iwamatsu@debian.org>
+#
+# Note: older daemons like dund pand hidd are now shipped inside the
+# bluez-compat package
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC=bluetooth
+
+DAEMON=/usr/sbin/bluetoothd
+HCIATTACH=/usr/bin/hciattach
+
+HID2HCI_ENABLED=1
+HID2HCI_UNDO=1
+
+SDPTOOL=/usr/bin/sdptool
+
+# If you want to be ignore error of "org.freedesktop.hostname1",
+# please enable NOPLUGIN_OPTION.
+# NOPLUGIN_OPTION="--noplugin=hostname"
+NOPLUGIN_OPTION=""
+SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- $NOPLUGIN_OPTION"
+
+test -f $DAEMON || exit 0
+
+# FIXME: any of the sourced files may fail if/with syntax errors
+test -f /etc/default/bluetooth && . /etc/default/bluetooth
+test -f /etc/default/rcS && . /etc/default/rcS
+
+. /lib/lsb/init-functions
+
+set -e
+
+# FIXME: this function is possibly a no-op
+run_sdptool()
+{
+	# declaring IFS local in this function, removes the need to
+	# save/restore it
+	local IFS o
+
+	test -x $SDPTOOL || return 1
+
+# FIXME: where does SDPTOOL_OPTIONS come from?
+	if ! test -z "$SDPTOOL_OPTIONS" ; then
+		IFS=";"
+		for o in $SDPTOOL_OPTIONS ; do
+			#echo "execing $SDPTOOL $o"
+			IFS=" "
+			if [ "$VERBOSE" != no ]; then
+				$SDPTOOL $o
+			else
+				$SDPTOOL $o >/dev/null 2>&1
+			fi
+		done
+	fi
+}
+
+hci_input()
+{
+    log_progress_msg "switching to HID/HCI no longer done in init script, see /usr/share/doc/bluez/NEWS.Debian.gz" || :
+}
+alias enable_hci_input=hci_input
+alias disable_hci_input=hci_input
+
+case $1 in
+  start)
+	log_daemon_msg "Starting $DESC"
+
+	if test "$BLUETOOTH_ENABLED" = 0; then
+		log_progress_msg "disabled. see /etc/default/bluetooth"
+		log_end_msg 0
+		exit 0
+	fi
+
+	start-stop-daemon --start --background $SSD_OPTIONS
+	log_progress_msg "${DAEMON##*/}"
+
+	run_sdptool || :
+
+	if test "$HID2HCI_ENABLED" = 1; then
+		enable_hci_input
+	fi
+
+	log_end_msg 0
+  ;;
+  stop)
+	log_daemon_msg "Stopping $DESC"
+	if test "$BLUETOOTH_ENABLED" = 0; then
+		log_progress_msg "disabled."
+		log_end_msg 0
+		exit 0
+	fi
+	if test "$HID2HCI_UNDO" = 1; then
+		disable_hci_input
+	fi
+	start-stop-daemon --stop $SSD_OPTIONS
+	log_progress_msg "${DAEMON}"
+	log_end_msg 0
+  ;;
+  restart|force-reload)
+	$0 stop
+	sleep 1
+	$0 start
+  ;;
+  status)
+	status_of_proc "$DAEMON" "$DESC" && exit 0 || exit $?
+  ;;
+  *)
+	N=/etc/init.d/bluetooth
+	echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
+
+# vim:noet
diff --git a/debian/bluez.dirs b/debian/bluez.dirs
new file mode 100644
index 0000000..e772481
--- /dev/null
+++ b/debian/bluez.dirs
@@ -0,0 +1 @@
+usr/bin
diff --git a/debian/bluez.docs b/debian/bluez.docs
new file mode 100644
index 0000000..e174728
--- /dev/null
+++ b/debian/bluez.docs
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/debian/bluez.install b/debian/bluez.install
new file mode 100644
index 0000000..231d2a2
--- /dev/null
+++ b/debian/bluez.install
@@ -0,0 +1,30 @@
+src/main.conf etc/bluetooth
+profiles/input/input.conf etc/bluetooth
+profiles/network/network.conf etc/bluetooth
+usr/lib/bluetooth/bluetoothd
+usr/bin/bluetoothctl
+usr/bin/bccmd
+usr/bin/bluemoon
+usr/bin/btattach
+usr/bin/btmon
+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/btmgmt usr/bin
+tools/obexctl usr/bin
+lib/udev/hid2hci
+lib/udev/rules.d/97-hid2hci.rules
+attrib/gatttool usr/bin
+#-- for systemd
+lib/systemd/system/bluetooth.service
+etc/dbus-1/system.d/bluetooth.conf
+usr/share/dbus-1/system-services/org.bluez.service
diff --git a/debian/bluez.links b/debian/bluez.links
new file mode 100644
index 0000000..536c8e8
--- /dev/null
+++ b/debian/bluez.links
@@ -0,0 +1 @@
+usr/lib/bluetooth/bluetoothd usr/sbin/bluetoothd
diff --git a/debian/bluez.manpages b/debian/bluez.manpages
new file mode 100644
index 0000000..1c93b09
--- /dev/null
+++ b/debian/bluez.manpages
@@ -0,0 +1,21 @@
+debian/tmp/usr/share/man/man1/bccmd.1
+debian/tmp/usr/share/man/man1/btattach.1
+debian/tmp/usr/share/man/man1/ciptool.1
+debian/tmp/usr/share/man/man1/hciattach.1
+debian/tmp/usr/share/man/man1/hciconfig.1
+debian/tmp/usr/share/man/man1/hcitool.1
+debian/tmp/usr/share/man/man1/hid2hci.1
+debian/tmp/usr/share/man/man1/l2ping.1
+debian/tmp/usr/share/man/man1/rctest.1
+debian/tmp/usr/share/man/man1/rfcomm.1
+debian/tmp/usr/share/man/man1/sdptool.1
+debian/tmp/usr/share/man/man8/bluetoothd.8
+debian/manpages/l2test.1
+debian/manpages/btmon.1
+debian/manpages/bluetoothctl.1
+debian/manpages/gatttool.1
+debian/manpages/bluemoon.1
+debian/manpages/hex2hcd.1
+debian/manpages/mpris-proxy.1
+debian/manpages/btmgmt.1
+debian/manpages/obexctl.1
diff --git a/debian/bluez.postinst b/debian/bluez.postinst
new file mode 100644
index 0000000..2659aef
--- /dev/null
+++ b/debian/bluez.postinst
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports rm_conffile; then
+        for conffile in \
+                "/etc/bluetooth/network.service" \
+                "/etc/bluetooth/serial.service" \
+                "/etc/bluetooth/input.service"; do
+                dpkg-maintscript-helper rm_conffile \
+                        "${conffile}" 3.30-1 bluez-utils -- "$@"
+        done
+        dpkg-maintscript-helper rm_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf 3.7-1 bluez-utils -- "$@"
+
+        for conffile in \
+                /etc/bluetooth/rfcomm.conf \
+                /etc/bluetooth/serial.conf \
+                /etc/bluetooth/audio.conf; do \
+                dpkg-maintscript-helper rm_conffile \
+                        ${conffile} 5.21-2 bluez -- "$@"
+done
+fi
+
+if dpkg-maintscript-helper supports mv_conffile; then
+        dpkg-maintscript-helper mv_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf \
+                /etc/dbus-1/system.d/bluetooth.conf 3.7-1 bluez -- "$@"
+
+        dpkg-maintscript-helper mv_conffile \
+                /etc/modprobe.d/bluez /etc/modprobe.d/bluez.conf 4.42-1 bluez -- "$@"
+fi
+
+case "$1" in
+    configure)
+        # create bluetooth group if not already present
+        if ! getent group bluetooth > /dev/null; then
+            addgroup --quiet --system bluetooth
+        fi
+
+        # reload dbus config file
+        if [ -x /etc/init.d/dbus ]; then
+            invoke-rc.d dbus force-reload || true
+        fi
+
+        ;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/bluez.postrm b/debian/bluez.postrm
new file mode 100644
index 0000000..65bd69f
--- /dev/null
+++ b/debian/bluez.postrm
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+#DEBHELPER#
+
+set -e
+
+if dpkg-maintscript-helper supports rm_conffile; then
+        for conffile in \
+                "/etc/bluetooth/network.service" \
+                "/etc/bluetooth/serial.service" \
+                "/etc/bluetooth/input.service"; do
+                dpkg-maintscript-helper rm_conffile \
+                        "${conffile}" 3.30-1 bluez-utils -- "$@"
+        done
+        dpkg-maintscript-helper rm_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf 3.7-1 bluez-utils -- "$@"
+
+        for conffile in \
+                /etc/bluetooth/rfcomm.conf \
+                /etc/bluetooth/serial.conf \
+                /etc/bluetooth/audio.conf; do \
+                dpkg-maintscript-helper rm_conffile \
+                        ${conffile} 5.21-2 bluez -- "$@"
+done
+fi
+
+if dpkg-maintscript-helper supports mv_conffile; then
+        dpkg-maintscript-helper mv_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf \
+                /etc/dbus-1/system.d/bluetooth.conf 3.7-1 bluez -- "$@"
+
+        dpkg-maintscript-helper mv_conffile \
+                /etc/modprobe.d/bluez /etc/modprobe.d/bluez.conf 4.42-1 bluez -- "$@"
+fi
diff --git a/debian/bluez.preinst b/debian/bluez.preinst
new file mode 100644
index 0000000..31730e4
--- /dev/null
+++ b/debian/bluez.preinst
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports rm_conffile; then
+        for conffile in \
+                "/etc/bluetooth/network.service" \
+                "/etc/bluetooth/serial.service" \
+                "/etc/bluetooth/input.service"; do
+                dpkg-maintscript-helper rm_conffile \
+                        "${conffile}" 3.30-1 bluez-utils -- "$@"
+        done
+        dpkg-maintscript-helper rm_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf 3.7-1 bluez-utils -- "$@"
+
+        for conffile in \
+                /etc/bluetooth/rfcomm.conf \
+                /etc/bluetooth/serial.conf \
+                /etc/bluetooth/audio.conf; do \
+                dpkg-maintscript-helper rm_conffile \
+                        ${conffile} 5.21-2 bluez -- "$@"
+
+	done
+
+        for conffile in \
+                /etc/bluetooth/proximity.conf; do \
+                dpkg-maintscript-helper rm_conffile \
+                        ${conffile} 5.50-1~ bluez -- "$@"
+	done
+fi
+
+if dpkg-maintscript-helper supports mv_conffile; then
+        dpkg-maintscript-helper mv_conffile \
+                /etc/dbus-1/system.d/bluez-hcid.conf \
+                /etc/dbus-1/system.d/bluetooth.conf 3.7-1 bluez -- "$@"
+
+        dpkg-maintscript-helper mv_conffile \
+                /etc/modprobe.d/bluez /etc/modprobe.d/bluez.conf 4.42-1 bluez -- "$@"
+fi
+
+#DEBHELPER#
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..ddb0d41
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,936 @@
+bluez-imx (5.50+imx-0) unstable; urgency=medium
+
+  * Initial release
+
+ -- AIY Projects <support-aiyprojects@google.com>  Mon, 30 Jul 2018 11:46:24 -0800
+
+bluez (5.50-1) unstable; urgency=medium
+
+  * Update to 5.50.
+  * Fixed the version to be deleted of the conf file. (Closes: #877482)
+  * Add more details to change the default "Name" of device in main.conf
+    (Closes: #904212)
+    Add patches/main.conf-Add-more-details-Closes-904212.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sun, 29 Jul 2018 11:46:24 +0900
+
+bluez (5.49-4) unstable; urgency=medium
+
+  * Change team mail address.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 23 May 2018 12:36:15 +0900
+
+bluez (5.49-3) unstable; urgency=medium
+
+  * Fix syntax error in bluez preinst script. (Closes: #899340)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 23 May 2018 11:35:59 +0900
+
+bluez (5.49-2) unstable; urgency=medium
+
+  * Fix bluetoothd segfault in btd_adv_manager_refresh() (Closes: #898201)
+    Add patches/adapter-Fix-accessing-NULL-adv_manager.patch. 
+    Cherry-picked from 37a30b5435a45c3f8e233309fc70fc7de92b2e76.
+  * Fix segfault after PIN entry. (Closes: #884663)
+    Add patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch.
+  * Remove obsolete conf file by bluez.preinst. (Closes: #877482)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 23 May 2018 08:29:05 +0900
+
+bluez (5.49-1) unstable; urgency=medium
+
+  * Update to 5.49.
+  * Remove patches/0002-autopair-Don-t-handle-the-iCade.patch.
+    This patch was applied to upstream.
+  * Add patches/Fix-typo.patch.
+  * Remove libbluetooth3-dbg and bluez-dbg.
+  * Remove dh-systemd from B-D.
+  * Bump Standards-Version to 4.1.3.
+  * Change Vcs-Browser and Vcs-Git to salsa.
+  * Update manpages (Closes: #867948).
+  * Remove dh-autoreconf and autotools-dev from B-D.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 19 Mar 2018 09:24:02 +0900
+
+bluez (5.47-1) unstable; urgency=medium
+
+  * Update to 5.47. (Closes: #876849)
+  * Update debian/control.
+    - Bump Standards-Version to 4.1.0.
+    - Update to debhelper 10.
+    - Remove dh-systemd, autotools-dev and dh-autoreconf from B-D.
+  * Remove patches/fix_udevadm_in_hid2hci.patch.
+  * Remove patches/CVE-2017-1000250.patch.
+  * Remove profiles/proximity/proximity.conf from debian/bluez.install.
+  * Remove copyrtight of alert, cyclingspeed, heartrate and proximity.
+  * Fix missing-call-to-dpkg-maintscript-helper in bluez.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 22 Sep 2017 12:10:14 +0900
+
+bluez (5.46-1) unstable; urgency=medium
+
+  * CVE-2017-1000250: information disclosure vulnerability in
+    service_search_attr_req (Closes: #875633)
+    Add patches/CVE-2017-1000250.patch. Thanks to Salvatore Bonaccorso.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 29 Jul 2017 04:56:04 +0900
+
+bluez (5.45-1) unstable; urgency=medium
+
+  * Update to 5.45.
+  * Change VCS from svn to git.
+  * Update debian/control.
+    - Add libasound2-dev to B-D.
+    - Add libdw-dev to B-D.
+    - Update Vcs-Browser and Vcs-Git field.
+  * Remove debian/patches/fix-typo-in-src-main.conf.patch
+  * Update debian/patches/main.conf.patch
+
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sun, 02 Jul 2017 09:07:00 +0900
+
+bluez (5.43-2) unstable; urgency=medium
+
+  * Fix bluez-obexd service is not started under systemd. (Closes: #804908)
+    Add patches/org.bluez.obex.service.in.patch.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 18 Mar 2017 00:25:38 +0900
+
+bluez (5.43-1) unstable; urgency=medium
+
+  * Update to 5.43. (Closes: #840983)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 01 Nov 2016 07:04:47 +0900
+
+bluez (5.41-1) unstable; urgency=medium
+
+  * Update to 5.41. (Closes: #771627, #835901)
+  * Update debian/rules.
+    - Add --list-missing option to dh_install.
+  * Update debian/patches
+    - Add patches/0002-autopair-Don-t-handle-the-iCade.patch.
+      iCade support by autopair.
+    - Add patches/0004-agent-Assert-possible-infinite-loop.patch.
+      Show assert if possible infinite loop.
+    - Add patches/fix_udevadm_in_hid2hci.patch.
+      Change path of udevadm from /sbin to /bin.
+    - Add patches/main.conf.patch.
+      Set AutoEnable to true in Policy.
+    - Add patches/fix-typo-in-src-main.conf.patch. (Closes: #833883)
+   * Add pulseaudio-module-bluetooth to Suggests of bluez. (Closes: #815323)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 01 Oct 2016 08:17:01 +0900
+
+bluez (5.40-1~exp0) experimental; urgency=medium
+
+  * Update to 5.40. (Closes: #824163, #824732)
+  * Update debian/control.
+    - Bumped Standards-Version to 3.9.8.
+  * Update debian/rules.
+    - Remove --enable-usb from option of configure.
+      This option does not support current version.
+  * Add btattach, rctest and sdptool. (Closes: #816865)
+  * Add bluez-test-tools package. (Closes: #795350)
+    This package contains *-tester program.
+  * Update debian/copyright to DEP5 format.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 30 Jun 2016 11:29:37 +0900
+
+bluez (5.36-1) unstable; urgency=medium
+
+  * Update to 5.36.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 07 Nov 2015 11:47:02 +0900
+
+bluez (5.33-1) unstable; urgency=medium
+
+  * Update to 5.33.
+  * Remove patches/fix_ftbfs_with_c99.patch.
+  * Update patches/bluetooth.conf.patch and
+    patches/change_path_of_hogsuspend.patch.
+  * Update libbluetooth3.symbols.
+  * Update control.
+    - Bumped Standards-Version to 3.9.6.
+  * Add manpage of gatttool. (Closes: #786489)
+  * Add bluemoon, hex2hcd and mpris-proxy to bluez. (Closes: #780015)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 18 Aug 2015 20:59:23 +0900
+
+bluez (5.23-2) unstable; urgency=medium
+
+  * debian/control.
+    - Remove Provides: obex-server, obexd-client from bluez-obexd.
+      (Closes: #771290)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 16 Sep 2014 14:17:30 +0900
+
+bluez (5.23-1) unstable; urgency=high
+
+  * New upstream release. Update to 5.23.
+  * Add patches/change_path_of_hogsuspend.patch. (Closes: #759188, #758979)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 16 Sep 2014 09:01:37 +0900
+
+bluez (5.21-3) unstable; urgency=medium
+
+  * Remove old conf files. (Closes: #737502, #756890)
+  * Remove rfcomm support from init script. (Closes: #754830)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 09 Aug 2014 03:48:22 +0900
+
+bluez (5.21-2) unstable; urgency=medium
+
+  * Fix FTBFS with C99. (Closes: #755345)
+    Add patches/fix_ftbfs_with_c99.patch.
+  * Add support user session of obexd. (Closes: #754675)
+    Add patches/0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch
+    and patches/0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch.
+  * Update bluez.bluetooth.init. (Closes: #754830, #712386, #737502)
+    Remove -f option of rfcomm.
+  * Move hciconfig from /usr to /bin.
+  * Update path of hciconfig in 50-bluetooth-hci-auto-poweron.rules.
+    (Closes: #755274)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 22 Jul 2014 09:25:12 +0900
+
+bluez (5.21-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Update README.Debian.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 14 Jul 2014 08:21:17 +0900
+
+bluez (5.21-1~exp0) experimental; urgency=medium
+
+  * New upstream release. Update to 5.21.
+  * Remove version from obexd-server and obexd-client.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 08 Jul 2014 07:34:03 +0900
+
+bluez (5.20-1~exp0) experimental; urgency=medium
+
+  * New upstream release. Update to 5.20.
+  * Update debian/bluez.bluetooth.init
+    Remove function to start hci device at startup in sysvinit.
+  * Add 50-bluetooth-hci-auto-poweron.rules.
+    This supports start hci device at startup.
+  * Update libbluetooth3.symbols.
+  * Add patches/bluetooth.conf.patch.
+    This add permission of bluetooth control to user into bluetooth group.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 02 Jul 2014 11:22:04 +0900
+
+bluez (5.19-1~exp0) experimental; urgency=medium
+
+  * New upstream release. Update to 5.19.
+  * Move bluetoothd daemon and obexd to /usr/lib/bluetooth/. (Closes: #749283)
+    - Change bluez-obexd.install and bluez.install.
+    - Add --libexec to CONFIGURE_FLAGS in rules.
+    - Move bluez.links.in to bluez.links, and remove DEB_HOST_MULTIARCH.
+    - Remove sed function from override_dh_auto_configure target in rules.
+  * Fix FTBFS on ppc64el. (Closes: 745628)
+    - Add dh-autoreconf to Build-Depends.
+    - Enable autoreconf addon for dh.
+  * Install sixaxis plugin.
+    - Add path of sixaxis plugin to libbluetooth3.install and
+      libbluetooth-dev.install.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 25 Jun 2014 01:58:30 +0900
+
+bluez (5.17-1~exp0) experimental; urgency=medium
+
+  * New upstream release. Update to 5.17. (Closes: #732453)
+  * debian/rules.
+    - Add '--with systemd' to dh option.
+    - Enable threads and sixaxis support at configure.
+    - Update override_dh_installinit in debian/rules.
+    - Add override_dh_systemd_enable and override_dh_systemd_start.
+      target in debian/rules.
+    - Remove old configure.
+    - Add --enable-experimental to option of confiugre. (Closes: #712385)
+    - Install gatttool (Closes: #720486)
+  * debian/bluez.bluetooth.init
+    Add function to start hci device at startup in sysvinit
+  * debian/control
+    - Add dh-systemd (>= 1.5) to Build-Depends.
+    - Update Standards-Version to 3.9.5.
+    - Remove quilt from Build-Depends.
+    - Remove libusb-dev from Build-Depends.
+    - Update libglib2.0-dev to 2.28.
+    - Update Vcs-Svn and Vcs-Browser field.
+  * Update libbluetooth3.symbols.
+  * Add 0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 08 Apr 2014 10:00:50 +0900
+
+bluez (5.5-1~exp1) experimental; urgency=low
+
+  * Fix install path of bluetoothd.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 21 May 2013 14:11:46 +0900
+
+bluez (5.5-1~exp0) experimental; urgency=low
+
+  * New upstream release. Update to 5.5. (Closes: #705519, #690749, #706986)
+  * Remove unnecessary patches.
+    - patches/01_lower_sink_ranking.patch
+    - patches/02_disable_hal.patch
+    - patches/06-alsalib.patch
+    - patches/07-fix-639356.patch
+    - patches/08-0001-systemd-install-systemd-unit-files.patch
+  * Update debian/control.
+    - Update Standards-Version to 3.9.4.
+    - Update version of debhelper to 9.
+    - Add bluez-hcidump, bluez-obexd and bluez-test-scripts packages.
+      (Closes: #690120)
+    - Remove bluez-utils, bluez-compat, bluez-alsa, bluez-audio,
+      bluez-pcmcia-support and bluez-gstreamer packages.
+    - Add udev, systemd and libical-dev to Build-Depends.
+    - Remove libnl-dev from Build-Depends. (Closes: #688160)
+    - Remove libsndfile1-dev from Build-Depends.
+    - Remove libasound2-dev from Build-Depends.
+    - Remove bluez-alsa from Recommends of bluetooth.
+    - Downgrade bluez-cups and bluez-obexd to Suggests. (Closes: #702081)
+    - Add ${misc:Depends} to Depends of bluetooth package. (Closes: #692550)
+    - Remove ${python:Depends} from Depends of bluez.
+    - Remove python-gi and python-dbus from Depends of bluez.
+      (Closes: #697752)
+  * Move api document from bluez to libbluetooth-dev.
+  * Update watch file
+  * Remove unnecessary manpages.
+    - bluetooth-agent.1, bluez-simple-agent.1 and hcitrace.1.
+  * Add manpage of bluetoothctl and btmon.
+  * Remove bluez.lintian-overrides and bluez_agent.udev.
+  * Update debian/rules.
+    - Convert from CDBS to dh, and cleanup.
+    - Add --enable-pie to configure option.
+    - Remove --enable-test from configure.
+  * Add man for btmon and update bluez.manpages
+  * Update libbluetooth3.symbols
+  * Add bluez.links
+  * Update compat to 9.
+  * Update README.examples. (Closes: #673191)
+  * Update bluez.bluetooth.init.
+    bluetoothd needs --background option of start-stop-daemon.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sun, 19 May 2013 04:05:46 +0900
+
+bluez (4.101-1) experimental; urgency=low
+
+  * New upstream release. Update to 4.101.
+  * Update patches.
+    - patches/01_lower_sink_ranking.patch
+    - patches/03-Fix-return-code-of-hid2hci.patch
+  * Update debian/bluez.install.
+    Remove line for lib/udev/rules.d/97-bluetooth.rules.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 23 Jul 2012 09:15:52 +0900
+
+bluez (4.99-2) unstable; urgency=low
+
+  * Update debian/control.
+    - Drop obsolete python-gobject dependency. (Closes: #663744)
+      python-gi is used instead.
+    - Change module-init-tools dependency to kmod. (Closes: #663359)
+  * Fix FTBFS with -std=c99 option. (Closes: #661879)
+    Add patches/09_fix_ftbfs_with_c99.patch
+  * Update debian/README.Debian. (Closes: #663955)
+    Add more infomation about alsa.conf.
+  * Update bluez.postint. (Closes: #663066)
+    Remove udev reload and makedev from postinst.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 23 Mar 2012 17:51:50 +0900
+
+bluez (4.99-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update debian/control.
+    - Update Standards-Version to 3.9.3.
+    - Use architecture wild-card linux-any. (Closes: #662095)
+    - Update version of cdbs to >= 0.4.97.
+  * Remove some patches. Applied to version 4.99.
+    - 09_fix_compile_with_C++.patch
+    - 10-audio-Fix-disabling-local-A2DP-endpoints-when-UNIX-s.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 08 Mar 2012 08:01:05 +0900
+
+bluez (4.98-3) unstable; urgency=low
+
+  * Fix A2DP not working on default. (Closes: #659897, #657255)
+    Add patches/10-audio-Fix-disabling-local-A2DP-endpoints-when-UNIX-s.patch.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 25 Feb 2012 16:49:54 +0900
+
+bluez (4.98-2) unstable; urgency=low
+
+  * Provides proximity.conf by bluez. (Closes: #656889)
+    Update debian/bluez.install. proximity.conf was installed to
+    etc/bluetooth/proximity.conf.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 01 Feb 2012 05:24:00 +0900
+
+bluez (4.98-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update debian/bluetooth-dbus.conf.
+  * Update debian/control.
+    Add Multi-Arch: foreign to bluez.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 24 Jan 2012 05:35:09 +0900
+
+bluez (4.97-1) experimental; urgency=low
+
+  * New upstream release.
+  * Update debian/contorl.
+    - Add check (>= 0.9.8-1.1) to Build-Depends.
+  * Update debian/rules.
+    - Remove --enable-attrib, --enable-udevrules and --enable-configfiles
+      from configure.
+    - Add --enable-time, --enable-alert and --enable-gatt-example to
+      configure.
+  * Update bluez-cups.install.
+    Fix cups backend into multiarch path. (Closes: #645884)
+  * Update man for l2test. (Closes: #649432)
+  * Update debian/patches/06-alsalib.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 27 Dec 2011 17:19:00 +0900
+
+bluez (4.96-3) unstable; urgency=low
+
+  * Install debian/bluez-udev to /lib/udev/bluez-udev.
+    (Closes #639356, #643829)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 30 Sep 2011 12:35:45 +0900
+
+bluez (4.96-2) unstable; urgency=low
+
+  * Add support static library of libbluetooth-dev. (Closes: #558742)
+    Don't include static library in bluez-alsa and bluez-gstreamer.
+  * Fix bluez udev rules attempt to access /usr when /usr may not be mounted.
+    Thanks to anomie@users.sourceforge.net. (Closes: #639356)
+  * Fix typo in debian/bluez.preinst. (Closes: #643321)
+    Thanks to Trent W. Buck.
+  * Remove dh-autoreconf and add '-Wl,--as-needed' to LDFLAGS.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sun, 28 Sep 2011 01:50:05 +0900
+
+bluez (4.96-1) unstable; urgency=low
+
+  * New upstream release.
+    Applied some patch from Daniel Schaal. Thanks! (Closes: #636633)
+  * Add debug packages.
+    bluez-dbg and libbluetooth3-dbg.
+  * Add support systemd.
+  * Update debian/control.
+    - Add s390x to Architecture. (Closes: #636545)
+    - Add libreadline-dev to Build-Depends.
+  * Drop patchsys-quilt.mk snippet: superfluous with source
+    format 3.0 "(quilt)".
+  * Refresh patch.
+  * Switch to multiarch.
+  * Update debian/rules.
+    - Remove obsolete configure flags.
+    - Add new plugins (proximity, sap, wiimote, thermometer, dbusoob).
+    - Strip and move to .install files.
+    - Add LDFLAGS=-Wl,--as-needed to configure option.
+  * Add usr/bin/gatttool into bluez package.
+  * Update bluez.lintian-overrides.
+  * Update debian/copyright.
+    Update path of license file.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 04 Aug 2011 11:46:35 +0900
+
+bluez (4.94-3) unstable; urgency=low
+
+  * Add dh-autoreconf to Build-Depends. To support dh-autoreconf,
+    update debian/control and debian/rules.
+  * Update version and the install path for which libasound depended.
+    Add patch/06-alsalib.patch. Thanks for Steve Langasek and Jordi Mallach.
+    (Closes: #634976).
+  * Remove Andrea Veri from Uploaders.
+    Thank you for having maintained this package. (Closes: #635095)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sun, 24 Jul 2011 18:31:59 +0900
+
+bluez (4.94-2) unstable; urgency=medium
+
+  * Add udev to Replaces and Breaks field (Closes: #628904).
+  * Fix typo from deamon to daemon (Closes: 629901).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 09 Jun 2011 21:48:21 +0900
+
+bluez (4.94-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update debian/control.
+    - Add ppc64 to Architecture.
+    - Add version depency of udev (Closes: #628904, #628765).
+  * Remove debian/patches/03_fix_udevdir.patch.
+    Applied to upstream.
+  * Update debian/bluez.bluetooth.init.
+    Applied patch from Cristian Ionescu-Idbohrn (Closes: #628491).
+  * Update debian/bluez.postinst.
+    Add abort-upgrade, abort-remove and abort-deconfigure target
+    to bluez.postinst.
+  * Fix return code of hid2hci.
+    Add patch 03-Fix-return-code-of-hid2hci.patch
+  * Fix work Logitech keyboard (Closes: #626975)
+    Add patch 04-Fix-bluetooth-hid2hci.rules.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 01 Jun 2011 15:30:01 +0900
+
+bluez (4.93-3) unstable; urgency=low
+
+  * Fix install hid2hci to /lib/udev.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 31 May 2011 19:42:33 +0900
+
+bluez (4.93-2) unstable; urgency=low
+
+  * Update debian/README.Debian.gz.
+    Add description of bluez-simple-agent (Closes: #488306, #384680).
+  * Update debian/bluez_agent.udev and debian/bluez.bluetooth.init.
+    Fix path of hid2hci (Closes: #628491).
+  * Add debian/patches/03_fix_udevdir.patch.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 31 May 2011 18:04:29 +0900
+
+bluez (4.93-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update debian/control.
+    - Add libudev-dev to Build-Depends.
+  * Update debian/bluetooth-dbus.conf.
+    Add policy for lp group.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 20 May 2011 10:31:07 +0900
+
+bluez (4.91-1) unstable; urgency=low
+
+  * New upstream release.
+  * Updte debian/control
+    + Update to S-V 3.9.2: no changes needed.
+    + Remove libdbus-1-dev from Build-Depends.
+      This is interpolated by libdbus-1-dev.
+  * Update debian/libbluetooth3.symbols.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 12 Apr 2011 11:50:49 +0900
+
+bluez (4.89-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 05 Mar 2011 17:08:40 +0900
+
+bluez (4.87-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 09 Feb 2011 01:38:45 +0900
+
+bluez (4.87-1) experimental; urgency=low
+
+  * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 26 Jan 2011 07:58:27 +0900
+
+bluez (4.86-1) experimental; urgency=low
+
+  * New upstream release.
+  * Update debian/rules.
+    - Enable health plugin and attrib plugin.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 24 Jan 2011 11:49:55 +0900
+
+bluez (4.84-1) experimental; urgency=low
+
+  * New upstream release.
+  * Update README.Debian.
+    - Update section of Keyboard and mouse support
+      (Closes: #599894, #535929).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 12 Jan 2011 17:23:25 +0900
+
+bluez (4.82-1) experimental; urgency=low
+
+  * New upstream release.
+  * Add manpages of bluetooth-agent.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 20 Dec 2010 01:39:43 +0900
+
+bluez (4.81-1) experimental; urgency=low
+
+  * New upstream release.
+  * Drop patches/010_udev_rules_agent.patch (Closes: ##588034).
+    Connection of bluetooth is cut off after system start,
+    if applied this patch. And this patch is not already necessary.
+  * Disabled HAL (Closes: 599023).
+    Add patches/02_disable_hal.patch
+  * Update debian/rules
+    - Provide again bluetooth-agent utility (Closes: #598982).
+    - Remove --enable-netlink option of configure.
+      This option was not provided.
+  * Update debian/bluez.install
+    Remove path of plugins.
+  * Update libbluetooth-dev.install
+    Remove path of plugins.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 02 Dec 2010 12:17:48 +0900
+
+bluez (4.70-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update debian/bluez.bluetooth.init (Closes: #593172).
+  * Update debian/bluez.preinst (Closes: #592982, #568301).
+  * Update debian/control.
+    - python-gobject and python-dbus move from Suggests to Depends.
+  * Replase bluetooth-agent to bluez-simple-agent.
+  * Some test program move to usr/bin.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 03 Sep 2010 08:43:02 +0900
+
+bluez (4.69-1) unstable; urgency=low
+
+  * New upstream release (Closes: #589727).
+  * Update debian/control.
+    - bumped standards-version to 3.9.1.
+  * Update libbluetooth3.symbols.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 28 Jul 2010 13:44:34 +0900
+
+bluez (4.66-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update debian/control.
+    - Add libcap-ng-dev to Build-depends.
+  * Update debian/rules.
+    - Add serial.conf (Closes: #559672).
+    - Update configure option.
+      Remove --enable-manpages.
+      Change --enable-pcmciarules to --enable-pcmcia.
+      Add --enable-pnat, --enable-tracer, --enable-udevrules,
+          --enable-configfiles and --enable-capng.
+  * Add man file of hcitrace.
+  * Update udev rule (Closes: #535075).
+    Thanks to Sjoerd Simons.
+  * Add patch 01_lower_sink_ranking.patch (Closes: #571595).
+    Thanks to Sebastian Dröge.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 22 Jun 2010 12:45:57 +0900
+
+bluez (4.64-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 15 May 2010 15:44:23 +0900
+
+bluez (4.63-2) unstable; urgency=low
+
+  * Remove some contents from debian/NEWS. (Closes: #579817)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 06 May 2010 06:50:14 +0900
+
+bluez (4.63-1) unstable; urgency=low
+
+  * Update debian/control.
+    - Remove Filippo Giunchedi <filippo@debian.org> from uploaders.
+    - bumped standards-version to 3.8.4.
+  * Add man files.
+    bluetooth-agent.1, l2test.1.
+  * Update libbluetooth3.symbols.
+    Add hci_bustostr@Base, hci_read_inq_response_tx_power_level@Base,
+    hci_typetostr@Base, sdp_get_supp_feat@Base, sdp_set_supp_feat@Base
+  * Update debian/NEWS.
+  * Add debian/source/format.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 20 Apr 2010 06:08:24 +0900
+
+bluez (4.60-1) unstable; urgency=low
+
+  * New upstream release.
+  * debian/control:
+    - Add Nobuhiro Iwamatsu to Uploaders (Closes #564569).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 23 Jan 2010 16:03:01 +0900
+
+bluez (4.57-1) unstable; urgency=low
+
+  * New upstream bug fix release.
+
+ -- Andrea Veri <andrea.veri89@gmail.com>  Thu, 12 Nov 2009 21:27:54 +0100
+
+bluez (4.56-2) unstable; urgency=low
+
+  * debian/control:
+    - makedev re-added as alternate depend of udev, as
+      it's needed by postints. Thanks to Guillem Jover
+      for the report. (Closes: #546860)
+
+ -- Andrea Veri <andrea.veri89@gmail.com>  Wed, 14 Oct 2009 00:19:19 +0200
+
+bluez (4.56-1) unstable; urgency=low
+
+  * New upstream release. (Closes: #539361)
+  * rctest man page is no more missing. (Closes: #535949)
+  * debian/control:
+    - bumped standards-version to 3.8.3. No changes needed.
+    - added myself into uploaders plus DM tag.
+    - removed makedev depends. (Closes: #546860)
+  * debian/copyright:
+    - added missing copyright holders.
+  * debian/patches/001_agent_fixes.patch:
+    - removed, applied upstream
+  * debian/patches/002_a2dpsink_marginal.patch:
+    - removed, applied upstream.
+  * debian/patches/005_l2ping_section.patch:
+    - removed, applied upstream.
+  * debian/rules:
+    - removed the hack to have man page installed correctly.
+      It has been fixed upstream and points to the right section. (8)
+  * debian/libbluetooth3.symbols:
+    - refreshed.
+  * debian/bluez.examples:
+    - test/test-* removed and added all needed examples by hand to avoid
+      the installation of useless stuff.
+
+ -- Andrea Veri <andrea.veri89@gmail.com>  Mon, 12 Oct 2009 15:40:02 +0200
+
+bluez (4.42-2) unstable; urgency=low
+
+  * Fix "Bashisms in init script" (Closes: #534511)
+  * Handle upgrade of old /etc/modprobe.d/bluez (Closes: #523050)
+  * Conflict/Replace bluez-audio in bluez (Closes: #535089)
+
+ -- Filippo Giunchedi <filippo@debian.org>  Tue, 30 Jun 2009 20:05:13 +0200
+
+bluez (4.42-1) unstable; urgency=low
+
+  * New upstream release
+    + drop not needed debian/patches/003_configure_amd64_rpath.patch
+  * Provide transitional bluez-audio to migrate to bluez-alsa and
+    bluez-gstreamer (Closes: #531449)
+  * Install README.Debian in binary bluez (Closes: #532018)
+  * Make bluez-{alsa,gstreamer} depend on bluez
+  * Switch to group bluetooth from netdev for authorized users
+    (Closes: #534118)
+  * Mention pand/hidd/dund move to bluez-compat in init script and default
+    (Closes: #532622)
+  * debian/patches/002_test_agent_newapi.patch port bluetooth-agent to new
+    D-Bus API
+  * Update to S-V 3.8.2: no changes
+  * Introduce common SSD_OPTIONS in init script and sleep 1 on restart
+
+ -- Filippo Giunchedi <filippo@debian.org>  Sun, 21 Jun 2009 14:01:04 +0200
+
+bluez (4.40-2) unstable; urgency=low
+
+  * Ship a libbluetooth3.symbols file instead of shlibs
+  * Ship more examples from test/, thus suggest: python-gobject and
+    python-dbus together with README.examples
+  * Provide a script in /lib/udev/bluez for waiting on /usr being available
+    and a patch udev rules to use it
+
+ -- Filippo Giunchedi <filippo@debian.org>  Tue, 26 May 2009 00:02:53 +0200
+
+bluez (4.40-1) unstable; urgency=low
+
+  * New upstream release
+    - scripts/bluetooth.rules -> scripts/bluetooth-serial.rules
+  * Upload to unstable
+  * Change usage for hid2hci: install udev rules and issue a warning from init
+    script
+
+ -- Filippo Giunchedi <filippo@debian.org>  Fri, 22 May 2009 14:56:07 +0200
+
+bluez (4.34-0exp1) experimental; urgency=low
+
+  * First upload of bluez 4.x (Closes: #499529)
+    - include parts of the packaging from ubuntu, thanks!
+    - bluez-utils and bluez-libs are now a single source package
+    - libbluetooth2 -> libbluetooth3 bump
+    - conflict bluez with bluez-utils (<= 3.36-3)
+    - update debian/copyright, thanks to Nobuhiro Iwamatsu
+  * Remove hid2hci patches/script
+  * Remove broken link to documentation (Closes: #504675)
+  * Install a sample commandline agent from test/ into bluetooth-agent
+    - add 001_test_agent_default_adapter.patch to get the default adapter
+  * Install test/simple-agent and test/list-devices as examples
+  * Remove old commented code from maintainer scripts (pcmcia-support postinst
+    and bluez preinst)
+  * Update watch file to match bluez only
+  * Add #DEBHELPER# to debian/bluez-utils.postrm
+  * Update to S-V 3.8.1: no changes needed
+  * Fix lintian warnings:
+    - add -e to remaining maintainer scripts
+    - remove full path to update-rc.d in debian/bluez.postinst
+    - override "bluez-utils: maintainer-script-empty postrm" for transitional
+      bluez-utils postrm
+  * Use 7 in debian/compat
+  * Fix debian/bluez.preinst to use dpkg-query, thus removing the lintian
+    override
+
+ -- Filippo Giunchedi <filippo@debian.org>  Wed, 01 Apr 2009 12:20:01 +0200
+
+bluez (4.29-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version (LP: #326811)
+    - Use AVRCP version 1.0 for now.
+    - Decrease AVDTP idle timeout to one second.
+    - Delay AVRCP connection when remote device connects A2DP.
+    - Add workaround for AVDTP stream setup with broken headsets.
+    - Add missing three-way calling feature bit for Handsfree.
+    - Fix handsfree callheld indicator updating.
+    - Fix parsing of all AT commands within the buffer.
+    - Fix authentication replies when disconnected.
+    - Fix handling of debug combination keys.
+    - Fix handling of changed combination keys.
+    - Fix handling of link keys when using no bonding.
+    - Fix handling of invalid/unknown authentication requirements.
+    - Fix closing of L2CAP raw socket used for dedicated bonding.
+
+ -- Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>  Sun, 08 Feb 2009 10:48:36 +0100
+
+bluez (4.28-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version. (LP: #324492)
+    - Add AVDTP signal fragmentation support.
+    - Add more SBC performance optimizations.
+    - Add more SBC audio quality improvements.
+    - Use native byte order for audio plugins.
+    - Set the adapter alias only after checking the EIR data.
+    - Fix auto-disconnect issue with explicit A2DP connections.
+    - Fix invalid memory access of ALSA plugin.
+    - Fix compilation with -Wsign-compare.
+
+ -- Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>  Mon, 02 Feb 2009 21:57:08 +0100
+
+bluez (4.27-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version. (LP: #304784)
+    - Improves interoperability and security handling
+      with Bluetooth 2.1 based devices.
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Tue, 27 Jan 2009 12:44:39 -0600
+
+bluez (4.25-0ubuntu6) jaunty; urgency=low
+
+  * Drop previous patch, bluez is a bit strange and this is basically ok.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Mon, 19 Jan 2009 17:01:14 +0000
+
+bluez (4.25-0ubuntu5) jaunty; urgency=low
+
+  * debian/patches/ubuntu_dbus_policy.patch:
+    - Drop send_interface allow which isn't service-specific.  LP: #318740.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Mon, 19 Jan 2009 15:38:43 +0000
+
+bluez (4.25-0ubuntu4) jaunty; urgency=low
+
+  * Add Breaks to ensure the right udev version is used.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Fri, 09 Jan 2009 11:35:06 +0000
+
+bluez (4.25-0ubuntu3) jaunty; urgency=low
+
+  * debian/hid2hci.rules: Update to use ATTRS{} instead of SYSFS{}
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed, 07 Jan 2009 14:18:52 +0000
+
+bluez (4.25-0ubuntu2) jaunty; urgency=low
+
+  * debian/rules: Install rules into /lib/udev/rules.d
+  * debian/bluez.preinst: Remove old rule if unchanged.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed, 07 Jan 2009 11:35:39 +0000
+
+bluez (4.25-0ubuntu1) jaunty; urgency=low
+
+  * New upstream release. (LP: #312087)
+
+ -- Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>  Tue, 30 Dec 2008 19:53:44 +0100
+
+bluez (4.21-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version. (LP: #304109)
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Wed, 03 Dec 2008 15:56:03 -0600
+
+bluez (4.17-0ubuntu1) jaunty; urgency=low
+
+  * New upstream version. (LP: #284039)
+  * Drop the following patches that landed upstream:
+    - logitech_5500_ids.patch
+    - dell_bt_365.patch
+    - sco_connect_git.patch
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Wed, 05 Nov 2008 13:28:35 -0600
+
+bluez (4.12-0ubuntu5) intrepid; urgency=low
+
+  * Add debian/hid2hci.rules to enable running hid2hci
+    as soon as some bluetooth dongles get plugged in. (LP: #288294)
+  * debian/bluez.postinst:
+    - Update udev rules on postinst.
+  * debian/rules:
+    - Install debian/hid2hci.rules to 62-bluez-hid2hci.rules
+
+ -- Mario Limonciello <superm1@ubuntu.com>  Sat, 25 Oct 2008 23:32:00 -0500
+
+bluez (4.12-0ubuntu4) intrepid; urgency=low
+
+  * Add hid2hci.patch to enable hid2hci to be ran after
+    suspending a machine. (LP: #268877)
+  * debian/rules:
+    - Install new script from above patch.
+  * Add logitech_5500_ids.patch for enabling hid2hci on
+    more logitech devices. (LP: #272352)
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Wed, 22 Oct 2008 16:01:59 -0500
+
+bluez (4.12-0ubuntu3) intrepid; urgency=low
+
+  * debian/bluez.postinst:
+    - Don't show output for MAKEDEV. (LP: 280360)
+  * Add dell_bt_365.patch which will enable putting the Dell BT365
+    adapter into HCI mode upon bootup. (LP: #286724)
+  * debian/control:
+    - Add one more binary package for old compatibility binaries. (LP: #281580)
+  * debian/rules:
+    - Enable compatibility binaries.  These are HIGHLY discouraged from usage
+      and will not necessarily be here in the future.
+  * debian/bluez.install:
+    - Adjust what binaries get installed, to be able to pull out hidd, dund,
+      and pand as necessary.
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Mon, 20 Oct 2008 20:37:24 -0500
+
+bluez (4.12-0ubuntu2) intrepid; urgency=low
+
+  * debian/control:
+    - Move libbluetooth3 to the top of the list so that it is the
+      package that gets to keep the real changelog rather than symlinks.
+    - Only Replaces: packages rather than conflicts to help with
+      upgrades (LP: #279954)
+
+ -- Mario Limonciello <mario_limonciello@dell.com>  Tue, 07 Oct 2008 16:32:31 -0500
+
+bluez (4.12-0ubuntu1) intrepid; urgency=low
+
+  * Initial Release. (LP: #274950)
+    - This package replaces bluez-utils and bluez-libs source packages.
+    - It was generated by merging the contents of bluez-utils and bluez-libs
+      and updating content.
+    - Legacy functionality for hidd, dund, and pand are not present, and
+      have been removed from all configuration files.
+  * This release introduces encryption (LP: #182191)
+  * debian/patches:
+    - bluez-utils-oui-usage.patch was borrowed from the Fedora 10 packaging.
+    - sco-connect-git.patch was taken from bluez git shortly after 4.12 release.
+      It should "help" with some sco headset issues.
+  * debian/control:
+    - Update different packages per upstream's recommendations.
+    - Update conflicts/replaces for earlier packages.
+    - Add a transitional bluez-utils package to help with the transition.
+
+ -- Mario Limonciello <superm1@ubuntu.com>  Tue, 07 Oct 2008 12:10:29 -0500
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..f599e28
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+10
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..48a194b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,155 @@
+Source: bluez-imx
+Maintainer: AIY Projects <support-aiyprojects@google.com>
+Section: admin
+Priority: optional
+Build-Depends: debhelper (>= 10),
+               flex,
+               bison,
+               libdbus-glib-1-dev,
+               libglib2.0-dev,
+               libcap-ng-dev,
+	       libdw-dev,
+               libudev-dev,
+               libreadline-dev,
+               libical-dev,
+	       libasound2-dev,
+               udev,
+               check,
+               systemd
+Standards-Version: 4.1.3
+Homepage: http://www.bluez.org
+
+Package: libbluetooth3
+Architecture: linux-any
+Multi-Arch: same
+Section: libs
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Conflicts: libsdp2 (<= 1.5-2)
+Replaces: libsdp2 (<= 1.5-2)
+Description: Library to use the BlueZ Linux Bluetooth stack
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: libbluetooth-dev
+Architecture: linux-any
+Multi-Arch: same
+Section: libdevel
+Depends: libbluetooth3 (= ${binary:Version}),
+         libc6-dev | libc-dev,
+         ${misc:Depends}
+Suggests: pkg-config
+Conflicts: libbluetooth-dev,
+           libsdp2-dev (<= 1.5.2),
+           bluez-pan
+Provides: libbluetooth3-dev
+Replaces: libsdp2-dev (<= 1.5.2)
+Description: Development files for using the BlueZ Linux Bluetooth library
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+ .
+ This package contains the development libraries and header files you need to
+ develop your programs using the libbluetooth library.
+
+Package: bluetooth
+Architecture: all
+Depends: ${misc:Depends},
+         bluez
+Suggests: bluez-cups,
+          bluez-obexd
+Description: Bluetooth support (metapackage)
+ This package provides all of the different plugins supported
+ by the Bluez bluetooth stack.
+
+Package: bluez
+Architecture: linux-any
+Multi-Arch: foreign
+Depends: ${shlibs:Depends},
+         ${misc:Depends},
+         kmod,
+         udev,
+         lsb-base,
+         dbus
+Suggests: pulseaudio-module-bluetooth
+Breaks: udev (<< 170-1)
+Conflicts: bluez-utils (<= 3.36-3),
+           bluez-audio (<= 3.36-3)
+Replaces: bluez-input,
+          bluez-network,
+          bluez-serial,
+          bluez-utils (<= 3.36-3),
+          bluez-audio (<= 3.36-3),
+          udev (<< 170-1)
+Description: Bluetooth tools and daemons
+ This package contains tools and system daemons for using Bluetooth devices.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: bluez-cups
+Architecture: linux-any
+Depends: ${shlibs:Depends},
+         cups,
+         ${misc:Depends}
+Description: Bluetooth printer driver for CUPS
+ This package contains a driver to let CUPS print to Bluetooth-connected
+ printers.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: bluez-obexd
+Architecture: linux-any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Conflicts: obexd-server,
+           obexd-client
+Replaces: obexd-server,
+          obexd-client
+Description: bluez obex daemon
+ This package contains a OBEX(OBject EXchange) daemon.
+ .
+ OBEX is communication protocol to facilitate the exchange of the binary
+ object between the devices.
+ .
+ This was the software that is independent as obexd, but this has been
+ integrated into BlueZ from BlueZ 5.0.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: bluez-hcidump
+Architecture: linux-any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Description: Analyses Bluetooth HCI packets
+ The hcidump utility allows the monitoring of Bluetooth activity.
+ It provides a disassembly of the Bluetooth traffic and can display
+ packets from higher level protocols such as RFCOMM, SDP and BNEP.
+ .
+ This was the software that is independent as bluez-hcidump, but this has been
+ integrated into BlueZ from BlueZ 5.0.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: bluez-test-tools
+Architecture: linux-any
+Depends: ${shlibs:Depends},
+         ${misc:Depends},
+         bluez (= ${binary:Version})
+Description: test tools of bluez
+ This package contains test tools for using BlueZ.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
+
+Package: bluez-test-scripts
+Architecture: all
+Depends: ${misc:Depends}
+Description: test scripts of bluez
+ This package contains test scripts for using BlueZ.
+ .
+ BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
+ project distributed under GNU General Public License (GPL).
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..88e6e67
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,879 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: *
+Copyright: 2008-2015, Intel Corporation.
+License: GPL-2+
+
+Files: android/*
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: android/audio_utils/*
+Copyright: 2008, 2011, The Android Open-Source Project
+License: Apache-2.0
+
+Files: android/avctp.c
+Copyright: 2011, Texas Instruments, Inc.
+  2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: android/avctp.h
+  android/avdtp.c
+  android/avdtp.h
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: android/avdtptest.c
+Copyright: 2011-2015, Intel Corporation
+License: GPL-2+
+
+Files: android/bluetoothd-wrapper.c
+  android/hal-a2dp-sink.c
+  android/hal-a2dp.c
+  android/hal-audio-sbc.c
+  android/hal-audio.c
+  android/hal-audio.h
+  android/hal-avrcp-ctrl.c
+  android/hal-avrcp.c
+  android/hal-bluetooth.c
+  android/hal-gatt.c
+  android/hal-handsfree-client.c
+  android/hal-handsfree.c
+  android/hal-health.c
+  android/hal-hidhost.c
+  android/hal-ipc.c
+  android/hal-ipc.h
+  android/hal-log.h
+  android/hal-map-client.c
+  android/hal-pan.c
+  android/hal-sco.c
+  android/hal-socket.c
+  android/hal-utils.c
+  android/hal-utils.h
+  android/hal.h
+  android/tester-a2dp.c
+  android/tester-avrcp.c
+  android/tester-bluetooth.c
+  android/tester-gatt.c
+  android/tester-hdp.c
+  android/tester-hidhost.c
+  android/tester-main.c
+  android/tester-map-client.c
+  android/tester-pan.c
+  android/tester-socket.c
+Copyright: 2013, 2014, Intel Corporation
+License: Apache-2.0
+
+Files: android/client/*
+Copyright: 2013, 2014, Intel Corporation
+License: Apache-2.0
+
+Files: android/compat/*
+Copyright: 1987-2011, Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: android/compat/wordexp.h
+Copyright: 1991-2013, Free Software Foundation, Inc.
+License: LGPL-2.1+
+
+Files: android/hal-audio-aptx.c
+Copyright: 2014, Tieto Poland
+License: Apache-2.0
+
+Files: android/hardware/*
+Copyright: 2008, 2011-2014, The Android Open Source Project
+License: Apache-2.0
+
+Files: android/health.c
+Copyright: 2014, Intel Corporation.
+  2010, GSyC/LibreSoft, Universidad Rey Juan Carlos.
+License: LGPL-2.1+
+
+Files: android/log.c
+  android/sco.c
+Copyright: 2008-2015, Intel Corporation.
+License: GPL-2+
+
+Files: android/system/*
+Copyright: 2008, 2011-2014, The Android Open Source Project
+License: Apache-2.0
+
+Files: attrib/*
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: attrib/att-database.h
+Copyright: 2012, Texas Instruments Corporation
+License: GPL-2+
+
+Files: attrib/gatttool.h
+  attrib/interactive.c
+  attrib/utils.c
+Copyright: 2007-2011, Nokia Corporation
+License: GPL-2+
+
+Files: btio/*
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: emulator/*
+Copyright: 2011-2014, Intel Corporation
+  2002-2010, Marcel Holtmann <marcel@holtmann.org>
+License: LGPL-2.1+
+
+Files: emulator/b1ee.c
+  emulator/hfp.c
+Copyright: 2009-2012, Intel Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: emulator/hciemu.c
+  emulator/hciemu.h
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: emulator/smp.c
+Copyright: 2013, 2014, 2016, Intel Corporation
+License: LGPL-2.1+
+
+Files: gdbus/*
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: lib/*
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2000, 2001, Qualcomm Incorporated
+License: GPL-2+
+
+Files: lib/a2mp.h
+Copyright: 2012, Intel Corporation.
+  2012, Code Aurora Forum.
+License: GPL-2+
+
+Files: lib/amp.h
+Copyright: 2012, Intel Corporation.
+  2010, 2011, Code Aurora Forum.
+License: GPL-2
+
+Files: lib/bnep.h
+  lib/rfcomm.h
+  lib/sco.h
+Copyright: 2002-2011, Marcel Holtmann <marcel@holtmann.org>
+  2000-2003, Maxim Krasnyansky <maxk@qualcomm.com>
+License: GPL-2+
+
+Files: lib/cmtp.h
+  lib/hidp.h
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: lib/l2cap.h
+Copyright: 2012, Code Aurora Forum.
+  2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2000, 2001, Qualcomm Incorporated
+License: GPL-2+
+
+Files: lib/mgmt.h
+  lib/uuid.c
+  lib/uuid.h
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: lib/sdp.c
+  lib/sdp.h
+  lib/sdp_lib.h
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Stephen Crane <steve.crane@rococosoft.com>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2001, 2002, Nokia Corporation
+License: GPL-2+
+
+Files: monitor/*
+Copyright: 2011-2014, Intel Corporation
+  2002-2010, Marcel Holtmann <marcel@holtmann.org>
+License: LGPL-2.1+
+
+Files: monitor/a2dp.c
+  monitor/a2dp.h
+  monitor/avdtp.c
+  monitor/avdtp.h
+Copyright: 2015, Andrzej Kaczmarek <andrzej.kaczmarek@codecoup.pl>
+License: LGPL-2.1+
+
+Files: monitor/tty.h
+Copyright: 2013, 2014, 2016, Intel Corporation
+License: LGPL-2.1+
+
+Files: obexd/*
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: obexd/client/bluetooth.c
+  obexd/client/bluetooth.h
+  obexd/client/opp.c
+  obexd/client/opp.h
+  obexd/client/transport.c
+  obexd/client/transport.h
+Copyright: 2011-2015, Intel Corporation
+License: GPL-2+
+
+Files: obexd/client/dbus.c
+  obexd/client/dbus.h
+Copyright: 2008-2011, Intel Corporation.
+License: GPL-2
+
+Files: obexd/client/map-event.c
+  obexd/client/map-event.h
+  obexd/client/mns.c
+Copyright: 2012, 2013, BMW Car IT GmbH.
+License: GPL-2+
+
+Files: obexd/client/map.c
+  obexd/client/map.h
+Copyright: 2011, Bartosz Szatkowski <bulislaw@linux.com> for Comarch
+License: GPL-2+
+
+Files: obexd/client/pbap.c
+  obexd/client/pbap.h
+  obexd/client/sync.c
+  obexd/client/sync.h
+Copyright: 2007-2010, Marcel Holtmann <marcel@holtmann.org>
+  2007-2010, Intel Corporation
+License: GPL-2+
+
+Files: obexd/client/session.c
+  obexd/client/session.h
+  obexd/client/transfer.c
+  obexd/client/transfer.h
+Copyright: 2011, 2012, BMW Car IT GmbH.
+  2007-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: obexd/plugins/*
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: obexd/plugins/filesystem.c
+  obexd/plugins/pbap.c
+  obexd/plugins/phonebook-dummy.c
+Copyright: 2009-2012, Intel Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: obexd/plugins/filesystem.h
+  obexd/plugins/ftp.h
+  obexd/plugins/phonebook.h
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: obexd/plugins/irmc.c
+Copyright: 2010, Marcel Mol <marcel@mesa.nl>
+License: GPL-2+
+
+Files: obexd/plugins/mas.c
+  obexd/plugins/messages-dummy.c
+  obexd/plugins/messages.h
+Copyright: 2007-2011, Nokia Corporation
+License: GPL-2+
+
+Files: obexd/plugins/vcard.c
+  obexd/plugins/vcard.h
+Copyright: 2008-2015, Intel Corporation.
+License: GPL-2+
+
+Files: obexd/src/manager.h
+  obexd/src/map_ap.h
+Copyright: 2007-2011, Nokia Corporation
+License: GPL-2+
+
+Files: obexd/src/obex-priv.h
+  obexd/src/obex.c
+  obexd/src/obex.h
+  obexd/src/server.c
+  obexd/src/server.h
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: peripheral/*
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: plugins/autopair.c
+Copyright: 2012, 2014, 2015, Google Inc.
+License: GPL-2+
+
+Files: plugins/external-dummy.c
+Copyright: no-info-found
+License: GPL-2+
+
+Files: plugins/gatt-example.c
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: plugins/hostname.c
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: plugins/neard.c
+Copyright: 2012, 2013, Tieto Poland
+License: GPL-2+
+
+Files: plugins/sixaxis.c
+Copyright: 2013, Szymon Janc <szymon.janc@gmail.com>
+  2011, Antonio Ospite <ospite@studenti.unina.it>
+  2009, Bastien Nocera <hadess@hadess.net>
+License: GPL-2+
+
+Files: plugins/wiimote.c
+Copyright: 2011, 2012, David Herrmann <dh.herrmann@googlemail.com>
+License: GPL-2+
+
+Files: profiles/*
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/audio/*
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/audio/a2dp-codecs.h
+Copyright: 2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: LGPL-2.1+
+
+Files: profiles/audio/a2dp.c
+  profiles/audio/a2dp.h
+  profiles/audio/media.c
+Copyright: 2011, BMW Car IT GmbH.
+  2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/audio/avctp.c
+  profiles/audio/avrcp.c
+  profiles/audio/control.c
+Copyright: 2011, Texas Instruments, Inc.
+  2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/audio/player.c
+  profiles/audio/player.h
+Copyright: 2012, Intel Corporation
+  2006, 2007, Nokia Corporation
+  2004-2009, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/audio/source.c
+  profiles/audio/source.h
+Copyright: 2009, Joao Paulo Rechi Vita
+  2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/battery/*
+Copyright: 2014, Intel Corporation.
+License: LGPL-2.1+
+
+Files: profiles/deviceinfo/*
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: profiles/deviceinfo/deviceinfo.c
+Copyright: 2015, Google Inc.
+  2012, Texas Instruments, Inc.
+License: GPL-2+
+
+Files: profiles/deviceinfo/dis.c
+Copyright: 2012, Texas Instruments, Inc.
+License: GPL-2+
+
+Files: profiles/gap/*
+Copyright: 2014, Google Inc.
+  2012, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/health/*
+Copyright: 2010, 2011, GSyC/LibreSoft, Universidad Rey Juan Carlos.
+License: GPL-2+
+
+Files: profiles/health/mcap.c
+  profiles/health/mcap.h
+Copyright: 2014, Intel Corporation.
+  2010, Signove
+  2010, GSyC/LibreSoft, Universidad Rey Juan Carlos.
+License: GPL-2+
+
+Files: profiles/input/device.c
+  profiles/input/hidp_defs.h
+Copyright: 2014, Google Inc.
+  2003-2014, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: profiles/input/hog-lib.c
+Copyright: 2014, Intel Corporation.
+  2012, Nordic Semiconductor Inc.
+  2012, Marcel Holtmann <marcel@holtmann.org>
+  2012, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/input/hog-lib.h
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: profiles/input/hog.c
+Copyright: 2012, Nordic Semiconductor Inc.
+  2012, Marcel Holtmann <marcel@holtmann.org>
+  2012, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/input/suspend-dummy.c
+  profiles/input/suspend-none.c
+  profiles/input/suspend.h
+Copyright: 2012, Nordic Semiconductor Inc.
+  2012, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/input/uhid_copy.h
+Copyright: 2012, David Herrmann
+License: GPL-2+
+
+Files: profiles/sap/*
+Copyright: 2010, 2014, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/sap/sap-dummy.c
+Copyright: 2011, Tieto Poland
+  2010, ST-Ericsson SA
+License: GPL-2+
+
+Files: profiles/sap/sap-u8500.c
+Copyright: 2010, 2011, ST-Ericsson SA
+License: GPL-2
+
+Files: profiles/sap/sap.h
+Copyright: 2010, ST-Ericsson SA
+  2010, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/sap/server.c
+Copyright: 2011, Tieto Poland
+  2010, ST-Ericsson SA
+  2010, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/sap/server.h
+Copyright: 2010, ST-Ericsson SA
+License: GPL-2+
+
+Files: profiles/scanparam/*
+Copyright: 2012, Nordic Semiconductor Inc.
+  2012, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: profiles/scanparam/scpp.h
+Copyright: 2014, Intel Corporation.
+License: LGPL-2.1+
+
+Files: profiles/thermometer/*
+Copyright: 2010, 2011, GSyC/LibreSoft, Universidad Rey Juan Carlos.
+License: GPL-2+
+
+Files: profiles/time/*
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: src/*
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: src/adapter.c
+  src/adapter.h
+  src/agent.c
+  src/agent.h
+  src/attio.h
+  src/attrib-server.c
+  src/attrib-server.h
+  src/dbus-common.h
+  src/device.c
+  src/device.h
+  src/eir.c
+  src/eir.h
+  src/storage.c
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: src/advertising.c
+  src/advertising.h
+  src/gatt-client.c
+  src/gatt-client.h
+  src/gatt-database.c
+  src/gatt-database.h
+Copyright: 2012, 2014, 2015, Google Inc.
+License: GPL-2+
+
+Files: src/dbus-common.c
+Copyright: 2006-2010, Nokia Corporation
+  2005-2007, Johan Hedberg <johan.hedberg@nokia.com>
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: src/error.c
+  src/error.h
+Copyright: 2007, 2008, Fabien Chevalier <fabchevalier@free.fr>
+  2006-2010, Nokia Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: src/hcid.h
+  src/main.c
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2000, 2001, Qualcomm Incorporated
+License: GPL-2+
+
+Files: src/profile.c
+  src/profile.h
+  src/systemd.c
+  src/systemd.h
+Copyright: 2008-2015, Intel Corporation.
+License: GPL-2+
+
+Files: src/sdpd-database.c
+  src/sdpd-request.c
+  src/sdpd-server.c
+  src/sdpd-service.c
+  src/sdpd.h
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Stephen Crane <steve.crane@rococosoft.com>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2001, 2002, Nokia Corporation
+License: GPL-2+
+
+Files: src/service.c
+  src/service.h
+Copyright: 2012, 2013, BMW Car IT GmbH.
+License: GPL-2+
+
+Files: src/shared/*
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: src/shared/ad.c
+  src/shared/ad.h
+  src/shared/att-types.h
+  src/shared/att.c
+  src/shared/att.h
+  src/shared/gatt-client.c
+  src/shared/gatt-client.h
+  src/shared/gatt-helpers.c
+  src/shared/gatt-helpers.h
+  src/shared/gatt-server.c
+  src/shared/gatt-server.h
+Copyright: 2014, 2015, Google Inc.
+License: LGPL-2.1+
+
+Files: src/shared/ecc.c
+  src/shared/ecc.h
+Copyright: 2013, Kenneth MacKay
+License: BSD-2-clause
+
+Files: src/shared/hci-crypto.c
+  src/shared/hci-crypto.h
+Copyright: 2013, 2014, 2016, Intel Corporation
+License: LGPL-2.1+
+
+Files: src/shared/mainloop.c
+  src/shared/mainloop.h
+Copyright: 2011-2014, Intel Corporation
+  2002-2010, Marcel Holtmann <marcel@holtmann.org>
+License: LGPL-2.1+
+
+Files: test/*
+Copyright: 2010, 2011, ST-Ericsson SA """
+License: GPL-2+
+
+Files: tools/amptest.c
+  tools/btattach.c
+  tools/btinfo.c
+  tools/btproxy.c
+  tools/btsnoop.c
+  tools/cltest.c
+  tools/eddystone.c
+  tools/ibeacon.c
+  tools/oobtest.c
+Copyright: 2009-2012, Intel Corporation
+  2004-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/avinfo.c
+  tools/avtest.c
+  tools/btiotest.c
+Copyright: 2006-2011, Nokia Corporation
+  2004-2011, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/bccmd.c
+  tools/bdaddr.c
+  tools/ciptool.c
+  tools/csr.c
+  tools/csr.h
+  tools/csr_3wire.c
+  tools/csr_bcsp.c
+  tools/csr_h4.c
+  tools/csr_hci.c
+  tools/csr_usb.c
+  tools/hciattach.h
+  tools/hciattach_st.c
+  tools/hciattach_tialt.c
+  tools/hcieventmask.c
+  tools/hwdb.c
+  tools/mpris-proxy.c
+  tools/rfcomm.c
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/bneptest.c
+  tools/hex2hcd.c
+  tools/mcaptest.c
+  tools/nokfw.c
+  tools/seq2bseq.c
+Copyright: 2011-2015, Intel Corporation
+License: GPL-2+
+
+Files: tools/btgatt-client.c
+  tools/btgatt-server.c
+Copyright: 2012, 2014, 2015, Google Inc.
+License: GPL-2+
+
+Files: tools/gatt-service.c
+Copyright: 2010, 2014, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: tools/hciattach.c
+  tools/hciconfig.c
+  tools/hcitool.c
+  tools/l2ping.c
+  tools/l2test.c
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2000, 2001, Qualcomm Incorporated
+License: GPL-2+
+
+Files: tools/hciattach_ath3k.c
+Copyright: 2009, 2010, Atheros Communications Inc.
+License: GPL-2+
+
+Files: tools/hciattach_qualcomm.c
+Copyright: 2010, Code Aurora Forum.
+  2005-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/hciattach_ti.c
+Copyright: 2007, 2008, Texas Instruments, Inc.
+  2005-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/hcidump.c
+  tools/hcisecfilter.c
+  tools/rctest.c
+  tools/scotest.c
+Copyright: 2002-2011, Marcel Holtmann <marcel@holtmann.org>
+  2000-2003, Maxim Krasnyansky <maxk@qualcomm.com>
+License: GPL-2+
+
+Files: tools/hid2hci.c
+Copyright: 2009-2011, Kay Sievers <kay.sievers@vrfy.org>
+  2008, 2009, Mario Limonciello <mario_limonciello@dell.com>
+  2003-2010, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/obex-client-tool.c
+  tools/obex-server-tool.c
+Copyright: 2008-2011, Intel Corporation.
+License: GPL-2
+
+Files: tools/parser/*
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: tools/parser/amp.c
+  tools/parser/avrcp.c
+  tools/parser/smp.c
+Copyright: 2008-2015, Intel Corporation.
+License: GPL-2+
+
+Files: tools/parser/att.c
+Copyright: 2011, André Dieb Martins <andre.dieb@gmail.com>
+License: GPL-2+
+
+Files: tools/parser/bnep.c
+Copyright: 2003-2011, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Takashi Sasai <sasai@sm.sony.co.jp>
+License: GPL-2+
+
+Files: tools/parser/hci.c
+  tools/parser/l2cap.c
+  tools/parser/l2cap.h
+  tools/parser/parser.c
+  tools/parser/parser.h
+Copyright: 2002-2011, Marcel Holtmann <marcel@holtmann.org>
+  2000-2003, Maxim Krasnyansky <maxk@qualcomm.com>
+License: GPL-2+
+
+Files: tools/parser/rfcomm.c
+  tools/parser/rfcomm.h
+Copyright: 2003-2011, Marcel Holtmann <marcel@holtmann.org>
+  2001, 2002, Wayne Lee <waynelee@qualcomm.com>
+License: GPL-2+
+
+Files: tools/parser/sap.c
+Copyright: 2012, 2013, Tieto Poland
+License: GPL-2+
+
+Files: tools/parser/sdp.c
+  tools/parser/sdp.h
+Copyright: 2003-2011, Marcel Holtmann <marcel@holtmann.org>
+  2001, 2002, Ricky Yuen <ryuen@qualcomm.com>
+License: GPL-2+
+
+Files: tools/sdptool.c
+Copyright: 2002-2010, Marcel Holtmann <marcel@holtmann.org>
+  2002, 2003, Stephen Crane <steve.crane@rococosoft.com>
+  2002, 2003, Maxim Krasnyansky <maxk@qualcomm.com>
+  2002, 2003, Jean Tourrilhes <jt@hpl.hp.com>
+  2001, 2002, Nokia Corporation
+License: GPL-2+
+
+Files: tools/test-runner.c
+Copyright: 2012-2016, Intel Corporation.
+License: LGPL-2.1+
+
+Files: tools/ubcsp.c
+  tools/ubcsp.h
+Copyright: 2000-2005, CSR Ltd.
+License: Expat
+
+Files: unit/test-crc.c
+  unit/test-crypto.c
+  unit/test-eir.c
+  unit/test-gdbus-client.c
+  unit/test-uuid.c
+Copyright: 2011-2015, Intel Corporation
+License: GPL-2+
+
+Files: unit/test-ecc.c
+Copyright: 2013, Kenneth MacKay
+License: BSD-2-clause
+
+Files: unit/test-gattrib.c
+Copyright: 2014, Google, Inc.
+License: GPL-2+
+
+Files: unit/test-lib.c
+Copyright: 2013, Intel Corporation.
+  2013, Instituto Nokia de Tecnologia - INdT
+License: GPL-2+
+
+Files: unit/test-textfile.c
+Copyright: 2002-2012, Marcel Holtmann <marcel@holtmann.org>
+License: GPL-2+
+
+Files: unit/util.c
+  unit/util.h
+Copyright: 2008-2011, Intel Corporation.
+License: GPL-2
+
+Files: debian/*
+Copyright: Edd Dumbill <edd@usefulinc.com>
+  Andrea Veri <andrea.veri89@gmail.com>
+  Filippo Giunchedi <filippo@debian.org>
+  Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>
+  Mario Limonciello <mario_limonciello@dell.com>
+  Scott James Remnant <scott@ubuntu.com>
+  Nobuhiro Iwamatsu <iwamatsu@debian.org>
+License: GPL-2+
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS"BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the complete text of the Apache License,
+ Version 2.0 can be found in '/usr/share/common-licenses/Apache-2.0'.
+
+License: BSD-2-clause
+ Please fill license BSD-2-clause from header of src/shared/ecc.c src/shared/ecc.h
+
+License: Expat
+ The MIT License
+ .
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated
+ documentation files (the "Software"), to deal in the Software
+ without restriction, including without limitation the rights to
+ use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to
+ whom the Software is furnished to do so, subject to the
+ following conditions:
+ .
+ The above copyright notice and this permission notice shall
+ be included in all copies or substantial portions of the
+ Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
+ WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+ SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+License: GPL-2
+ 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; version 2 dated June, 1991.
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+
+ 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; version 2 dated June, 1991, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+
+License: LGPL-2.1+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; version 2.1 of the License, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2.1 of the GNU Lesser
+ General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
diff --git a/debian/libbluetooth-dev.docs b/debian/libbluetooth-dev.docs
new file mode 100644
index 0000000..30d29de
--- /dev/null
+++ b/debian/libbluetooth-dev.docs
@@ -0,0 +1 @@
+doc/*
diff --git a/debian/libbluetooth-dev.install b/debian/libbluetooth-dev.install
new file mode 100644
index 0000000..1c71530
--- /dev/null
+++ b/debian/libbluetooth-dev.install
@@ -0,0 +1,5 @@
+usr/include/bluetooth
+usr/lib/*/libbluetooth.a
+usr/lib/*/libbluetooth.so
+usr/lib/*/pkgconfig
+usr/lib/*/bluetooth/plugins/sixaxis.a
diff --git a/debian/libbluetooth3.install b/debian/libbluetooth3.install
new file mode 100644
index 0000000..38461b6
--- /dev/null
+++ b/debian/libbluetooth3.install
@@ -0,0 +1,3 @@
+usr/lib/*/libbluetooth.so.3
+usr/lib/*/libbluetooth.so.3.*
+usr/lib/*/bluetooth/plugins/sixaxis.so
diff --git a/debian/libbluetooth3.symbols b/debian/libbluetooth3.symbols
new file mode 100644
index 0000000..d08b15d
--- /dev/null
+++ b/debian/libbluetooth3.symbols
@@ -0,0 +1,219 @@
+libbluetooth.so.3 libbluetooth3 #MINVER#
+ ba2oui@Base 4.91
+ ba2str@Base 4.91
+ bachk@Base 4.91
+ bafprintf@Base 4.91
+ baprintf@Base 4.91
+ basnprintf@Base 4.91
+ basprintf@Base 4.91
+ baswap@Base 4.91
+ batostr@Base 4.91
+ bt_compidtostr@Base 4.91
+ bt_error@Base 4.91
+ bt_free@Base 4.91
+ bt_malloc@Base 4.91
+ hci_authenticate_link@Base 4.91
+ hci_bustostr@Base 4.91
+ hci_change_link_key@Base 4.91
+ hci_close_dev@Base 4.91
+ hci_cmdtostr@Base 4.91
+ hci_commandstostr@Base 4.91
+ hci_create_connection@Base 4.91
+ hci_delete_stored_link_key@Base 4.91
+ hci_devba@Base 4.91
+ hci_devid@Base 4.91
+ hci_devinfo@Base 4.91
+ hci_dflagstostr@Base 4.91
+ hci_disconnect@Base 4.91
+ hci_dtypetostr@Base 4.91
+ hci_encrypt_link@Base 4.91
+ hci_exit_park_mode@Base 4.91
+ hci_for_each_dev@Base 4.91
+ hci_get_route@Base 4.91
+ hci_inquiry@Base 4.91
+ hci_le_add_resolving_list@Base 5.33
+ hci_le_add_white_list@Base 4.91
+ hci_le_clear_resolving_list@Base 5.33
+ hci_le_clear_white_list@Base 4.91
+ hci_le_conn_update@Base 4.91
+ hci_le_create_conn@Base 4.91
+ hci_le_read_remote_features@Base 5.33
+ hci_le_read_resolving_list_size@Base 5.33
+ hci_le_read_white_list_size@Base 4.91
+ hci_le_rm_resolving_list@Base 5.33
+ hci_le_rm_white_list@Base 4.91
+ hci_le_set_address_resolution_enable@Base 5.33
+ hci_le_set_advertise_enable@Base 4.91
+ hci_le_set_scan_enable@Base 4.91
+ hci_le_set_scan_parameters@Base 4.91
+ hci_lmtostr@Base 4.91
+ hci_lptostr@Base 4.91
+ hci_open_dev@Base 4.91
+ hci_park_mode@Base 4.91
+ hci_ptypetostr@Base 4.91
+ hci_read_afh_map@Base 4.91
+ hci_read_afh_mode@Base 4.91
+ hci_read_bd_addr@Base 4.91
+ hci_read_class_of_dev@Base 4.91
+ hci_read_clock@Base 4.91
+ hci_read_clock_offset@Base 4.91
+ hci_read_current_iac_lap@Base 4.91
+ hci_read_ext_inquiry_response@Base 4.91
+ hci_read_inq_response_tx_power_level@Base 4.91
+ hci_read_inquiry_mode@Base 4.91
+ hci_read_inquiry_scan_type@Base 4.91
+ hci_read_inquiry_transmit_power_level@Base 4.91
+ hci_read_link_policy@Base 4.91
+ hci_read_link_quality@Base 4.91
+ hci_read_link_supervision_timeout@Base 4.91
+ hci_read_local_commands@Base 4.91
+ hci_read_local_ext_features@Base 4.91
+ hci_read_local_features@Base 4.91
+ hci_read_local_name@Base 4.91
+ hci_read_local_oob_data@Base 4.91
+ hci_read_local_version@Base 4.91
+ hci_read_remote_ext_features@Base 4.91
+ hci_read_remote_features@Base 4.91
+ hci_read_remote_name@Base 4.91
+ hci_read_remote_name_cancel@Base 4.91
+ hci_read_remote_name_with_clock_offset@Base 4.91
+ hci_read_remote_version@Base 4.91
+ hci_read_rssi@Base 4.91
+ hci_read_simple_pairing_mode@Base 4.91
+ hci_read_stored_link_key@Base 4.91
+ hci_read_transmit_power_level@Base 4.91
+ hci_read_voice_setting@Base 4.91
+ hci_scoptypetostr@Base 4.91
+ hci_send_cmd@Base 4.91
+ hci_send_req@Base 4.91
+ hci_set_afh_classification@Base 4.91
+ hci_strtolm@Base 4.91
+ hci_strtolp@Base 4.91
+ hci_strtoptype@Base 4.91
+ hci_strtoscoptype@Base 4.91
+ hci_strtover@Base 4.91
+ hci_switch_role@Base 4.91
+ hci_typetostr@Base 4.91
+ hci_vertostr@Base 4.91
+ hci_write_afh_mode@Base 4.91
+ hci_write_class_of_dev@Base 4.91
+ hci_write_current_iac_lap@Base 4.91
+ hci_write_ext_inquiry_response@Base 4.91
+ hci_write_inquiry_mode@Base 4.91
+ hci_write_inquiry_scan_type@Base 4.91
+ hci_write_inquiry_transmit_power_level@Base 4.91
+ hci_write_link_policy@Base 4.91
+ hci_write_link_supervision_timeout@Base 4.91
+ hci_write_local_name@Base 4.91
+ hci_write_simple_pairing_mode@Base 4.91
+ hci_write_stored_link_key@Base 4.91
+ hci_write_voice_setting@Base 4.91
+ lmp_featurestostr@Base 4.91
+ lmp_strtover@Base 4.91
+ lmp_vertostr@Base 4.91
+ pal_strtover@Base 5.10
+ pal_vertostr@Base 5.10
+ sdp_add_lang_attr@Base 4.101
+ sdp_append_to_buf@Base 4.91
+ sdp_append_to_pdu@Base 4.91
+ sdp_attr_add@Base 4.91
+ sdp_attr_add_new@Base 4.91
+ sdp_attr_remove@Base 4.91
+ sdp_attr_replace@Base 4.91
+ sdp_attrid_comp_func@Base 4.91
+ sdp_close@Base 4.91
+ sdp_connect@Base 4.91
+ sdp_copy_record@Base 4.91
+ sdp_create@Base 4.91
+ sdp_data_alloc@Base 4.91
+ sdp_data_alloc_with_length@Base 4.91
+ sdp_data_free@Base 4.91
+ sdp_data_get@Base 4.91
+ sdp_device_record_register@Base 4.91
+ sdp_device_record_register_binary@Base 4.91
+ sdp_device_record_unregister@Base 4.91
+ sdp_device_record_unregister_binary@Base 4.91
+ sdp_device_record_update@Base 4.91
+ sdp_device_record_update_binary@Base 4.91
+ sdp_extract_attr@Base 4.91
+ sdp_extract_pdu@Base 4.91
+ sdp_extract_seqtype@Base 4.91
+ sdp_gen_pdu@Base 4.91
+ sdp_gen_record_pdu@Base 4.91
+ sdp_gen_tid@Base 4.91
+ sdp_general_inquiry@Base 4.91
+ sdp_get_access_protos@Base 4.91
+ sdp_get_add_access_protos@Base 4.91
+ sdp_get_database_state@Base 4.91
+ sdp_get_error@Base 4.91
+ sdp_get_group_id@Base 4.91
+ sdp_get_int_attr@Base 4.91
+ sdp_get_lang_attr@Base 4.91
+ sdp_get_profile_descs@Base 4.91
+ sdp_get_proto_desc@Base 4.91
+ sdp_get_proto_port@Base 4.91
+ sdp_get_record_state@Base 4.91
+ sdp_get_server_ver@Base 4.91
+ sdp_get_service_avail@Base 4.91
+ sdp_get_service_id@Base 4.91
+ sdp_get_service_ttl@Base 4.91
+ sdp_get_socket@Base 4.91
+ sdp_get_string_attr@Base 4.91
+ sdp_get_supp_feat@Base 4.91
+ sdp_get_uuidseq_attr@Base 4.91
+ sdp_list_append@Base 4.91
+ sdp_list_free@Base 4.91
+ sdp_list_insert_sorted@Base 4.91
+ sdp_list_remove@Base 4.91
+ sdp_pattern_add_uuid@Base 4.91
+ sdp_pattern_add_uuidseq@Base 4.91
+ sdp_process@Base 4.91
+ sdp_profile_uuid2strn@Base 4.91
+ sdp_proto_uuid2strn@Base 4.91
+ sdp_record_alloc@Base 4.91
+ sdp_record_free@Base 4.91
+ sdp_record_print@Base 4.91
+ sdp_record_register@Base 4.91
+ sdp_record_unregister@Base 4.91
+ sdp_record_update@Base 4.91
+ sdp_send_req_w4_rsp@Base 4.91
+ sdp_seq_alloc@Base 4.91
+ sdp_seq_alloc_with_length@Base 4.91
+ sdp_seq_append@Base 4.91
+ sdp_service_attr_async@Base 4.91
+ sdp_service_attr_req@Base 4.91
+ sdp_service_search_async@Base 4.91
+ sdp_service_search_attr_async@Base 4.91
+ sdp_service_search_attr_req@Base 4.91
+ sdp_service_search_req@Base 4.91
+ sdp_set_access_protos@Base 4.91
+ sdp_set_add_access_protos@Base 4.91
+ sdp_set_attrid@Base 4.91
+ sdp_set_group_id@Base 4.91
+ sdp_set_info_attr@Base 4.91
+ sdp_set_lang_attr@Base 4.91
+ sdp_set_notify@Base 4.91
+ sdp_set_profile_descs@Base 4.91
+ sdp_set_seq_len@Base 4.91
+ sdp_set_service_id@Base 4.91
+ sdp_set_supp_feat@Base 4.91
+ sdp_set_url_attr@Base 4.91
+ sdp_set_uuidseq_attr@Base 4.91
+ sdp_svclass_uuid2strn@Base 4.91
+ sdp_uuid128_cmp@Base 4.91
+ sdp_uuid128_create@Base 4.91
+ sdp_uuid128_to_uuid@Base 4.91
+ sdp_uuid16_cmp@Base 4.91
+ sdp_uuid16_create@Base 4.91
+ sdp_uuid16_to_uuid128@Base 4.91
+ sdp_uuid2strn@Base 4.91
+ sdp_uuid32_create@Base 4.91
+ sdp_uuid32_to_uuid128@Base 4.91
+ sdp_uuid_cmp@Base 4.91
+ sdp_uuid_extract@Base 4.91
+ sdp_uuid_to_proto@Base 4.91
+ sdp_uuid_to_uuid128@Base 4.91
+ str2ba@Base 4.91
+ strtoba@Base 4.91
+sixaxis.so libbluetooth3 #MINVER#
+ bluetooth_plugin_desc@Base 5.20
diff --git a/debian/manpages/bluemoon.1 b/debian/manpages/bluemoon.1
new file mode 100644
index 0000000..3654128
--- /dev/null
+++ b/debian/manpages/bluemoon.1
@@ -0,0 +1,34 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH BLUEMOON "1" "April 2018"
+.SH NAME
+bluemoon \- Bluemoon configuration utility
+.SH DESCRIPTION
+bluemoon \- Bluemoon configuration utility
+Usage:
+.IP
+bluemoon [options]
+.SH OPTIONS
+.TP
+\fB\-A\fR, \fB\-\-bdaddr\fR [addr]
+Set Bluetooth address
+.TP
+\fB\-F\fR, \fB\-\-firmware\fR [file]
+Load firmware
+.TP
+\fB\-C\fR, \fB\-\-check\fR <file>
+Check firmware image
+.TP
+\fB\-R\fR, \fB\-\-reset\fR
+Reset controller
+.TP
+\fB\-B\fR, \fB\-\-coldboot\fR
+Cold boot controller
+.TP
+\fB\-E\fR, \fB\-\-exception\fR
+Trigger exception
+.TP
+\fB\-i\fR, \fB\-\-index\fR <num>
+Use specified controller
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show help options
diff --git a/debian/manpages/bluetoothctl.1 b/debian/manpages/bluetoothctl.1
new file mode 100644
index 0000000..eb67ba8
--- /dev/null
+++ b/debian/manpages/bluetoothctl.1
@@ -0,0 +1,22 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH BLUETOOTHCTL "1" "April 2018"
+.SH NAME
+bluetoothctl: \- interactive bluetooth control tool
+.SH DESCRIPTION
+ bluetoothctl ver 5.49
+Usage:
+.IP
+ bluetoothctl [options]
+.SH OPTIONS
+.TP
+\fB\-\-agent\fR
+Register agent handler: <capability>
+.TP
+\fB\-\-timeout\fR
+Timeout in seconds for non\-interactive mode
+.TP
+\fB\-\-version\fR
+Display version
+.TP
+\fB\-\-help\fR
+Display help
diff --git a/debian/manpages/btmgmt.1 b/debian/manpages/btmgmt.1
new file mode 100644
index 0000000..a7ac075
--- /dev/null
+++ b/debian/manpages/btmgmt.1
@@ -0,0 +1,20 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH BTMGMT "1" "April 2018"
+.SH NAME
+btmgmt: \- A command-line interface of BlueZ for management
+Usage:
+.IP
+btmgmt [options]
+.SH OPTIONS
+.TP
+\fB\-\-index\fR
+Specify adapter index
+.TP
+\fB\-\-timeout\fR
+Timeout in seconds for non\-interactive mode
+.TP
+\fB\-\-version\fR
+Display version
+.TP
+\fB\-\-help\fR
+Display help
diff --git a/debian/manpages/btmon.1 b/debian/manpages/btmon.1
new file mode 100644
index 0000000..8c374e1
--- /dev/null
+++ b/debian/manpages/btmon.1
@@ -0,0 +1,50 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH BTMON "1" "April 2018"
+.SH NAME
+btmon \- Bluetooth monitor
+.SH DESCRIPTION
+btmon \- Bluetooth monitor
+Usage:
+.IP
+btmon [options]
+.SS "options:"
+.TP
+\fB\-r\fR, \fB\-\-read\fR <file>
+Read traces in btsnoop format
+.TP
+\fB\-w\fR, \fB\-\-write\fR <file>
+Save traces in btsnoop format
+.TP
+\fB\-a\fR, \fB\-\-analyze\fR <file>
+Analyze traces in btsnoop format
+.TP
+\fB\-s\fR, \fB\-\-server\fR <socket>
+Start monitor server socket
+.HP
+\fB\-p\fR, \fB\-\-priority\fR <level> Show only priority or lower
+.TP
+\fB\-i\fR, \fB\-\-index\fR <num>
+Show only specified controller
+.TP
+\fB\-d\fR, \fB\-\-tty\fR <tty>
+Read data from TTY
+.HP
+\fB\-B\fR, \fB\-\-tty\-speed\fR <rate> Set TTY speed (default 115200)
+.TP
+\fB\-t\fR, \fB\-\-time\fR
+Show time instead of time offset
+.TP
+\fB\-T\fR, \fB\-\-date\fR
+Show time and date information
+.TP
+\fB\-S\fR, \fB\-\-sco\fR
+Dump SCO traffic
+.TP
+\fB\-A\fR, \fB\-\-a2dp\fR
+Dump A2DP stream traffic
+.TP
+\fB\-E\fR, \fB\-\-ellisys\fR [ip]
+Send Ellisys HCI Injection
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show help options
diff --git a/debian/manpages/gatttool.1 b/debian/manpages/gatttool.1
new file mode 100644
index 0000000..4dd3bf9
--- /dev/null
+++ b/debian/manpages/gatttool.1
@@ -0,0 +1,30 @@
+.TH GATTTOOL "1" "Aug 2015"
+.SH NAME
+gatttool \- tool for Bluetooth Low Energy device
+.SH SYNOPSIS
+.B  gatttool
+.SH DESCRIPTION
+\fBgatttool\fP is tool that can be used to manipulate these attributes with a Bluetooth Low Energy device.
+.SH USAGE
+  gatttool [OPTION...]
+
+Help Options:
+  \fB-h\fP, \fB--help\fP                                  Show help options
+  \fB-h\fP, \fB--help\fP                                  Show help options
+  \fB--help-all\fP                                  Show all help options
+  \fB--help-gatt\fP                                 Show all GATT commands
+  \fB--help-params\fP                               Show all Primary Services/Characteristics arguments
+  \fB--help-char-read-write\fP                      Show all Characteristics Value/Descriptor Read/Write arguments
+
+Application Options:
+  \fB--i\fP, \fB---adapter=hciX\fP                        Specify local adapter interface
+  \fB--b\fP, \fB---device=MAC\fP                          Specify remote Bluetooth address
+  \fB--t\fP, \fB---addr-type=[public | random]\fP         Set LE address type. Default: public
+  \fB--m\fP, \fB---mtu=MTU\fP                             Specify the MTU size
+  \fB--p\fP, \fB---psm=PSM\fP                             Specify the PSM for GATT/ATT over BR/EDR
+  \fB--l\fP, \fB---sec-level=[low | medium | high]\fP     Set security level. Default: low
+  \fB--I\fP, \fB---interactive\fP                         Use interactive mode
+
+.SH AUTHOR
+This manual page was written by Nobuhiro Iwamatsu <iwamatsu@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/manpages/hex2hcd.1 b/debian/manpages/hex2hcd.1
new file mode 100644
index 0000000..f58f1ba
--- /dev/null
+++ b/debian/manpages/hex2hcd.1
@@ -0,0 +1,16 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH HEX2HCD "1" "April 2018"
+.SH NAME
+hex2hcd \- Broadcom Bluetooth firmware converter
+.SH DESCRIPTION
+Broadcom Bluetooth firmware converter
+Usage:
+.IP
+hex2hcd [options] <file>
+.SH OPTIONS
+.TP
+\fB\-o\fR, \fB\-\-output\fR <file>
+Provide firmware output file
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show help options
diff --git a/debian/manpages/l2test.1 b/debian/manpages/l2test.1
new file mode 100644
index 0000000..66c8b00
--- /dev/null
+++ b/debian/manpages/l2test.1
@@ -0,0 +1,127 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH L2TEST "1" "April 2018"
+.SH NAME
+l2test \- L2CAP testing tool
+.SH DESCRIPTION
+l2test \- L2CAP testing tool
+Usage:
+.IP
+l2test <mode> [options] [bdaddr]
+.SS "Modes:"
+.HP
+\fB\-r\fR listen and receive
+.HP
+\fB\-w\fR listen and send
+.HP
+\fB\-d\fR listen and dump incoming data
+.HP
+\fB\-x\fR listen, then send, then dump incoming data
+.HP
+\fB\-t\fR listen, then send and receive at the same time
+.HP
+\fB\-q\fR connect, then send and receive at the same time
+.HP
+\fB\-s\fR connect and send
+.HP
+\fB\-u\fR connect and receive
+.HP
+\fB\-n\fR connect and be silent
+.HP
+\fB\-y\fR connect, then send, then dump incoming data
+.HP
+\fB\-c\fR connect, disconnect, connect, ...
+.HP
+\fB\-m\fR multiple connects
+.HP
+\fB\-p\fR trigger dedicated bonding
+.HP
+\fB\-z\fR information request
+.SH OPTIONS
+.IP
+[\-b bytes] [\-i device] [\-P psm] [\-J cid]
+[\-I imtu] [\-O omtu]
+[\-L seconds] enable SO_LINGER
+[\-W seconds] enable deferred setup
+[\-B filename] use data packets from file
+[\-N num] send num frames (default = infinite)
+[\-C num] send num frames before delay (default = 1)
+[\-D milliseconds] delay after sending num frames (default = 0)
+[\-K milliseconds] delay before receiving (default = 0)
+[\-g milliseconds] delay before disconnecting (default = 0)
+[\-X mode] l2cap mode (help for list, default = basic)
+[\-a policy] chan policy (help for list, default = bredr)
+[\-F fcs] use CRC16 check (default = 1)
+[\-Q num] Max Transmit value (default = 3)
+[\-Z size] Transmission Window size (default = 63)
+[\-Y priority] socket priority
+[\-H size] Maximum receive buffer size
+[\-R] reliable mode
+[\-G] use connectionless channel (datagram)
+[\-U] use sock stream
+[\-A] request authentication
+[\-E] request encryption
+[\-S] secure connection
+[\-M] become master
+[\-T] enable timestamps
+[\-V type] address type (help for list, default = bredr)
+[\-e seq] initial sequence value (default = 0)
+.SS "Usage:"
+.IP
+l2test <mode> [options] [bdaddr]
+.SS "Modes:"
+.HP
+\fB\-r\fR listen and receive
+.HP
+\fB\-w\fR listen and send
+.HP
+\fB\-d\fR listen and dump incoming data
+.HP
+\fB\-x\fR listen, then send, then dump incoming data
+.HP
+\fB\-t\fR listen, then send and receive at the same time
+.HP
+\fB\-q\fR connect, then send and receive at the same time
+.HP
+\fB\-s\fR connect and send
+.HP
+\fB\-u\fR connect and receive
+.HP
+\fB\-n\fR connect and be silent
+.HP
+\fB\-y\fR connect, then send, then dump incoming data
+.HP
+\fB\-c\fR connect, disconnect, connect, ...
+.HP
+\fB\-m\fR multiple connects
+.HP
+\fB\-p\fR trigger dedicated bonding
+.HP
+\fB\-z\fR information request
+.IP
+[\-b bytes] [\-i device] [\-P psm] [\-J cid]
+[\-I imtu] [\-O omtu]
+[\-L seconds] enable SO_LINGER
+[\-W seconds] enable deferred setup
+[\-B filename] use data packets from file
+[\-N num] send num frames (default = infinite)
+[\-C num] send num frames before delay (default = 1)
+[\-D milliseconds] delay after sending num frames (default = 0)
+[\-K milliseconds] delay before receiving (default = 0)
+[\-g milliseconds] delay before disconnecting (default = 0)
+[\-X mode] l2cap mode (help for list, default = basic)
+[\-a policy] chan policy (help for list, default = bredr)
+[\-F fcs] use CRC16 check (default = 1)
+[\-Q num] Max Transmit value (default = 3)
+[\-Z size] Transmission Window size (default = 63)
+[\-Y priority] socket priority
+[\-H size] Maximum receive buffer size
+[\-R] reliable mode
+[\-G] use connectionless channel (datagram)
+[\-U] use sock stream
+[\-A] request authentication
+[\-E] request encryption
+[\-S] secure connection
+[\-M] become master
+[\-T] enable timestamps
+[\-V type] address type (help for list, default = bredr)
+[\-e seq] initial sequence value (default = 0)
diff --git a/debian/manpages/mpris-proxy.1 b/debian/manpages/mpris-proxy.1
new file mode 100644
index 0000000..3c3a81a
--- /dev/null
+++ b/debian/manpages/mpris-proxy.1
@@ -0,0 +1,21 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH MPRIS\-PROXY "1" "April 2018"
+.SH NAME
+mpris\-proxy \- Bluetooth mpris-proxy
+.SH DESCRIPTION
+.SS "Usage:"
+.IP
+mpris\-proxy [OPTION?]
+.SS "Help Options:"
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Show help options
+.SS "Application Options:"
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Show version information and exit
+.TP
+\fB\-e\fR, \fB\-\-export\fR
+Export remote players
+.PP
+Usage:
diff --git a/debian/manpages/obexctl.1 b/debian/manpages/obexctl.1
new file mode 100644
index 0000000..d486bdf
--- /dev/null
+++ b/debian/manpages/obexctl.1
@@ -0,0 +1,18 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.6.
+.TH OBEXCTL "1" "April 2018"
+.SH NAME
+obexctl \- A command-line interface of BlueZ for OBEX (file transfer)
+
+Usage:
+.IP
+obexctl [options]
+.SH OPTIONS
+.TP
+\fB\-\-timeout\fR
+Timeout in seconds for non\-interactive mode
+.TP
+\fB\-\-version\fR
+Display version
+.TP
+\fB\-\-help\fR
+Display help
diff --git a/debian/patches/Fix-typo.patch b/debian/patches/Fix-typo.patch
new file mode 100644
index 0000000..51c7fbd
--- /dev/null
+++ b/debian/patches/Fix-typo.patch
@@ -0,0 +1,534 @@
+From c9f6b9a09dfadf23802949f969f3b25fd5c913ab Mon Sep 17 00:00:00 2001
+From: Nobuhiro Iwamatsu <iwamatsu@debian.org>
+Date: Tue, 20 Mar 2018 11:01:17 +0900
+Subject: [PATCH] Fix typo
+
+This commit fixes following typo:
+
+  Refrence -> Reference
+  Unkown -> Unknown
+  disappered -> disappeared
+  WRITTING -> WRITING
+  fragement -> fragment
+  specifiy -> specify
+  errror -> error
+  retreive -> retrieve
+  Successfuly -> Successfully
+  avaiable -> available
+  bandwith -> bandwidth/
+  futher -> further
+  occured/ -> occurred
+  immediatelly -> immediately
+  Seach -> Search
+  Lenght -> Length
+  miliseconds -> milliseconds
+  missmatch -> mismatch
+
+Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org>
+---
+ attrib/att.c               | 2 +-
+ emulator/btdev.c           | 2 +-
+ monitor/avctp.c            | 6 +++---
+ monitor/ll.c               | 2 +-
+ obexd/plugins/bluetooth.c  | 2 +-
+ obexd/plugins/pcsuite.c    | 2 +-
+ obexd/src/manager.c        | 2 +-
+ plugins/policy.c           | 4 ++--
+ profiles/battery/battery.c | 2 +-
+ profiles/gap/gas.c         | 2 +-
+ profiles/health/mcap.c     | 2 +-
+ profiles/midi/midi.c       | 2 +-
+ src/adapter.c              | 6 +++---
+ src/shared/util.c          | 2 +-
+ tools/btpclient.c          | 2 +-
+ tools/ciptool.c            | 2 +-
+ tools/parser/att.c         | 2 +-
+ tools/parser/avrcp.c       | 8 ++++----
+ tools/parser/hci.c         | 6 +++---
+ tools/parser/l2cap.c       | 4 ++--
+ tools/parser/smp.c         | 4 ++--
+ 21 files changed, 33 insertions(+), 33 deletions(-)
+
+diff --git a/attrib/att.c b/attrib/att.c
+index 826b3c183..085f6004b 100644
+--- a/attrib/att.c
++++ b/attrib/att.c
+@@ -87,7 +87,7 @@ const char *att_ecode2str(uint8_t status)
+ 	case ATT_ECODE_IO:
+ 		return "Internal application error: I/O";
+ 	case ATT_ECODE_TIMEOUT:
+-		return "A timeout occured";
++		return "A timeout occurred";
+ 	case ATT_ECODE_ABORTED:
+ 		return "The operation was aborted";
+ 	default:
+diff --git a/emulator/btdev.c b/emulator/btdev.c
+index 69d84a5fc..d674a5c4c 100644
+--- a/emulator/btdev.c
++++ b/emulator/btdev.c
+@@ -155,7 +155,7 @@ struct inquiry_data {
+ 	int iter;
+ };
+ 
+-#define DEFAULT_INQUIRY_INTERVAL 100 /* 100 miliseconds */
++#define DEFAULT_INQUIRY_INTERVAL 100 /* 100 milliseconds */
+ 
+ #define MAX_BTDEV_ENTRIES 16
+ 
+diff --git a/monitor/avctp.c b/monitor/avctp.c
+index 94385d252..d4ce5b3c9 100644
+--- a/monitor/avctp.c
++++ b/monitor/avctp.c
+@@ -1326,13 +1326,13 @@ static bool avrcp_get_play_status(struct avctp_frame *avctp_frame,
+ 	if (!l2cap_frame_get_be32(frame, &interval))
+ 		return false;
+ 
+-	print_field("%*cSongLength: 0x%08x (%u miliseconds)",
++	print_field("%*cSongLength: 0x%08x (%u milliseconds)",
+ 					(indent - 8), ' ', interval, interval);
+ 
+ 	if (!l2cap_frame_get_be32(frame, &interval))
+ 		return false;
+ 
+-	print_field("%*cSongPosition: 0x%08x (%u miliseconds)",
++	print_field("%*cSongPosition: 0x%08x (%u milliseconds)",
+ 					(indent - 8), ' ', interval, interval);
+ 
+ 	if (!l2cap_frame_get_u8(frame, &status))
+@@ -1397,7 +1397,7 @@ response:
+ 		if (!l2cap_frame_get_be32(frame, &interval))
+ 			return false;
+ 
+-		print_field("%*cPosition: 0x%08x (%u miliseconds)",
++		print_field("%*cPosition: 0x%08x (%u milliseconds)",
+ 					(indent - 8), ' ', interval, interval);
+ 		break;
+ 	case AVRCP_EVENT_BATT_STATUS_CHANGED:
+diff --git a/monitor/ll.c b/monitor/ll.c
+index c5e110549..07cbfba08 100644
+--- a/monitor/ll.c
++++ b/monitor/ll.c
+@@ -267,7 +267,7 @@ static void data_packet(const void *data, uint8_t size, bool padded)
+ 	switch (llid) {
+ 	case 0x01:
+ 		if (length > 0)
+-			str = "Continuation fragement of L2CAP message";
++			str = "Continuation fragment of L2CAP message";
+ 		else
+ 			str = "Empty message";
+ 		break;
+diff --git a/obexd/plugins/bluetooth.c b/obexd/plugins/bluetooth.c
+index ba1e0a99a..2c4c8f130 100644
+--- a/obexd/plugins/bluetooth.c
++++ b/obexd/plugins/bluetooth.c
+@@ -351,7 +351,7 @@ static void name_released(DBusConnection *conn, void *user_data)
+ {
+ 	GSList *l;
+ 
+-	DBG("org.bluez disappered");
++	DBG("org.bluez disappeared");
+ 
+ 	for (l = profiles; l; l = l->next) {
+ 		struct bluetooth_profile *profile = l->data;
+diff --git a/obexd/plugins/pcsuite.c b/obexd/plugins/pcsuite.c
+index 43ab409e9..fb9c2bf1b 100644
+--- a/obexd/plugins/pcsuite.c
++++ b/obexd/plugins/pcsuite.c
+@@ -457,7 +457,7 @@ static ssize_t backup_write(void *object, const void *buf, size_t count)
+ 	if (obj->fd != -1) {
+ 		ret = write(obj->fd, buf, count);
+ 
+-		DBG("cmd = %s, WRITTING", obj->cmd);
++		DBG("cmd = %s, WRITING", obj->cmd);
+ 
+ 		if (ret < 0) {
+ 			error("backup: cmd = %s", obj->cmd);
+diff --git a/obexd/src/manager.c b/obexd/src/manager.c
+index a4af627cb..218f5f44a 100644
+--- a/obexd/src/manager.c
++++ b/obexd/src/manager.c
+@@ -52,7 +52,7 @@
+ #define SESSION_INTERFACE OBEXD_SERVICE ".Session1"
+ #define AGENT_INTERFACE OBEXD_SERVICE ".Agent1"
+ 
+-#define TIMEOUT 60*1000 /* Timeout for user response (miliseconds) */
++#define TIMEOUT 60*1000 /* Timeout for user response (milliseconds) */
+ 
+ struct agent {
+ 	char *bus_name;
+diff --git a/plugins/policy.c b/plugins/policy.c
+index 1f5a506a2..d328b8b87 100644
+--- a/plugins/policy.c
++++ b/plugins/policy.c
+@@ -284,7 +284,7 @@ static void sink_cb(struct btd_service *service, btd_service_state_t old_state,
+ 		}
+ 
+ 		/* Check if service initiate the connection then proceed
+-		 * immediatelly otherwise set timer
++		 * immediately otherwise set timer
+ 		 */
+ 		if (old_state == BTD_SERVICE_STATE_CONNECTING)
+ 			policy_connect(data, controller);
+@@ -399,7 +399,7 @@ static void source_cb(struct btd_service *service,
+ 		}
+ 
+ 		/* Check if service initiate the connection then proceed
+-		 * immediatelly otherwise set timer
++		 * immediately otherwise set timer
+ 		 */
+ 		if (old_state == BTD_SERVICE_STATE_CONNECTING)
+ 			policy_connect(data, target);
+diff --git a/profiles/battery/battery.c b/profiles/battery/battery.c
+index 4da4355a1..4114f801d 100644
+--- a/profiles/battery/battery.c
++++ b/profiles/battery/battery.c
+@@ -176,7 +176,7 @@ static void read_initial_battery_level_cb(bool success,
+ 	struct batt *batt = user_data;
+ 
+ 	if (!success) {
+-		DBG("Reading battery level failed with ATT errror: %u",
++		DBG("Reading battery level failed with ATT error: %u",
+ 								att_ecode);
+ 		return;
+ 	}
+diff --git a/profiles/gap/gas.c b/profiles/gap/gas.c
+index 43b7c3d0e..531900914 100644
+--- a/profiles/gap/gas.c
++++ b/profiles/gap/gas.c
+@@ -98,7 +98,7 @@ static void read_device_name_cb(bool success, uint8_t att_ecode,
+ 	char *name;
+ 
+ 	if (!success) {
+-		DBG("Reading device name failed with ATT errror: %u",
++		DBG("Reading device name failed with ATT error: %u",
+ 								att_ecode);
+ 		return;
+ 	}
+diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c
+index cc47a1e6d..e5095342c 100644
+--- a/profiles/health/mcap.c
++++ b/profiles/health/mcap.c
+@@ -2854,7 +2854,7 @@ static void proc_sync_set_req(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len)
+ 			return;
+ 		}
+ 
+-		/* Convert to miliseconds */
++		/* Convert to milliseconds */
+ 		phase2_delay = bt2ms(phase2_delay);
+ 
+ 		if (phase2_delay > 61*1000) {
+diff --git a/profiles/midi/midi.c b/profiles/midi/midi.c
+index fdc1c007d..d1940c626 100644
+--- a/profiles/midi/midi.c
++++ b/profiles/midi/midi.c
+@@ -327,7 +327,7 @@ static int midi_accept(struct btd_service *service)
+ 
+ 	err = snd_seq_client_id(midi->seq_handle);
+ 	if (err < 0) {
+-		error("Could retreive ALSA client: %s (%d)", snd_strerror(err), err);
++		error("Could retrieve ALSA client: %s (%d)", snd_strerror(err), err);
+ 		goto _err_handle;
+ 	}
+ 	midi->seq_client_id = err;
+diff --git a/src/adapter.c b/src/adapter.c
+index 6d7d61504..17c865a2a 100644
+--- a/src/adapter.c
++++ b/src/adapter.c
+@@ -3601,7 +3601,7 @@ static void set_privacy_complete(uint8_t status, uint16_t length,
+ 		return;
+ 	}
+ 
+-	DBG("Successfuly set privacy for index %u", adapter->dev_id);
++	DBG("Successfully set privacy for index %u", adapter->dev_id);
+ }
+ 
+ static int set_privacy(struct btd_adapter *adapter, uint8_t privacy)
+@@ -4586,7 +4586,7 @@ void adapter_auto_connect_add(struct btd_adapter *adapter,
+ 	bdaddr_type = btd_device_get_bdaddr_type(device);
+ 
+ 	if (bdaddr_type == BDADDR_BREDR) {
+-		DBG("auto-connection feature is not avaiable for BR/EDR");
++		DBG("auto-connection feature is not available for BR/EDR");
+ 		return;
+ 	}
+ 
+@@ -4646,7 +4646,7 @@ void adapter_auto_connect_remove(struct btd_adapter *adapter,
+ 	bdaddr_type = btd_device_get_bdaddr_type(device);
+ 
+ 	if (bdaddr_type == BDADDR_BREDR) {
+-		DBG("auto-connection feature is not avaiable for BR/EDR");
++		DBG("auto-connection feature is not available for BR/EDR");
+ 		return;
+ 	}
+ 
+diff --git a/src/shared/util.c b/src/shared/util.c
+index 986e2b22d..674f7057c 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -210,7 +210,7 @@ static const struct {
+ 	{ 0x111d, "Imaging Referenced Objects"			},
+ 	{ 0x111e, "Handsfree"					},
+ 	{ 0x111f, "Handsfree Audio Gateway"			},
+-	{ 0x1120, "Direct Printing Refrence Objects Service"	},
++	{ 0x1120, "Direct Printing Reference Objects Service"	},
+ 	{ 0x1121, "Reflected UI"				},
+ 	{ 0x1122, "Basic Printing"				},
+ 	{ 0x1123, "Printing Status"				},
+diff --git a/tools/btpclient.c b/tools/btpclient.c
+index b217df58f..3e7a06f3a 100644
+--- a/tools/btpclient.c
++++ b/tools/btpclient.c
+@@ -2305,7 +2305,7 @@ static void btp_gap_pair(uint8_t index, const void *param, uint16_t length,
+ 	if (!device)
+ 		goto failed;
+ 
+-	/* This command is asynchronous, send reply immediatelly to not block
++	/* This command is asynchronous, send reply immediately to not block
+ 	 * pairing process eg. passkey request.
+ 	 */
+ 	btp_send(btp, BTP_GAP_SERVICE, BTP_OP_GAP_PAIR, adapter->index, 0,
+diff --git a/tools/ciptool.c b/tools/ciptool.c
+index e60493d1b..e9816d4ba 100644
+--- a/tools/ciptool.c
++++ b/tools/ciptool.c
+@@ -312,7 +312,7 @@ static void cmd_release(int ctl, bdaddr_t *bdaddr, int argc, char **argv)
+ 			return;
+ 
+ 		if (cl.cnum != 1) {
+-			fprintf(stderr, "You have to specifiy the device address.\n");
++			fprintf(stderr, "You have to specify the device address.\n");
+ 			exit(1);
+ 		}
+ 
+diff --git a/tools/parser/att.c b/tools/parser/att.c
+index 82766c77f..9d5e032f1 100644
+--- a/tools/parser/att.c
++++ b/tools/parser/att.c
+@@ -534,7 +534,7 @@ static void att_exec_write_req_dump(int level, struct frame *frm)
+ 	if (flags == 0x00)
+ 		printf("cancel all prepared writes ");
+ 	else
+-		printf("immediatelly write all pending prepared values ");
++		printf("immediately write all pending prepared values ");
+ 
+ 	printf("(0x%2.2x)\n", flags);
+ }
+diff --git a/tools/parser/avrcp.c b/tools/parser/avrcp.c
+index 5f292722c..7532ee9b1 100644
+--- a/tools/parser/avrcp.c
++++ b/tools/parser/avrcp.c
+@@ -390,7 +390,7 @@ static const char *error2str(uint8_t status)
+ 	case AVRCP_STATUS_NOW_PLAYING_LIST_FULL:
+ 		return "Now Playing List Full";
+ 	case AVRCP_STATUS_SEARCH_NOT_SUPPORTED:
+-		return "Seach Not Supported";
++		return "Search Not Supported";
+ 	case AVRCP_STATUS_SEARCH_IN_PROGRESS:
+ 		return "Search in Progress";
+ 	case AVRCP_STATUS_INVALID_PLAYER_ID:
+@@ -1100,7 +1100,7 @@ static void avrcp_get_play_status_dump(int level, struct frame *frm,
+ 	}
+ 
+ 	interval = p_get_u32(frm);
+-	printf("SongLength: 0x%08x (%u miliseconds)\n", interval, interval);
++	printf("SongLength: 0x%08x (%u milliseconds)\n", interval, interval);
+ 
+ 	p_indent(level, frm);
+ 
+@@ -1166,7 +1166,7 @@ response:
+ 		break;
+ 	case AVRCP_EVENT_PLAYBACK_POS_CHANGED:
+ 		interval = p_get_u32(frm);
+-		printf("Position: 0x%08x (%u miliseconds)\n", interval,
++		printf("Position: 0x%08x (%u milliseconds)\n", interval,
+ 								interval);
+ 		break;
+ 	case AVRCP_EVENT_BATT_STATUS_CHANGED:
+@@ -1574,7 +1574,7 @@ static void avrcp_passthrough_dump(int level, struct frame *frm)
+ 
+ 	len = p_get_u8(frm);
+ 
+-	printf("Lenght: 0x%02x\n", len);
++	printf("Length: 0x%02x\n", len);
+ 
+ 	raw_dump(level, frm);
+ }
+diff --git a/tools/parser/hci.c b/tools/parser/hci.c
+index 8c7bd2581..224a3b888 100644
+--- a/tools/parser/hci.c
++++ b/tools/parser/hci.c
+@@ -1187,7 +1187,7 @@ static inline void qos_setup_dump(int level, struct frame *frm)
+ 	p_indent(level, frm);
+ 	printf("Token rate: %d\n", btohl(cp->qos.token_rate));
+ 	p_indent(level, frm);
+-	printf("Peak bandwith: %d\n", btohl(cp->qos.peak_bandwidth));
++	printf("Peak bandwidth: %d\n", btohl(cp->qos.peak_bandwidth));
+ 	p_indent(level, frm);
+ 	printf("Latency: %d\n", btohl(cp->qos.latency));
+ 	p_indent(level, frm);
+@@ -3218,7 +3218,7 @@ static inline void qos_setup_complete_dump(int level, struct frame *frm)
+ 		p_indent(level, frm);
+ 		printf("Token rate: %d\n", btohl(evt->qos.token_rate));
+ 		p_indent(level, frm);
+-		printf("Peak bandwith: %d\n", btohl(evt->qos.peak_bandwidth));
++		printf("Peak bandwidth: %d\n", btohl(evt->qos.peak_bandwidth));
+ 		p_indent(level, frm);
+ 		printf("Latency: %d\n", btohl(evt->qos.latency));
+ 		p_indent(level, frm);
+@@ -3373,7 +3373,7 @@ static inline void flow_spec_complete_dump(int level, struct frame *frm)
+ 		p_indent(level, frm);
+ 		printf("Token rate: %d\n", btohl(evt->qos.token_rate));
+ 		p_indent(level, frm);
+-		printf("Peak bandwith: %d\n", btohl(evt->qos.peak_bandwidth));
++		printf("Peak bandwidth: %d\n", btohl(evt->qos.peak_bandwidth));
+ 		p_indent(level, frm);
+ 		printf("Latency: %d\n", btohl(evt->qos.latency));
+ 		p_indent(level, frm);
+diff --git a/tools/parser/l2cap.c b/tools/parser/l2cap.c
+index a05796482..73b3c7204 100644
+--- a/tools/parser/l2cap.c
++++ b/tools/parser/l2cap.c
+@@ -303,7 +303,7 @@ static char *status2str(uint16_t status)
+ {
+ 	switch (status) {
+ 	case 0x0000:
+-		return "No futher information available";
++		return "No further information available";
+ 	case 0x0001:
+ 		return "Authentication pending";
+ 	case 0x0002:
+@@ -478,7 +478,7 @@ static char *a2mpcplstatus2str(uint8_t status)
+ 	case A2MP_STATUS_UNABLE_START_LINK_CREATION:
+ 		return "Failed - Unable to start link creation";
+ 	case A2MP_STATUS_COLLISION_OCCURED:
+-		return "Failed - Collision occured";
++		return "Failed - Collision occurred";
+ 	case A2MP_STATUS_DISCONN_REQ_RECVD:
+ 		return "Failed - Disconnect physical link received";
+ 	case A2MP_STATUS_PHYS_LINK_EXISTS:
+diff --git a/tools/parser/smp.c b/tools/parser/smp.c
+index 97f02faa8..0ff27c6a7 100644
+--- a/tools/parser/smp.c
++++ b/tools/parser/smp.c
+@@ -119,7 +119,7 @@ static const char *smpio2str(uint8_t cap)
+ 	case SMP_IO_KEYBOARD_DISPLAY:
+ 		return "KeyboardDisplay";
+ 	default:
+-		return "Unkown";
++		return "Unknown";
+ 	}
+ }
+ 
+@@ -145,7 +145,7 @@ static const char *smpreason2str(uint8_t reason)
+ 	case SMP_REASON_REPEATED_ATTEMPTS:
+ 		return "Repeated Attempts";
+ 	default:
+-		return "Unkown";
++		return "Unknown";
+ 	}
+ }
+ 
+-- 
+2.16.2
+
+diff --git a/android/tester-main.c b/android/tester-main.c
+index e9b13537a..7381874ce 100644
+--- a/android/tester-main.c
++++ b/android/tester-main.c
+@@ -506,20 +506,20 @@ static bool match_mas_inst(btmce_mas_instance_t *exp_inst,
+ 				btmce_mas_instance_t *rec_inst, int inst_num)
+ {
+ 	if (exp_inst->id && (exp_inst->id != rec_inst->id)) {
+-		tester_debug("MAS inst. [%d] id missmatch %d vs %d", inst_num,
++		tester_debug("MAS inst. [%d] id mismatch %d vs %d", inst_num,
+ 						rec_inst->id, exp_inst->id);
+ 		return 0;
+ 	}
+ 
+ 	if (exp_inst->scn && (exp_inst->scn != rec_inst->scn)) {
+-		tester_debug("MAS inst. [%d] scn missmatch %d vs %d", inst_num,
++		tester_debug("MAS inst. [%d] scn mismatch %d vs %d", inst_num,
+ 						rec_inst->scn, exp_inst->scn);
+ 		return 0;
+ 	}
+ 
+ 	if (exp_inst->msg_types &&
+ 			(exp_inst->msg_types != rec_inst->msg_types)) {
+-		tester_debug("Mas inst. [%d] mesg type missmatch %d vs %d",
++		tester_debug("Mas inst. [%d] mesg type mismatch %d vs %d",
+ 					inst_num, rec_inst->scn, exp_inst->scn);
+ 		return 0;
+ 	}
+diff --git a/tools/btpclient.c b/tools/btpclient.c
+index b217df58f..67264a7b4 100644
+--- a/tools/btpclient.c
++++ b/tools/btpclient.c
+@@ -2501,7 +2501,7 @@ static void btp_gap_confirm_entry_rsp(uint8_t index, const void *param,
+ 	} else {
+ 		reply = l_dbus_message_new_error(ag.pending_req,
+ 						"org.bluez.Error.Rejected",
+-						"Passkey missmatch");
++						"Passkey mismatch");
+ 	}
+ 
+ 	l_dbus_send_with_reply(dbus, ag.pending_req, passkey_confirm_rsp_reply,
+diff --git a/tools/l2test.c b/tools/l2test.c
+index 18194236b..295c3ddd4 100644
+--- a/tools/l2test.c
++++ b/tools/l2test.c
+@@ -918,7 +918,7 @@ static void recv_mode(int sk)
+ 			/* Check sequence */
+ 			sq = get_le32(buf);
+ 			if (seq != sq) {
+-				syslog(LOG_INFO, "seq missmatch: %d -> %d", seq, sq);
++				syslog(LOG_INFO, "seq mismatch: %d -> %d", seq, sq);
+ 				seq = sq;
+ 			}
+ 			seq++;
+@@ -926,14 +926,14 @@ static void recv_mode(int sk)
+ 			/* Check length */
+ 			l = get_le16(buf + 4);
+ 			if (len != l) {
+-				syslog(LOG_INFO, "size missmatch: %d -> %d", len, l);
++				syslog(LOG_INFO, "size mismatch: %d -> %d", len, l);
+ 				continue;
+ 			}
+ 
+ 			/* Verify data */
+ 			for (i = 6; i < len; i++) {
+ 				if (buf[i] != 0x7f)
+-					syslog(LOG_INFO, "data missmatch: byte %d 0x%2.2x", i, buf[i]);
++					syslog(LOG_INFO, "data mismatch: byte %d 0x%2.2x", i, buf[i]);
+ 			}
+ 
+ 			total += len;
+diff --git a/tools/rctest.c b/tools/rctest.c
+index 6d84e075b..7b11ade95 100644
+--- a/tools/rctest.c
++++ b/tools/rctest.c
+@@ -517,7 +517,7 @@ static void recv_mode(int sk)
+ 			/* Check sequence */
+ 			sq = btohl(*(uint32_t *) buf);
+ 			if (seq != sq) {
+-				syslog(LOG_INFO, "seq missmatch: %d -> %d", seq, sq);
++				syslog(LOG_INFO, "seq mismatch: %d -> %d", seq, sq);
+ 				seq = sq;
+ 			}
+ 			seq++;
+@@ -525,14 +525,14 @@ static void recv_mode(int sk)
+ 			/* Check length */
+ 			l = btohs(*(uint16_t *) (buf + 4));
+ 			if (r != l) {
+-				syslog(LOG_INFO, "size missmatch: %d -> %d", r, l);
++				syslog(LOG_INFO, "size mismatch: %d -> %d", r, l);
+ 				continue;
+ 			}
+ 
+ 			/* Verify data */
+ 			for (i = 6; i < r; i++) {
+ 				if (buf[i] != 0x7f)
+-					syslog(LOG_INFO, "data missmatch: byte %d 0x%2.2x", i, buf[i]);
++					syslog(LOG_INFO, "data mismatch: byte %d 0x%2.2x", i, buf[i]);
+ 			}
+ #endif
+ 			total += r;
diff --git a/debian/patches/agent-Assert-possible-infinite-loop.patch b/debian/patches/agent-Assert-possible-infinite-loop.patch
new file mode 100644
index 0000000..f2187ee
--- /dev/null
+++ b/debian/patches/agent-Assert-possible-infinite-loop.patch
@@ -0,0 +1,23 @@
+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
diff --git a/debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch b/debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch
new file mode 100644
index 0000000..307b04a
--- /dev/null
+++ b/debian/patches/allow-using-obexd-without-systemd-in-the-user-sessio.patch
@@ -0,0 +1,49 @@
+From e2395d03adc7eb650391797b26703de1389ab074 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 ++--
+ .../src/{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+ rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (76%)
+
+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
+ 
+diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service.in
+similarity index 76%
+rename from obexd/src/org.bluez.obex.service
+rename to obexd/src/org.bluez.obex.service.in
+index a53808884..9c815f246 100644
+--- a/obexd/src/org.bluez.obex.service
++++ b/obexd/src/org.bluez.obex.service.in
+@@ -1,4 +1,4 @@
+ [D-BUS Service]
+ Name=org.bluez.obex
+-Exec=/bin/false
++Exec=@libexecdir@/obexd
+ SystemdService=dbus-org.bluez.obex.service
+-- 
+2.19.0.rc0.228.g281dcd1b4d0-goog
+
diff --git a/debian/patches/bluetooth.conf.patch b/debian/patches/bluetooth.conf.patch
new file mode 100644
index 0000000..e97766b
--- /dev/null
+++ b/debian/patches/bluetooth.conf.patch
@@ -0,0 +1,21 @@
+Description: Add permission to bluetooth control for user into bluetooth 
+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 @@
+     <allow send_interface="org.freedesktop.DBus.Properties"/>
+   </policy>
+ 
++  <!-- allow users of bluetooth group to communicate -->
++  <policy group="bluetooth">
++    <allow send_destination="org.bluez"/>
++  </policy>
++
+   <policy at_console="true">
+     <allow send_destination="org.bluez"/>
+   </policy>
diff --git a/debian/patches/change_path_of_hogsuspend.patch b/debian/patches/change_path_of_hogsuspend.patch
new file mode 100644
index 0000000..73ef421
--- /dev/null
+++ b/debian/patches/change_path_of_hogsuspend.patch
@@ -0,0 +1,19 @@
+Description: Move path of hogsuspend to /run.
+Forwarded: not-needed
+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
+@@ -40,7 +40,7 @@
+ #include "src/log.h"
+ #include "suspend.h"
+ 
+-#define HOG_SUSPEND_FIFO	"/tmp/hogsuspend"
++#define HOG_SUSPEND_FIFO	"/run/hogsuspend"
+ 
+ static suspend_event suspend_cb = NULL;
+ static resume_event resume_cb = NULL;
diff --git a/debian/patches/main.conf-Add-more-details-Closes-904212.patch b/debian/patches/main.conf-Add-more-details-Closes-904212.patch
new file mode 100644
index 0000000..fc7c4a4
--- /dev/null
+++ b/debian/patches/main.conf-Add-more-details-Closes-904212.patch
@@ -0,0 +1,28 @@
+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
+
diff --git a/debian/patches/main.conf.patch b/debian/patches/main.conf.patch
new file mode 100644
index 0000000..8f0c4af
--- /dev/null
+++ b/debian/patches/main.conf.patch
@@ -0,0 +1,10 @@
+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
diff --git a/debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch b/debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch
new file mode 100644
index 0000000..004a389
--- /dev/null
+++ b/debian/patches/obex-Use-GLib-helper-function-to-manipulate-paths.patch
@@ -0,0 +1,38 @@
+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
+
diff --git a/debian/patches/org.bluez.obex.service.in.patch b/debian/patches/org.bluez.obex.service.in.patch
new file mode 100644
index 0000000..192595f
--- /dev/null
+++ b/debian/patches/org.bluez.obex.service.in.patch
@@ -0,0 +1,12 @@
+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
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..d4709ad
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,11 @@
+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
+bluetooth.conf.patch
+main.conf.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
diff --git a/debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch b/debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch
new file mode 100644
index 0000000..bf14db0
--- /dev/null
+++ b/debian/patches/shared-gatt-client-Fix-segfault-after-PIN-entry.patch
@@ -0,0 +1,42 @@
+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
+
diff --git a/debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch b/debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
new file mode 100644
index 0000000..e583320
--- /dev/null
+++ b/debian/patches/work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
@@ -0,0 +1,29 @@
+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
+
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..b3de51f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,56 @@
+#!/usr/bin/make -f
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+CONFIGURE_FLAGS := \
+	--disable-silent-rules \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+	--libexec=\$${prefix}/lib/ \
+	--enable-static \
+	--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-deprecated \
+	--enable-health \
+	--enable-experimental
+
+%:
+	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_systemd_enable:
+	dh_systemd_enable -pbluez bluetooth.service
+
+override_dh_systemd_start:
+	dh_systemd_start -pbluez --restart-after-upgrade bluetooth.service
+
+override_dh_auto_test:
+	# disable
diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides
new file mode 100644
index 0000000..a64d2d0
--- /dev/null
+++ b/debian/source.lintian-overrides
@@ -0,0 +1,2 @@
+# metapackage
+bluez source: debhelper-but-no-misc-depends bluetooth
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..e66359b
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://www.kernel.org/pub/linux/bluetooth/ .*bluez-([.\d]+)\.tar\.xz
