--- /dev/null
+opendht (3.0.0-4+rpi1) trixie-staging; urgency=medium
+
+ * Update symbols file for raspbian.
+ * Skip dh_missing.
+
+ -- Peter Michael Green <plugwash@raspbian.org> Fri, 22 Dec 2023 07:29:01 +0000
+
+opendht (3.0.0-4) unstable; urgency=medium
+
+ * Add opendht-tools binary package, providing binaries for the
+ various OpenDHT tools developed as part of the upstream code-base.
+ (Closes: #866075, #1054359)
+
+ -- Amin Bandali <bandali@gnu.org> Sun, 22 Oct 2023 12:00:23 -0400
+
+opendht (3.0.0-3) unstable; urgency=medium
+
+ * debian/copyright: Fix Upstream-Name and update Upstream-Contact
+ * debian/copyright: Add myself to copyright holders for debian/*
+ * debian/control: Bump debhelper-compat to 13
+ * debian/copyright: Update Savoir-faire Linux Inc. copyright years
+ * debian/dhtnode.conf: Update bootstrap node address
+
+ -- Amin Bandali <bandali@gnu.org> Sat, 21 Oct 2023 20:25:23 -0400
+
+opendht (3.0.0-2) unstable; urgency=medium
+
+ [ Graham Inggs ]
+ * Mark some symbols optional to avoid FTBFS with LTO enabled
+
+ -- Amin Bandali <bandali@gnu.org> Sat, 30 Sep 2023 01:04:05 -0400
+
+opendht (3.0.0-1) unstable; urgency=medium
+
+ * New upstream release
+ * Rename libopendht2 to libopendht3 and libopendht-c2 to
+ libopendht-c3 due to SONAME bump (Closes: #1051972)
+ - debian/libopendht-c3.install
+ - debian/libopendht-c3.symbols
+ - debian/libopendht3.install
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Sun, 24 Sep 2023 20:01:05 -0400
+
+opendht (2.6.0.4-1) unstable; urgency=medium
+
+ * New upstream release
+ * Disable upstream unit tests that require network access
+ - debian/rules
+
+ -- Amin Bandali <bandali@gnu.org> Mon, 11 Sep 2023 16:39:37 -0400
+
+opendht (2.6.0.1-1) unstable; urgency=medium
+
+ * New upstream release
+ * Drop upstreamed patch
+ - debian/patches/1010-man-page-formatting.patch
+
+ -- Amin Bandali <bandali@gnu.org> Sun, 10 Sep 2023 14:58:23 -0400
+
+opendht (2.5.5-1) unstable; urgency=medium
+
+ * New upstream release
+ * Add new libcppunit-dev Build-Depends to debian/control and drop
+ removed CMake options from debian/rules
+ * debian/patches/1010-man-page-formatting.patch: forward upstream.
+ * debian/patches/2000-cmake-python-no-build-install.patch: mark as
+ 'Forwarded: not-needed'.
+
+ -- Amin Bandali <bandali@gnu.org> Wed, 16 Aug 2023 22:31:43 -0400
+
+opendht (2.4.12-7) unstable; urgency=medium
+
+ [ Petter Reinholdtsen ]
+ * Add debian/patches/1010-man-page-formatting.patch by Jakob Haufe
+ to address lintian
+ warning: macro 'mF' not defined [usr/share/man/man1/dhtnode.1.gz:1].
+ * Sponsor upload to unstable.
+
+ -- Amin Bandali <bandali@gnu.org> Wed, 22 Feb 2023 15:20:06 -0500
+
+opendht (2.4.12-6) experimental; urgency=medium
+
+ [ Petter Reinholdtsen ]
+ * debian/libopendht-c2.symbols: Exclude symbols on hurd-i386 and sh4
+ too.
+
+ [ Amin Bandali ]
+ * debian/control: Taking over the maintenance of the package; many
+ thanks, Alexandre!
+ * debian/libopendht-c2.symbols: Add three symbols on armel.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Mon, 20 Feb 2023 23:25:50 -0500
+
+opendht (2.4.12-5) unstable; urgency=medium
+
+ [ Amin Bandali ]
+ * debian/libopendht-c2.symbols: Add exclusions for various symbols
+ across most supported architectures per buildd.debian.org logs.
+
+ [ Petter Reinholdtsen ]
+ * debian/rules: Use DEB_BUILD_GNU_TYPE for locating build directory.
+ * Sponsor upload to unstable.
+
+ -- Amin Bandali <bandali@gnu.org> Tue, 07 Feb 2023 16:42:22 -0500
+
+opendht (2.4.12-4) unstable; urgency=medium
+
+ * debian/control: Switch 'python3-all' to 'python3-all-dev:any' to
+ hopefully fix builds broken with 'fatal error: Python.h: No such
+ file or directory'. Also tweak a few descriptions.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Tue, 07 Feb 2023 02:21:56 -0500
+
+opendht (2.4.12-3) unstable; urgency=medium
+
+ * Fix build more generally on architectures like ARM EABI (armel)
+ and little-endian MIPS (mipsel) that don't have native 64-bit
+ atomic operations by linking against libatomic. (Closes: #1030615)
+ * Address several lintian warnings:
+ - Drop usr/include/opendht/opendht_c.h from libopendht-dev;
+ it already belongs in libopendht-c-dev. (Closes: #1030696)
+ - debian/control: Add 'Multi-Arch: same' for libopendht2 and
+ libopendht-c2.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Tue, 07 Feb 2023 01:27:18 -0500
+
+opendht (2.4.12-2) experimental; urgency=medium
+
+ * Switch from static to shared library. Upstream has declared their
+ API and ABI stable, therefore we now build and provide a shared
+ library rather than a static one.
+ * Add python3-opendht providing OpenDHT Python 3 bindings
+ (Closes: #850051).
+ * Add simple debian/tests/test-run-python to validate Python 3
+ bindings.
+ * Add OpenDHT C shared library and bindings.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Sat, 04 Feb 2023 01:07:30 -0500
+
+opendht (2.4.12-1.2) unstable; urgency=medium
+
+ * Fix build more generally on architectures like ARM EABI (armel)
+ and little-endian MIPS (mipsel) that don't have native 64-bit
+ atomic operations by linking against libatomic. (Closes: #1030615)
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Sun, 05 Feb 2023 13:10:19 -0500
+
+opendht (2.4.12-1.1) unstable; urgency=medium
+
+ * Attempt to fix build on armel.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Sat, 04 Feb 2023 13:02:57 -0500
+
+opendht (2.4.12-1) unstable; urgency=medium
+
+ * New upstream version 2.4.12.
+ * debian/copyright: Remove vestigial 'Files-Excluded: src/argon2/*'
+ and update copyright years.
+ * Update package descriptions per upstream.
+
+ * Upload sponsored by Petter Reinholdtsen.
+
+ -- Amin Bandali <bandali@gnu.org> Sat, 04 Feb 2023 01:05:20 -0500
+
+opendht (2.4.10-1) unstable; urgency=medium
+
+ * Collab-maint upload with maintainer approval.
+
+ * New upstream version 2.4.10 (Closes: 1016489).
+ - Refreshed patches to remove fuzzies.
+ - Updated package description to relect new C++17 requirement.
+ - Dropped call to dh_dwz during build as it fail on
+ debian/dhtnode/usr/bin/dhtnode.
+ * Added patch header in pkgconfig-extras.patch.
+ * Switched patches to 0000/1000/2000 naming convention.
+ * Added build-essential and pkg-config as autopkgtest dependencies.
+ * Changed dependency for libmsgpack-dev to prefer new libmsgpack-cxx-dev
+ (Closes: #1019113).
+
+ -- Petter Reinholdtsen <pere@debian.org> Tue, 27 Dec 2022 10:03:41 +0100
+
+opendht (2.3.1-3) unstable; urgency=medium
+
+ * Collab-maint upload with maintainer approval.
+
+ * Updated standards version from 4.5.0 to 4.6.2. No changes needed.
+ * Switched build dependency libncurses5-dev to libncurses-dev.
+ * Corrected notation for new uploader.
+ * Added pkgconfig-extras.patch with libraries needed to link
+ simple C++ client.
+ * Added simple autopkgtest C++ build test.
+
+ -- Petter Reinholdtsen <pere@debian.org> Mon, 26 Dec 2022 07:55:50 +0100
+
+opendht (2.3.1-2) unstable; urgency=medium
+
+ * Collab-maint upload with maintainer approval.
+
+ * Acknowledge NMU (Closes: #1026871).
+ * Added Amin Bandali as uploader.
+
+ -- Petter Reinholdtsen <pere@debian.org> Sun, 25 Dec 2022 06:42:25 +0100
+
+opendht (2.3.1-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload using salsa Debian team git repo.
+
+ [ Amin Bandali ]
+ * d/watch: Tweak opts to use newly-suggested format in the current
+ uscan(1) manual for GitHub repositories, helping correctly detect
+ new releases again (partly fixes #1016489).
+
+ [ Federico Ceratto ]
+ * Configure service sandbox (Closes: #1007163).
+ * Bump up Standards-Version from 4.0.0 to 4.5.0.
+ * Switch to debhelper-compat 12.
+
+ [ Petter Reinholdtsen ]
+ * Switched build and binary dependency for libargon2-0-dev to libargon2-dev
+ (Closes: #1005699).
+
+ -- Petter Reinholdtsen <pere@debian.org> Thu, 22 Dec 2022 22:33:19 +0100
+
+opendht (2.3.1-1) unstable; urgency=medium
+
+ [ Amin Bandali ]
+ * d/watch: Update to version=4 and use newly-suggested opts format
+ in the current uscan(1) manual for GitHub repositories. This is
+ motivated in part by a change in devscripts-2.21.5 that makes
+ uscan die when filenamemangle fails.
+
+ [ Alexandre Viau ]
+ * New upstream version.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 20 Nov 2021 23:59:14 -0500
+
+opendht (2.1.10-1) unstable; urgency=medium
+
+ * New upstream version. (Closes: 978562)
+
+ -- Alexandre Viau <aviau@debian.org> Fri, 01 Jan 2021 14:02:19 -0500
+
+opendht (2.1.9.5-1) unstable; urgency=medium
+
+ [ Alexandre Viau ]
+ * New upstream version.
+
+ [ Amin Bandali ]
+ * Bump debhelper compat level up to 10.
+
+ -- Alexandre Viau <aviau@debian.org> Tue, 08 Dec 2020 17:56:05 -0500
+
+opendht (2.1.6-1) unstable; urgency=medium
+
+ [ Amin Bandali ]
+ * New upstream version.
+ * Enable OpenDHT proxy features.
+
+ [ Alexandre Viau ]
+ * Rules-Requires-Root: no.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 10 Oct 2020 16:35:04 -0400
+
+opendht (2.1.4-1) unstable; urgency=medium
+
+ * New upstream version.
+ * dhtnode.conf: remove -v. (Closes: #959226)
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 15 Aug 2020 12:42:20 -0400
+
+opendht (2.1.1-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Depend on librestinio-dev, libasio-dev.
+ * Refresh patches.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 16 May 2020 13:08:04 -0400
+
+opendht (1.8.1-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 05 Jan 2019 21:57:00 -0500
+
+opendht (1.8.0-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Alexandre Viau <aviau@debian.org> Mon, 10 Dec 2018 20:15:28 -0500
+
+opendht (1.7.4-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 18 Aug 2018 15:51:19 -0400
+
+opendht (1.7.2-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Fix maintainer-script-should-not-use-recursive-chown-or-chmod.
+
+ -- Alexandre Viau <aviau@debian.org> Tue, 26 Jun 2018 18:08:36 -0400
+
+opendht (1.6.0-1) unstable; urgency=medium
+
+ * d/watch: exclude release candidates.
+ * d/copyright: fix insecure-copyright-format-uri.
+
+ -- Alexandre Viau <aviau@debian.org> Tue, 27 Feb 2018 06:11:11 +0000
+
+opendht (1.5.0-3) unstable; urgency=medium
+
+ * Build with msgpack-c v2 API.
+
+ -- Alexandre Viau <aviau@debian.org> Thu, 01 Feb 2018 17:47:24 +0000
+
+opendht (1.5.0-2) unstable; urgency=medium
+
+ * Move to salsa.debian.org.
+
+ -- Alexandre Viau <aviau@debian.org> Thu, 28 Dec 2017 17:09:51 -0500
+
+opendht (1.5.0-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+
+ -- Alexandre Viau <aviau@debian.org> Thu, 23 Nov 2017 19:44:27 -0500
+
+opendht (1.4.1-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+ * Use msgpack v1 API.
+
+ -- Alexandre Viau <aviau@debian.org> Wed, 15 Nov 2017 20:54:42 -0500
+
+opendht (1.3.6-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+
+ -- Alexandre Viau <aviau@debian.org> Fri, 25 Aug 2017 16:44:04 -0400
+
+opendht (1.3.5-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+
+ -- Alexandre Viau <aviau@debian.org> Wed, 02 Aug 2017 15:41:36 -0400
+
+opendht (1.3.4-3) unstable; urgency=medium
+
+ * Remove unneeded multiarch.patch.
+
+ -- Alexandre Viau <aviau@debian.org> Sun, 02 Jul 2017 14:35:50 -0400
+
+opendht (1.3.4-2) unstable; urgency=medium
+
+ * dhtnode.service: restart on-failure
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 01 Jul 2017 15:20:42 -0400
+
+opendht (1.3.4-1) unstable; urgency=medium
+
+ * New upstream snapshot.
+ * dhtnode: include systemd service.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 01 Jul 2017 14:51:02 -0400
+
+opendht (1.3.3-2) unstable; urgency=medium
+
+ * Install CMakeFiles. (Closes: #866586)
+
+ -- Alexandre Viau <aviau@debian.org> Fri, 30 Jun 2017 16:03:24 -0400
+
+opendht (1.3.3-1) unstable; urgency=medium
+
+ * New upstream snapshot. (Closes: #866078)
+ * Refresh patches.
+ * Remove use-debian-argon2.patch.
+ * Remove python bindings mention.
+ * Bump Standards-Version to 4.0.0.
+ * Build-Depend on pkg-config.
+
+ -- Alexandre Viau <aviau@debian.org> Tue, 27 Jun 2017 18:42:38 -0400
+
+opendht (1.2.1~dfsg1-8) unstable; urgency=medium
+
+ * dev package: Add library dependencies (Closes: #849561).
+
+ -- Alexandre Viau <aviau@debian.org> Wed, 28 Dec 2016 17:11:11 -0500
+
+opendht (1.2.1~dfsg1-7) unstable; urgency=medium
+
+ [ Alexandre Viau ]
+ * Import Gianfranco's work (Closes: #843788).
+
+ [ Gianfranco Costamagna ]
+ * Multiarchify the package.
+
+ -- Alexandre Viau <aviau@debian.org> Wed, 09 Nov 2016 11:28:54 -0500
+
+opendht (1.2.1~dfsg1-6) unstable; urgency=medium
+
+ * libopendht-dev now breaks+replaces libopendht1 (Closes: #843680)
+
+ -- Alexandre Viau <aviau@debian.org> Tue, 08 Nov 2016 13:13:44 -0500
+
+opendht (1.2.1~dfsg1-5) unstable; urgency=medium
+
+ * Don't ship libopendht1. Debian policy allows for shipping
+ only static libraries since OpenDHT's API is not stable
+ enough.
+
+ -- Alexandre Viau <aviau@debian.org> Mon, 07 Nov 2016 13:14:31 -0500
+
+opendht (1.2.1~dfsg1-4) unstable; urgency=medium
+
+ * Add libopendht.shlibs.
+
+ -- Alexandre Viau <aviau@debian.org> Sat, 05 Nov 2016 01:00:46 -0400
+
+opendht (1.2.1~dfsg1-3) unstable; urgency=medium
+
+ * Remove pkg-kde-tools dependency.
+
+ -- Alexandre Viau <aviau@debian.org> Fri, 04 Nov 2016 16:10:56 -0400
+
+opendht (1.2.1~dfsg1-2) unstable; urgency=medium
+
+ * Link against argon2.
+
+ -- Alexandre Viau <aviau@debian.org> Fri, 04 Nov 2016 03:29:16 -0400
+
+opendht (1.2.1~dfsg1-1) unstable; urgency=medium
+
+ * Remove symbols file.
+ * Refresh use-debian-argon2.patch.
+ * Remove build_versioned_shared_library.patch.
+ * Use manpage from source.
+
+ -- Alexandre Viau <aviau@debian.org> Wed, 29 Jun 2016 15:52:22 +0200
+
+opendht (0.6.1~dfsg1-1) experimental; urgency=medium
+
+ * Initial release. (Closes: #809362)
+
+ -- Alexandre Viau <aviau@debian.org> Mon, 27 Jun 2016 13:09:11 +0200
--- /dev/null
+Source: opendht
+Section: libs
+Priority: optional
+Maintainer: Amin Bandali <bandali@gnu.org>
+Build-Depends: debhelper-compat (= 13),
+ cmake,
+ dh-exec,
+ pkg-config,
+ libcppunit-dev,
+ libgnutls28-dev,
+ libmsgpack-cxx-dev | libmsgpack-dev (>= 1.2),
+ libmsgpack-cxx-dev | libmsgpack-dev (<= 4.0.0),
+ libreadline6-dev,
+ libncurses-dev,
+ libargon2-dev,
+ librestinio-dev,
+ libasio-dev,
+ libjsoncpp-dev,
+ libhttp-parser-dev,
+ libssl-dev,
+ libfmt-dev,
+ nettle-dev,
+# Python 3 bindings
+ dh-python,
+ python3-all-dev:any,
+ python3-setuptools,
+ cython3
+Standards-Version: 4.6.2
+Homepage: https://github.com/savoirfairelinux/opendht
+Vcs-Git: https://salsa.debian.org/debian/opendht.git
+Vcs-Browser: https://salsa.debian.org/debian/opendht
+Rules-Requires-Root: no
+
+Package: libopendht-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${misc:Depends},
+ libopendht3 (=${binary:Version}),
+ libgnutls28-dev,
+ libmsgpack-cxx-dev | libmsgpack-dev (>= 1.2),
+ libmsgpack-cxx-dev | libmsgpack-dev (<= 4.0.0),
+ libreadline6-dev,
+ libncurses-dev,
+ libargon2-dev,
+ librestinio-dev,
+ libasio-dev,
+ libjsoncpp-dev,
+ libhttp-parser-dev,
+ libssl-dev,
+ libfmt-dev,
+ nettle-dev
+Description: Development files for the libopendht library
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the C++ library headers and other
+ development files.
+
+Package: libopendht3
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Description: Lightweight C++17 distributed hash table implementation
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the C++ shared library.
+
+Package: libopendht-c-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: ${misc:Depends},
+ libopendht-c3 (=${binary:Version}),
+ libopendht-dev,
+ libgnutls28-dev,
+ libargon2-dev
+Description: Development files for the libopendht-c library
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the C bindings library header and other
+ development files.
+
+Package: libopendht-c3
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+ libopendht3 (=${binary:Version})
+Description: Lightweight C++17 distributed hash table implementation - C wrapper
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the C shared library.
+
+Package: python3-opendht
+Architecture: any
+Depends: ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+ libopendht3 (=${binary:Version})
+Description: Python 3 bindings for libopendht C++ library
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the Python 3 bindings.
+
+Package: dhtnode
+Architecture: any
+Section: net
+Depends: ${misc:Depends},
+ ${shlibs:Depends},
+ libopendht3 (=${binary:Version}),
+ adduser
+Description: OpenDHT node binary
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the dhtnode binary.
+
+Package: opendht-tools
+Architecture: any
+Section: net
+Depends: ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+ dhtnode (=${binary:Version}),
+ libopendht3 (=${binary:Version}),
+ python3-opendht (=${binary:Version}),
+ python3-twisted
+Description: Collection of OpenDHT utility tools
+ OpenDHT is a lightweight C++17 Distributed Hash Table implementation.
+ .
+ OpenDHT provides an easy to use distributed in-memory data store.
+ Every node in the network can read and write values to the store.
+ Values are distributed over the network, with redundancy.
+ .
+ Overview of features:
+ * Lightweight and scalable, designed for large networks and small
+ devices
+ * High resilience to network disruption
+ * Public key cryptography layer providing optional data signature
+ and encryption (using GnuTLS)
+ * IPv4 and IPv6 support
+ * Clean and powerful C++17 map API
+ * Bindings for C and Python 3
+ * REST API with optional HTTP client+server with push notification
+ support
+ .
+ This package contains the binaries for the various tools developed as
+ part of the OpenDHT code-base.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: opendht
+Upstream-Contact: https://web.libera.chat/#opendht
+ Adrien Béraud <adrien.beraud@savoirfairelinux.com>
+ Sébastien Blin <sebastien.blin@savoirfairelinux.com>
+ Amin Bandali <bandali@gnu.org>
+Source: https://github.com/savoirfairelinux/opendht
+
+Files: *
+Copyright: 2014-2023 Savoir-faire Linux Inc.
+License: GPL-3+
+Comment: The 'or later' clause was recently added by upstream
+ in the README to clarify the status of the licensing.
+ - https://github.com/savoirfairelinux/opendht/commit/041a9e0e7f3aea399a17e014b6022eb01880a4a9
+ It will be available in the README of the next release. Note that
+ the headers already mention "or later".
+
+Files: debian/*
+Copyright: 2016 Alexandre Viau <aviau@debian.org>
+ 2020-2023 Amin Bandali <bandali@gnu.org>
+License: Expat
+
+Files: include/opendht/securedht.h
+Copyright: 2014-2023 Savoir-faire Linux Inc.
+License: GPL-3-with-openssl-exception
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ Additional permission under GNU GPL version 3 section 7:
+ .
+ If you modify this program, or any covered work, by linking or
+ combining it with the OpenSSL project's OpenSSL library (or a
+ modified version of that library), containing parts covered by the
+ terms of the OpenSSL or SSLeay licenses, Savoir-faire Linux Inc.
+ grants you additional permission to convey the resulting work.
+ Corresponding Source for a non-source form of such a combination
+ shall include the source code for the parts of OpenSSL used as well
+ as that of the covered work.
+
+Files: include/opendht/dht.h
+ src/dht.cpp
+Copyright: 2009-2014 Juliusz Chroboczek
+ 2014-2023 Savoir-faire Linux Inc.
+License: Expat
+
+Files: m4/ax_cxx_compile_stdcxx.m4
+Copyright: 2008 Benjamin Kosnik <bkoz@redhat.com>
+ 2012 Zack Weinberg <zackw@panix.com>
+ 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+ 2014-2015 Google Inc.
+ 2015 Paul Norman <penorman@mac.com>
+ 2015 Moritz Klammler <moritz@klammler.eu>
+ 2016-2023 Savoir-faire Linux Inc.
+License: GNUAllPermissive
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ ․
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ ․
+ The complete text of the GNU General Public License version 3
+ can be found in `/usr/share/common-licenses/GPL-3`.
+
+License: Expat
+ 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: GNUAllPermissive
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice
+ and this notice are preserved. This file is offered as-is, without any
+ warranty.
--- /dev/null
+DHT_HTTP_ARGS=-b bootstrap.jami.net:4222 -p 4222 -hp 8080
--- /dev/null
+DHT_ARGS=-b bootstrap.jami.net -p 4222
--- /dev/null
+var/lib/opendht
--- /dev/null
+#! /usr/bin/dh-exec
+usr/bin/dhtnode
+debian/dhtnode.conf => etc/default/dhtnode
--- /dev/null
+doc/dhtnode.1
--- /dev/null
+#!/bin/sh
+# postinst script for dhtnode
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ configure)
+ # create an opendht group and user
+ adduser --system \
+ --home /var/lib/opendht \
+ --disabled-password \
+ --disabled-login \
+ --no-create-home \
+ --quiet \
+ --group opendht
+
+ if [ -d /var/lib/opendht ]; then
+ chown opendht:opendht /var/lib/opendht
+ fi
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+#!/bin/sh
+# postrm script for dhtnode
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <overwriter>
+# <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ # Stuff we always do
+ # ...
+
+ # Only remove /var/lib/opendht on purge
+ if [ "${1}" = "purge" ] ; then
+ rm -rf /var/lib/opendht
+ fi
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
--- /dev/null
+[Unit]
+Description=OpenDHT standalone node
+Documentation=man:dhtnode(1)
+After=network.target
+ConditionPathExists=/etc/default/dhtnode
+
+[Service]
+Type=simple
+User=opendht
+Group=opendht
+EnvironmentFile=/etc/default/dhtnode
+ExecStart=/usr/bin/dhtnode -s $DHT_ARGS
+Restart=on-failure
+RestartSec=2s
+LimitNOFILE=65536
+WorkingDirectory=/tmp
+
+# Hardening
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+LockPersonality=yes
+NoNewPrivileges=yes
+PrivateDevices=yes
+PrivateTmp=yes
+PrivateUsers=yes
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=yes
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=strict
+ReadOnlyDirectories=/
+ReadWriteDirectories=-/proc/self
+ReadWriteDirectories=-/var/run
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+RestrictNamespaces=yes
+RestrictRealtime=yes
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+[DEFAULT]
+pristine-tar = True
+debian-branch = debian/latest
+upstream-branch = upstream/latest
+
+[buildpackage]
+sign-tags = True
+
+[dch]
+multimaint-merge = True
+
+[import-orig]
+postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
+upstream-vcs-tag = v%(version%~%.)s
--- /dev/null
+usr/include/opendht/opendht_c.h
+usr/lib/*/libopendht-c.so
+usr/lib/*/pkgconfig/opendht-c.pc
--- /dev/null
+usr/lib/*/libopendht-c.so.*
--- /dev/null
+libopendht-c.so.3 libopendht-c3 #MINVER#
+ (optional=lto)_ZNSt12_Vector_baseIhSaIhEED1Ev@Base 2.4.12
+ (optional=lto)_ZNSt12_Vector_baseIhSaIhEED2Ev@Base 2.4.12
+ (optional=lto)_ZNSt14_Function_baseD1Ev@Base 2.4.12
+ (optional=lto)_ZNSt14_Function_baseD2Ev@Base 2.4.12
+ (arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv@Base 2.4.12
+ (optional=lto|arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.4.12
+ (optional=lto|arch=!armel !armhf !i386 !mipsel !hppa !m68k !powerpc !riscv64 !sparc64 !x32)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv@Base 2.4.12
+ (optional=lto)_ZNSt6vectorIhSaIhEED1Ev@Base 2.5.0
+ (optional=lto)_ZNSt6vectorIhSaIhEED2Ev@Base 2.5.0
+ (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 2.4.12
+ (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.4.12
+ (optional=notarmelnotriscvandprobabllynotraspbian)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.4.12
+ (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.4.12
+ (optional=notarmelnotriscvandprobabllynotraspbian)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.4.12
+ (arch=armel armhf)_ZTISt19_Sp_make_shared_tag@Base 2.4.12
+ (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 2.4.12
+ (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.4.12
+ (optional=notarmelnotriscvandprobabllynotraspbian)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.4.12
+ (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.4.12
+ (optional=notarmelnotriscvandprobabllynotraspbian)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.4.12
+ _ZTSSt19_Sp_make_shared_tag@Base 2.4.12
+ _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag@Base 2.4.12
+ dht_blob_delete@Base 2.4.12
+ dht_blob_get_data@Base 2.4.12
+ dht_certificate_delete@Base 2.4.12
+ dht_certificate_get_id@Base 2.4.12
+ dht_certificate_get_long_id@Base 2.4.12
+ dht_certificate_get_publickey@Base 2.4.12
+ dht_certificate_import@Base 2.4.12
+ dht_identity_delete@Base 2.4.12
+ dht_identity_generate@Base 2.4.12
+ dht_infohash_from_hex@Base 2.4.12
+ dht_infohash_from_hex_null@Base 2.4.12
+ dht_infohash_get@Base 2.4.12
+ dht_infohash_get_from_string@Base 2.4.12
+ dht_infohash_is_zero@Base 2.4.12
+ dht_infohash_print@Base 2.4.12
+ dht_infohash_random@Base 2.4.12
+ dht_infohash_zero@Base 2.4.12
+ dht_op_token_delete@Base 2.4.12
+ dht_pkid_print@Base 2.4.12
+ dht_privatekey_decrypt@Base 2.4.12
+ dht_privatekey_delete@Base 2.4.12
+ dht_privatekey_export@Base 2.4.12
+ dht_privatekey_generate@Base 2.4.12
+ dht_privatekey_get_publickey@Base 2.4.12
+ dht_privatekey_import@Base 2.4.12
+ dht_publickey_check_signature@Base 2.4.12
+ dht_publickey_delete@Base 2.4.12
+ dht_publickey_encrypt@Base 2.4.12
+ dht_publickey_export@Base 2.4.12
+ dht_publickey_get_id@Base 2.4.12
+ dht_publickey_get_long_id@Base 2.4.12
+ dht_publickey_import@Base 2.4.12
+ dht_runner_bootstrap@Base 2.4.12
+ dht_runner_cancel_listen@Base 2.4.12
+ dht_runner_cancel_put@Base 2.4.12
+ dht_runner_config_default@Base 2.4.12
+ dht_runner_delete@Base 2.4.12
+ dht_runner_get@Base 2.4.12
+ dht_runner_get_bound_port@Base 2.4.12
+ dht_runner_get_id@Base 2.4.12
+ dht_runner_get_node_id@Base 2.4.12
+ dht_runner_get_public_address@Base 2.4.12
+ dht_runner_is_running@Base 2.4.12
+ dht_runner_listen@Base 2.4.12
+ dht_runner_new@Base 2.4.12
+ dht_runner_ping@Base 2.4.12
+ dht_runner_put@Base 2.4.12
+ dht_runner_put_encrypted@Base 2.4.12
+ dht_runner_put_signed@Base 2.4.12
+ dht_runner_run@Base 2.4.12
+ dht_runner_run_config@Base 2.4.12
+ dht_runner_shutdown@Base 2.4.12
+ dht_value_get_data@Base 2.4.12
+ dht_value_get_id@Base 2.4.12
+ dht_value_get_owner@Base 2.4.12
+ dht_value_get_recipient@Base 2.4.12
+ dht_value_get_user_type@Base 2.4.12
+ dht_value_new@Base 2.4.12
+ dht_value_new_from_string@Base 2.4.12
+ dht_value_ref@Base 2.4.12
+ dht_value_set_user_type@Base 2.4.12
+ dht_value_unref@Base 2.4.12
+ dht_version@Base 2.4.12
--- /dev/null
+usr/include/*
+usr/lib/*/libopendht.so
+usr/lib/*/pkgconfig/opendht.pc
+usr/lib/*/cmake/opendht/*
--- /dev/null
+usr/lib/*/libopendht.so.*
--- /dev/null
+[Unit]
+Description=OpenDHT standalone node with an HTTP control interface
+Conflicts=dhtnode.service
+After=network.target dhtnode.service
+ConditionPathExists=/etc/default/dhtnode-http
+
+[Service]
+Type=simple
+User=opendht
+Group=opendht
+EnvironmentFile=/etc/default/dhtnode-http
+ExecStart=/usr/bin/dhtnode-http $DHT_HTTP_ARGS
+Restart=on-failure
+RestartSec=2s
+LimitNOFILE=65536
+WorkingDirectory=/tmp
+
+# Hardening
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+LockPersonality=yes
+NoNewPrivileges=yes
+PrivateDevices=yes
+PrivateTmp=yes
+PrivateUsers=yes
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=yes
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=strict
+ReadOnlyDirectories=/
+ReadWriteDirectories=-/proc/self
+ReadWriteDirectories=-/var/run
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+RestrictNamespaces=yes
+RestrictRealtime=yes
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+#! /usr/bin/dh-exec
+usr/bin/dhtchat
+usr/bin/dhtcluster
+usr/bin/dhtscanner
+usr/bin/dhtnode-http
+debian/dhtnode-http.conf => /etc/default/dhtnode-http
--- /dev/null
+From 9155a8401d79a69a68052e3c8145da1187240d20 Mon Sep 17 00:00:00 2001
+From: Amin Bandali <amin.bandali@savoirfairelinux.com>
+Date: Sun, 5 Feb 2023 12:56:24 -0500
+Subject: [PATCH] build/cmake: Link libatomic where needed for 64-bit atomic
+ ops.
+Forwarded: https://github.com/savoirfairelinux/opendht/pull/653
+Last-Update: 2023-02-05
+
+Link against libatomic also on architectures that need it for 64-bit
+atomic operations. ARM EABI (armel) and little-endian MIPS (mipsel)
+are two such architectures.
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6e434bb5..3869af4d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,7 +48,9 @@ set (CMAKE_CXX_STANDARD 17)
+ set (CMAKE_CXX_STANDARD_REQUIRED on)
+
+ # Dependencies
+-if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
++if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB
++ # For ARM EABI (armel), little-endian MIPS (mipsel), etc.
++ OR NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
+ link_libraries (atomic)
+ endif ()
+
+--
+2.39.1
+
--- /dev/null
+Description: Disable building and installing Python bindings by upstream
+ Comment out the build and install bits from python/CMakeLists.txt so
+ we could do so from debian/rules.
+Author: Amin Bandali <bandali@gnu.org>
+Forwarded: not-needed
+Last-Update: 2023-08-16
+
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index 595cded..cd74c18 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -5,15 +5,15 @@ set(CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ configure_file(setup.py.in setup.py)
+ configure_file(pyproject.toml pyproject.toml COPYONLY)
+
+-add_custom_target(python ALL
+- COMMAND python3 setup.py build
+- DEPENDS opendht opendht_cpp.pxd opendht.pyx pyproject.toml)
++# add_custom_target(python ALL
++# COMMAND python3 setup.py build
++# DEPENDS opendht opendht_cpp.pxd opendht.pyx pyproject.toml)
+
+-add_custom_target(dist
+- COMMAND python3 -m build
+- DEPENDS opendht opendht_cpp.pxd opendht.pyx pyproject.toml)
++# add_custom_target(dist
++# COMMAND python3 -m build
++# DEPENDS opendht opendht_cpp.pxd opendht.pyx pyproject.toml)
+
+-install(CODE "execute_process(COMMAND python3 setup.py install --root=\$ENV{DESTDIR}/ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
++# install(CODE "execute_process(COMMAND python3 setup.py install --root=\$ENV{DESTDIR}/ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+ if (OPENDHT_TOOLS)
+ install(PROGRAMS tools/dhtcluster.py DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME dhtcluster)
+-endif()
+\ No newline at end of file
++endif()
--- /dev/null
+Description: Install the tools/http_server.py tool as dhtnode-http.
+Author: Amin Bandali <bandali@gnu.org>
+Last-Update: 2023-10-21
+
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index cd74c18..73751e0 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -16,4 +16,5 @@ configure_file(pyproject.toml pyproject.toml COPYONLY)
+ # install(CODE "execute_process(COMMAND python3 setup.py install --root=\$ENV{DESTDIR}/ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+ if (OPENDHT_TOOLS)
+ install(PROGRAMS tools/dhtcluster.py DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME dhtcluster)
++ install(PROGRAMS tools/http_server.py DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME dhtnode-http)
+ endif()
--- /dev/null
+0xxx: Grabbed from upstream development.
+1xxx: Possibly relevant for upstream adoption.
+2xxx: Only relevant for official Debian release.
--- /dev/null
+1000-cmake-fix-no-atomic-64.patch
+2000-cmake-python-no-build-install.patch
+2010-install-dhtnode-http.patch
--- /dev/null
+usr/lib/python3*/*-packages/opendht*
--- /dev/null
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+include /usr/share/dpkg/architecture.mk
+
+# export DH_VERBOSE = 1
+PYVERS = $(shell py3versions -vs)
+
+# Hardening
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+CONFIGURE_FLAGS += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+CONFIGURE_FLAGS += -DOPENDHT_PROXY_SERVER=ON
+CONFIGURE_FLAGS += -DOPENDHT_PROXY_CLIENT=ON
+CONFIGURE_FLAGS += -DOPENDHT_PUSH_NOTIFICATIONS=ON
+CONFIGURE_FLAGS += -DOPENDHT_PYTHON=ON
+CONFIGURE_FLAGS += -DOPENDHT_C=ON
+CONFIGURE_FLAGS += -DOPENDHT_TESTS_NETWORK=OFF
+
+%:
+ dh $@ --without autoreconf --with python3
+
+override_dh_auto_configure:
+ dh_auto_configure -- ${CONFIGURE_FLAGS}
+
+clean-python%:
+ ( [ -d "obj-$(DEB_BUILD_GNU_TYPE)"/python ] && \
+ cd "obj-$(DEB_BUILD_GNU_TYPE)"/python && \
+ python$* setup.py clean ) || true
+
+build-python%:
+ cd "obj-$(DEB_BUILD_GNU_TYPE)"/python && \
+ python$* setup.py build
+
+install-python%:
+ cd "obj-$(DEB_BUILD_GNU_TYPE)"/python && \
+ python$* setup.py install \
+ --root=$(CURDIR)/debian/tmp \
+ --install-layout=deb
+
+execute_after_dh_auto_clean: $(PYVERS:%=clean-python%)
+ $(RM) $(CURDIR)/python/opendht.cpp
+execute_after_dh_auto_build: $(PYVERS:%=build-python%)
+execute_after_dh_auto_install: $(PYVERS:%=install-python%)
+ rm -f $(CURDIR)/debian/tmp/usr/share/man/man1/dhtnode.1
+execute_after_dh_install:
+ rm -f $(CURDIR)/debian/libopendht-dev/usr/include/opendht/opendht_c.h
+
+override_dh_installsystemd:
+ dh_installsystemd -popendht-tools --name=dhtnode-http --no-enable --no-start
+ dh_installsystemd --remaining-packages
+
+# Skip dh_dwz set as it fail on debian/dhtnode/usr/bin/dhtnode in version 2.4.10
+override_dh_dwz:
+ #dh_dwz
+
+override_dh_missing:
+ echo dh_missing disabled
+
--- /dev/null
+3.0 (quilt)
--- /dev/null
+Tests: test-compile-cpp, test-run-python
+Depends: @, build-essential, pkg-config
--- /dev/null
+#!/bin/sh
+#
+# Compile simple C++ client to validate headers and libraries are
+# properly set up. Not running, as network might not be available
+# when testing.
+
+cd $AUTOPKGTEST_TMP
+
+# Example code fetched from <URL: https://github.com/savoirfairelinux/opendht >
+cat <<EOF > simpleclient.cpp
+#include <opendht.h>
+#include <vector>
+
+int main()
+{
+ dht::DhtRunner node;
+
+ // Launch a dht node on a new thread, using a
+ // generated RSA key pair, and listen on port 4222.
+ node.run(4222, dht::crypto::generateIdentity(), true);
+
+ // Join the network through any running node,
+ // here using a known bootstrap node.
+ node.bootstrap("bootstrap.jami.net", "4222");
+
+ // put some data on the dht
+ std::vector<uint8_t> some_data(5, 10);
+ node.put("unique_key", some_data);
+
+ // put some data on the dht, signed with our generated private key
+ node.putSigned("unique_key_42", some_data);
+
+ // get data from the dht
+ node.get("other_unique_key", [](const std::vector<std::shared_ptr<dht::Value>>& values) {
+ // Callback called when values are found
+ for (const auto& value : values)
+ std::cout << "Found value: " << *value << std::endl;
+ return true; // return false to stop the search
+ });
+
+ // wait for dht threads to end
+ node.join();
+ return 0;
+}
+EOF
+LIBS="$(pkg-config --libs opendht)"
+if c++ -o simpleclient simpleclient.cpp $LIBS; then
+ echo success: building C++ client succeeded
+else
+ echo error: building C++ client failed
+ exit 1
+fi
+
+rm -f simpleclient.cpp simpleclient
--- /dev/null
+#!/usr/bin/env python3
+#
+# Run simple Python 3 excerpt to validate the Python 3 bindings.
+# Not testing networking, as it might not be available when testing.
+
+import opendht as dht
+
+node = dht.DhtRunner()
+
+node.run()
+assert node.isRunning()
+
+node.join()
+assert not node.isRunning()
--- /dev/null
+Name: OpenDHT
+Bug-Database: https://github.com/savoirfairelinux/opendht/issues
+Bug-Submit: https://github.com/savoirfairelinux/opendht/issues/new
+Repository: https://github.com/savoirfairelinux/opendht.git
+Repository-Browse: https://github.com/savoirfairelinux/opendht
--- /dev/null
+version=4
+opts="searchmode=plain,\
+filenamemangle=s%v?@ANY_VERSION@%@PACKAGE@-$1.tar.xz%,\
+uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|a|b)\d*)$/$1~$2/" \
+https://api.github.com/repos/savoirfairelinux/opendht/tags?per_page=50 \
+https://api.github.com/repos/[^/]+/[^/]+/tarball/refs/tags/v?@ANY_VERSION@