Control: tags -1 patch
I am uploading the attached changes as NMU to DELAYED/10 in order to fix this.
diff -Nru libbtbb-2018.12.R1/changelog libbtbb-2020.12.R1/changelog --- libbtbb-2018.12.R1/changelog 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/changelog 2020-12-25 22:43:09.000000000 +0100 @@ -1,3 +1,9 @@ +libbtbb (2020-12-R1) unstable; urgency=low + * Python 3 support + * Minor bugfixes + + -- Mike Ryan <[email protected]> 25 Dec 2020 13:30:00 -0800 + libbtbb (2018-12-R1) unstable; urgency=low * No changes, just keeping version parity with Ubertooth 2018-12-R1 diff -Nru libbtbb-2018.12.R1/cmake/modules/FindPythonInterp.cmake libbtbb-2020.12.R1/cmake/modules/FindPythonInterp.cmake --- libbtbb-2018.12.R1/cmake/modules/FindPythonInterp.cmake 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/cmake/modules/FindPythonInterp.cmake 1970-01-01 01:00:00.000000000 +0100 @@ -1,141 +0,0 @@ -# - Find python interpreter -# This module finds if Python interpreter is installed and determines where the -# executables are. This code sets the following variables: -# -# PYTHONINTERP_FOUND - Was the Python executable found -# PYTHON_EXECUTABLE - path to the Python interpreter -# -# PYTHON_VERSION_STRING - Python version found e.g. 2.5.2 -# PYTHON_VERSION_MAJOR - Python major version found e.g. 2 -# PYTHON_VERSION_MINOR - Python minor version found e.g. 5 -# PYTHON_VERSION_PATCH - Python patch version found e.g. 2 -# -# The Python_ADDITIONAL_VERSIONS variable can be used to specify a list of -# version numbers that should be taken into account when searching for Python. -# You need to set this variable before calling find_package(PythonInterp). - -#============================================================================= -# Copyright 2005-2010 Kitware, Inc. -# Copyright 2011 Bjoern Ricks <[email protected]> -# Copyright 2012 Rolf Eike Beer <[email protected]> -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -unset(_Python_NAMES) - -set(_PYTHON1_VERSIONS 1.6 1.5) -set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0) - -if(PythonInterp_FIND_VERSION) - if(PythonInterp_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$") - string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" _PYTHON_FIND_MAJ_MIN "${PythonInterp_FIND_VERSION}") - string(REGEX REPLACE "^([0-9]+).*" "\\1" _PYTHON_FIND_MAJ "${_PYTHON_FIND_MAJ_MIN}") - list(APPEND _Python_NAMES python${_PYTHON_FIND_MAJ_MIN} python${_PYTHON_FIND_MAJ}) - unset(_PYTHON_FIND_OTHER_VERSIONS) - if(NOT PythonInterp_FIND_VERSION_EXACT) - foreach(_PYTHON_V ${_PYTHON${_PYTHON_FIND_MAJ}_VERSIONS}) - if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN) - list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V}) - endif() - endforeach() - endif() - unset(_PYTHON_FIND_MAJ_MIN) - unset(_PYTHON_FIND_MAJ) - else() - list(APPEND _Python_NAMES python${PythonInterp_FIND_VERSION}) - set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonInterp_FIND_VERSION}_VERSIONS}) - endif() -else() - set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS}) -endif() - -list(APPEND _Python_NAMES python) - -# Search for the current active python version first -find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES}) - -# Set up the versions we know about, in the order we will search. Always add -# the user supplied additional versions to the front. -set(_Python_VERSIONS - ${Python_ADDITIONAL_VERSIONS} - ${_PYTHON_FIND_OTHER_VERSIONS} - ) - -unset(_PYTHON_FIND_OTHER_VERSIONS) -unset(_PYTHON1_VERSIONS) -unset(_PYTHON2_VERSIONS) -unset(_PYTHON3_VERSIONS) - -# Search for newest python version if python executable isn't found -if(NOT PYTHON_EXECUTABLE) - foreach(_CURRENT_VERSION ${_Python_VERSIONS}) - set(_Python_NAMES python${_CURRENT_VERSION}) - if(WIN32) - list(APPEND _Python_NAMES python) - endif() - find_program(PYTHON_EXECUTABLE - NAMES ${_Python_NAMES} - PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath] - ) - endforeach() -endif() - -# determine python version string -if(PYTHON_EXECUTABLE) - execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c - "import sys; sys.stdout.write(';'.join([str(x) for x in sys.version_info[:3]]))" - OUTPUT_VARIABLE _VERSION - RESULT_VARIABLE _PYTHON_VERSION_RESULT - ERROR_QUIET) - if(NOT _PYTHON_VERSION_RESULT) - string(REPLACE ";" "." PYTHON_VERSION_STRING "${_VERSION}") - list(GET _VERSION 0 PYTHON_VERSION_MAJOR) - list(GET _VERSION 1 PYTHON_VERSION_MINOR) - list(GET _VERSION 2 PYTHON_VERSION_PATCH) - if(PYTHON_VERSION_PATCH EQUAL 0) - # it's called "Python 2.7", not "2.7.0" - string(REGEX REPLACE "\\.0$" "" PYTHON_VERSION_STRING "${PYTHON_VERSION_STRING}") - endif() - else() - # sys.version predates sys.version_info, so use that - execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c "import sys; sys.stdout.write(sys.version)" - OUTPUT_VARIABLE _VERSION - RESULT_VARIABLE _PYTHON_VERSION_RESULT - ERROR_QUIET) - if(NOT _PYTHON_VERSION_RESULT) - string(REGEX REPLACE " .*" "" PYTHON_VERSION_STRING "${_VERSION}") - string(REGEX REPLACE "^([0-9]+)\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}") - string(REGEX REPLACE "^[0-9]+\\.([0-9])+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}") - if(PYTHON_VERSION_STRING MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+.*") - string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}") - else() - set(PYTHON_VERSION_PATCH "0") - endif() - else() - # sys.version was first documented for Python 1.5, so assume - # this is older. - set(PYTHON_VERSION_STRING "1.4") - set(PYTHON_VERSION_MAJOR "1") - set(PYTHON_VERSION_MAJOR "4") - set(PYTHON_VERSION_MAJOR "0") - endif() - endif() - unset(_PYTHON_VERSION_RESULT) - unset(_VERSION) -endif() - -# handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if -# all listed variables are TRUE -include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonInterp REQUIRED_VARS PYTHON_EXECUTABLE VERSION_VAR PYTHON_VERSION_STRING) - -mark_as_advanced(PYTHON_EXECUTABLE) diff -Nru libbtbb-2018.12.R1/debian/changelog libbtbb-2020.12.R1/debian/changelog --- libbtbb-2018.12.R1/debian/changelog 2025-10-18 18:42:25.000000000 +0200 +++ libbtbb-2020.12.R1/debian/changelog 2026-06-17 11:50:29.000000000 +0200 @@ -1,3 +1,15 @@ +libbtbb (2020.12.R1-0.1) unstable; urgency=medium + + * Non-maintainer upload + * New upstream release (Closes: #1137641) + * Drop unnecessary lintian override + * d/rules: Drop unnecessary target override + + [ Maitland Bottoms ] + * update watch file to v4 + + -- Bastian Germann <[email protected]> Wed, 17 Jun 2026 11:50:29 +0200 + libbtbb (2018.12.R1-1.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru libbtbb-2018.12.R1/debian/libbtbb1.lintian-overrides libbtbb-2020.12.R1/debian/libbtbb1.lintian-overrides --- libbtbb-2018.12.R1/debian/libbtbb1.lintian-overrides 2025-10-18 18:42:25.000000000 +0200 +++ libbtbb-2020.12.R1/debian/libbtbb1.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -# Spelling error is not a spelling error but a company name -libbtbb1: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libbtbb.so.1.0 Synopsys Synopsis diff -Nru libbtbb-2018.12.R1/debian/rules libbtbb-2020.12.R1/debian/rules --- libbtbb-2018.12.R1/debian/rules 2025-10-18 18:42:25.000000000 +0200 +++ libbtbb-2020.12.R1/debian/rules 2026-06-17 11:50:29.000000000 +0200 @@ -19,6 +19,3 @@ override_dh_auto_configure: dh_auto_configure -- -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) -DENABLE_PYTHON=OFF - -override_dh_auto_install: - dh_auto_install diff -Nru libbtbb-2018.12.R1/debian/watch libbtbb-2020.12.R1/debian/watch --- libbtbb-2018.12.R1/debian/watch 2025-10-18 18:42:25.000000000 +0200 +++ libbtbb-2020.12.R1/debian/watch 2026-06-17 11:50:29.000000000 +0200 @@ -1,2 +1,4 @@ -version=3 -https://github.com/greatscottgadgets/libbtbb/releases /greatscottgadgets/libbtbb/archive/(\w+?)-(\w+?)-(\w+?)\.tar\.(?:bz2|gz|xz) +version=4 +opts="versionmangle=s/-/\./g" \ + https://github.com/greatscottgadgets/libbtbb/tags \ + (?:.*?)@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate diff -Nru libbtbb-2018.12.R1/lib/src/pcap.c libbtbb-2020.12.R1/lib/src/pcap.c --- libbtbb-2018.12.R1/lib/src/pcap.c 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/lib/src/pcap.c 2020-12-25 22:43:09.000000000 +0100 @@ -396,7 +396,7 @@ pcap_pkt.ppi_packet_header.pph_version = 0; pcap_pkt.ppi_packet_header.pph_flags = 0; pcap_pkt.ppi_packet_header.pph_len = htole16(pcap_headerlen); - pcap_pkt.ppi_packet_header.pph_dlt = htole32(DLT_USER0); + pcap_pkt.ppi_packet_header.pph_dlt = htole32(DLT_BLUETOOTH_LE_LL); pcap_pkt.ppi_fieldheader.pfh_type = htole16(PPI_BTLE); pcap_pkt.ppi_fieldheader.pfh_datalen = htole16(sizeof(ppi_btle_t)); diff -Nru libbtbb-2018.12.R1/lib/src/pcap-common.h libbtbb-2020.12.R1/lib/src/pcap-common.h --- libbtbb-2018.12.R1/lib/src/pcap-common.h 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/lib/src/pcap-common.h 2020-12-25 22:43:09.000000000 +0100 @@ -25,7 +25,6 @@ // since we no longer rely on or assume the existence of libpcap, // hardcode these DLTs #define DLT_PPI 192 -#define DLT_USER0 147 #if defined( __APPLE__ ) #include <CoreServices/CoreServices.h> @@ -99,6 +98,10 @@ /* --------------------------------- Low Energy ---------------------------- */ +#if !defined( DLT_BLUETOOTH_LE_LL ) +#define DLT_BLUETOOTH_LE_LL 251 +#endif + #if !defined( DLT_BLUETOOTH_LE_LL_WITH_PHDR ) #define DLT_BLUETOOTH_LE_LL_WITH_PHDR 256 #endif diff -Nru libbtbb-2018.12.R1/python/CMakeLists.txt libbtbb-2020.12.R1/python/CMakeLists.txt --- libbtbb-2018.12.R1/python/CMakeLists.txt 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/python/CMakeLists.txt 2020-12-25 22:43:09.000000000 +0100 @@ -20,8 +20,8 @@ project(btbb-python) # Check for python installation -find_package(PythonInterp) -if(NOT PYTHONINTERP_FOUND) +find_package(Python3) +if(NOT Python3_FOUND) return() else() add_subdirectory(pcaptools) diff -Nru libbtbb-2018.12.R1/python/pcaptools/btaptap libbtbb-2020.12.R1/python/pcaptools/btaptap --- libbtbb-2018.12.R1/python/pcaptools/btaptap 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/python/pcaptools/btaptap 2020-12-25 22:43:09.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Copyright 2009 Joshua Wright, Michael Ossmann # @@ -320,7 +320,7 @@ return code def usage(): - print >>sys.stderr, "Usage: btaptap [-r pcapfile.pcap | -e ellisysfile.csv] [-c count] [-h]\n" + print("Usage: btaptap [-r pcapfile.pcap | -e ellisysfile.csv] [-c count] [-h]\n", file=sys.stderr) sys.exit(0) def parse_l2cap_keydata(l2cappkt): @@ -392,13 +392,13 @@ try: cap = open(exportfile, "r") except (OSError, IOError) as e: - print >>sys.stderr, "Unable to open Ellisys capture file." + print("Unable to open Ellisys capture file.", file=sys.stderr) return # Check to make sure the CSV file header matches out expectations hdr=cap.readline() if (hdr != ELLISYS_CSV_HDR): - print >>sys.stderr, "Invalid CSV file (does not match Ellisys export format)" + print("Invalid CSV file (does not match Ellisys export format)", file=sys.stderr) return for packetline in cap.xreadlines(): @@ -449,7 +449,7 @@ btbbpayloadhdr = ord(packet[23]) llid = btbbpayloadhdr & (BTBBPAYLOADHDR_LLID_MASK) >> BTBBPAYLOADHDR_LLID_SHIFT l2clen = (btbbpayloadhdr & BTBBPAYLOADHDR_LEN_MASK) >> BTBBPAYLOADHDR_LEN_SHIFT - #print "Debug btbbpayloadhdr 0x%02x, llid %d, l2clen %d"%(btbbpayloadhdr, llid, l2clen) + #print("Debug btbbpayloadhdr 0x%02x, llid %d, l2clen %d"%(btbbpayloadhdr, llid, l2clen)) if llid != LLID_L2CAP or l2clen < 14: return @@ -490,7 +490,7 @@ sys.exit(0) if (arg_ellisysfile == None and arg_pcapfile == None): - print >>sys.stderr, "Must specify a libpcap capture or an Ellisys CSV file" + print("Must specify a libpcap capture or an Ellisys CSV file", file=sys.stderr) usage() sys.exit(0) @@ -508,7 +508,7 @@ elif cap.datalink() == DLT_BLUETOOTH_HCI_H4: parse_hci_keydata(packet) else: - print >>sys.stderr, "Unsupported libpcap data link layer: %d\n" % cap.datalink() + print("Unsupported libpcap data link layer: %d\n" % cap.datalink(), file=sys.stderr) except TypeError: # raised when pnext returns Null (end of capture) break diff -Nru libbtbb-2018.12.R1/python/pcaptools/CMakeLists.txt libbtbb-2020.12.R1/python/pcaptools/CMakeLists.txt --- libbtbb-2018.12.R1/python/pcaptools/CMakeLists.txt 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/python/pcaptools/CMakeLists.txt 2020-12-25 22:43:09.000000000 +0100 @@ -26,7 +26,7 @@ configure_file(${SETUP_PY_IN} ${SETUP_PY}) add_custom_command(OUTPUT ${OUTPUT}/timestamp - COMMAND ${PYTHON_EXECUTABLE} setup.py build + COMMAND ${Python3_EXECUTABLE} setup.py build COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}/timestamp DEPENDS ${DEPS}) diff -Nru libbtbb-2018.12.R1/python/pcaptools/setup.py libbtbb-2020.12.R1/python/pcaptools/setup.py --- libbtbb-2018.12.R1/python/pcaptools/setup.py 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/python/pcaptools/setup.py 2020-12-25 22:43:09.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ pcapdump setup diff -Nru libbtbb-2018.12.R1/python/pcaptools/setup.py.in libbtbb-2020.12.R1/python/pcaptools/setup.py.in --- libbtbb-2018.12.R1/python/pcaptools/setup.py.in 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/python/pcaptools/setup.py.in 2020-12-25 22:43:09.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ pcapdump setup diff -Nru libbtbb-2018.12.R1/.travis.yml libbtbb-2020.12.R1/.travis.yml --- libbtbb-2018.12.R1/.travis.yml 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/.travis.yml 2020-12-25 22:43:09.000000000 +0100 @@ -1,31 +1,15 @@ language: c -cache: apt - -sudo: false - -#addons: -# apt: -# packages: -# - libpcap-dev - -os: - - linux - - osx - -compiler: - - clang - - gcc - matrix: - exclude: - # /usr/bin/gcc on OS X is clang, so it's not meaningful to build against both. - - os: osx + include: + - os: linux compiler: gcc + - os: osx + compiler: clang -before_script: - - mkdir build - - cd build - - CFLAGS="-g -Wall -Wextra -Werror -Wno-zero-length-array" cmake .. -script: make +script: + - mkdir $TRAVIS_BUILD_DIR/build + - cd $TRAVIS_BUILD_DIR/build + - CFLAGS="-g -Wall -Wextra -Werror -Wno-zero-length-array" cmake .. + - make diff -Nru libbtbb-2018.12.R1/wireshark/plugins/btbb/packet-btbrlmp.c libbtbb-2020.12.R1/wireshark/plugins/btbb/packet-btbrlmp.c --- libbtbb-2018.12.R1/wireshark/plugins/btbb/packet-btbrlmp.c 2018-12-05 07:02:58.000000000 +0100 +++ libbtbb-2020.12.R1/wireshark/plugins/btbb/packet-btbrlmp.c 2020-12-25 22:43:09.000000000 +0100 @@ -1603,8 +1603,8 @@ void dissect_not_accepted_ext(proto_tree *tree, tvbuff_t *tvb, int offset, int len) { - DISSECTOR_ASSERT(len == 4); - DISSECTOR_ASSERT(tvb_reported_length_remaining(tvb, offset) >= 2); + DISSECTOR_ASSERT(len == 5); + DISSECTOR_ASSERT(tvb_reported_length_remaining(tvb, offset) >= 3); proto_tree_add_item(tree, hf_lmp_opinre, tvb, offset, 1, ENC_LITTLE_ENDIAN); offset += 1; @@ -1896,7 +1896,7 @@ eop = tvb_get_guint8(tvb, offset + 1); col_add_str(pinfo->cinfo, COL_INFO, val_to_str(eop, - opcode, "Unknown Extended Opcode (%d)")); + ext_opcode, "Unknown Extended Opcode (%d)")); } else { col_add_str(pinfo->cinfo, COL_INFO, val_to_str(op, opcode, "Unknown Opcode (%d)"));

