From: Benjamin Drung Date: Thu, 29 Feb 2024 12:15:24 +0000 (+0000) Subject: Import opendht_3.0.1-1.1.debian.tar.xz X-Git-Tag: archive/raspbian/3.0.1-1.1+rpi1^2~4^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cd5b489abdf8bfffc175f1d97ba2bd5582638e0e;p=opendht.git Import opendht_3.0.1-1.1.debian.tar.xz [dgit import tarball opendht 3.0.1-1.1 opendht_3.0.1-1.1.debian.tar.xz] --- cd5b489abdf8bfffc175f1d97ba2bd5582638e0e diff --git a/changelog b/changelog new file mode 100644 index 0000000..3e93a20 --- /dev/null +++ b/changelog @@ -0,0 +1,466 @@ +opendht (3.0.1-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Rename libraries for 64-bit time_t transition. Closes: #1062842 + + -- Benjamin Drung Thu, 29 Feb 2024 12:15:24 +0000 + +opendht (3.0.1-1) unstable; urgency=medium + + * New upstream release + * debian/control: Update Maintainer to use my new @debian.org address + + -- Amin Bandali Thu, 18 Jan 2024 23:32:40 -0500 + +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 20 Nov 2021 23:59:14 -0500 + +opendht (2.1.10-1) unstable; urgency=medium + + * New upstream version. (Closes: 978562) + + -- Alexandre Viau 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 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 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 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 Sat, 16 May 2020 13:08:04 -0400 + +opendht (1.8.1-1) unstable; urgency=medium + + * New upstream version. + + -- Alexandre Viau Sat, 05 Jan 2019 21:57:00 -0500 + +opendht (1.8.0-1) unstable; urgency=medium + + * New upstream version. + + -- Alexandre Viau Mon, 10 Dec 2018 20:15:28 -0500 + +opendht (1.7.4-1) unstable; urgency=medium + + * New upstream version. + + -- Alexandre Viau 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 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 Tue, 27 Feb 2018 06:11:11 +0000 + +opendht (1.5.0-3) unstable; urgency=medium + + * Build with msgpack-c v2 API. + + -- Alexandre Viau Thu, 01 Feb 2018 17:47:24 +0000 + +opendht (1.5.0-2) unstable; urgency=medium + + * Move to salsa.debian.org. + + -- Alexandre Viau Thu, 28 Dec 2017 17:09:51 -0500 + +opendht (1.5.0-1) unstable; urgency=medium + + * New upstream snapshot. + + -- Alexandre Viau 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 Wed, 15 Nov 2017 20:54:42 -0500 + +opendht (1.3.6-1) unstable; urgency=medium + + * New upstream snapshot. + + -- Alexandre Viau Fri, 25 Aug 2017 16:44:04 -0400 + +opendht (1.3.5-1) unstable; urgency=medium + + * New upstream snapshot. + + -- Alexandre Viau Wed, 02 Aug 2017 15:41:36 -0400 + +opendht (1.3.4-3) unstable; urgency=medium + + * Remove unneeded multiarch.patch. + + -- Alexandre Viau Sun, 02 Jul 2017 14:35:50 -0400 + +opendht (1.3.4-2) unstable; urgency=medium + + * dhtnode.service: restart on-failure + + -- Alexandre Viau 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 Sat, 01 Jul 2017 14:51:02 -0400 + +opendht (1.3.3-2) unstable; urgency=medium + + * Install CMakeFiles. (Closes: #866586) + + -- Alexandre Viau 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 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 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 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 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 Mon, 07 Nov 2016 13:14:31 -0500 + +opendht (1.2.1~dfsg1-4) unstable; urgency=medium + + * Add libopendht.shlibs. + + -- Alexandre Viau Sat, 05 Nov 2016 01:00:46 -0400 + +opendht (1.2.1~dfsg1-3) unstable; urgency=medium + + * Remove pkg-kde-tools dependency. + + -- Alexandre Viau Fri, 04 Nov 2016 16:10:56 -0400 + +opendht (1.2.1~dfsg1-2) unstable; urgency=medium + + * Link against argon2. + + -- Alexandre Viau 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 Wed, 29 Jun 2016 15:52:22 +0200 + +opendht (0.6.1~dfsg1-1) experimental; urgency=medium + + * Initial release. (Closes: #809362) + + -- Alexandre Viau Mon, 27 Jun 2016 13:09:11 +0200 diff --git a/control b/control new file mode 100644 index 0000000..576e7b7 --- /dev/null +++ b/control @@ -0,0 +1,250 @@ +Source: opendht +Section: libs +Priority: optional +Maintainer: Amin Bandali +Build-Depends: dpkg-dev (>= 1.22.5), 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}, + libopendht3t64 (=${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: libopendht3t64 +Provides: ${t64:Provides} +Replaces: libopendht3 +Breaks: libopendht3 (<< ${source:Version}) +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-c3t64 (=${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-c3t64 +Provides: ${t64:Provides} +Replaces: libopendht-c3 +Breaks: libopendht-c3 (<< ${source:Version}) +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, + ${shlibs:Depends}, + libopendht3t64 (=${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}, + libopendht3t64 (=${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}, + libopendht3t64 (=${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}), + libopendht3t64 (=${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. diff --git a/copyright b/copyright new file mode 100644 index 0000000..9de0492 --- /dev/null +++ b/copyright @@ -0,0 +1,103 @@ +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 + Sébastien Blin + Amin Bandali +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 + 2020-2024 Amin Bandali +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 + 2012 Zack Weinberg + 2013 Roy Stogner + 2014-2015 Google Inc. + 2015 Paul Norman + 2015 Moritz Klammler + 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. diff --git a/dhtnode-http.conf b/dhtnode-http.conf new file mode 100644 index 0000000..9f7bfea --- /dev/null +++ b/dhtnode-http.conf @@ -0,0 +1 @@ +DHT_HTTP_ARGS=-b bootstrap.jami.net:4222 -p 4222 -hp 8080 diff --git a/dhtnode.conf b/dhtnode.conf new file mode 100644 index 0000000..5136899 --- /dev/null +++ b/dhtnode.conf @@ -0,0 +1 @@ +DHT_ARGS=-b bootstrap.jami.net -p 4222 diff --git a/dhtnode.dirs b/dhtnode.dirs new file mode 100644 index 0000000..2e5ad4c --- /dev/null +++ b/dhtnode.dirs @@ -0,0 +1 @@ +var/lib/opendht diff --git a/dhtnode.install b/dhtnode.install new file mode 100755 index 0000000..036574c --- /dev/null +++ b/dhtnode.install @@ -0,0 +1,3 @@ +#! /usr/bin/dh-exec +usr/bin/dhtnode +debian/dhtnode.conf => etc/default/dhtnode diff --git a/dhtnode.manpages b/dhtnode.manpages new file mode 100644 index 0000000..f2e08c4 --- /dev/null +++ b/dhtnode.manpages @@ -0,0 +1 @@ +doc/dhtnode.1 diff --git a/dhtnode.postinst b/dhtnode.postinst new file mode 100644 index 0000000..bd722b2 --- /dev/null +++ b/dhtnode.postinst @@ -0,0 +1,52 @@ +#!/bin/sh +# postinst script for dhtnode +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# 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 diff --git a/dhtnode.postrm b/dhtnode.postrm new file mode 100644 index 0000000..8e103b9 --- /dev/null +++ b/dhtnode.postrm @@ -0,0 +1,44 @@ +#!/bin/sh +# postrm script for dhtnode +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# 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 diff --git a/dhtnode.service b/dhtnode.service new file mode 100644 index 0000000..90198f3 --- /dev/null +++ b/dhtnode.service @@ -0,0 +1,43 @@ +[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 diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..a7a2941 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,14 @@ +[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 diff --git a/libopendht-c-dev.install b/libopendht-c-dev.install new file mode 100644 index 0000000..90f4f77 --- /dev/null +++ b/libopendht-c-dev.install @@ -0,0 +1,3 @@ +usr/include/opendht/opendht_c.h +usr/lib/*/libopendht-c.so +usr/lib/*/pkgconfig/opendht-c.pc diff --git a/libopendht-c3t64.install b/libopendht-c3t64.install new file mode 100644 index 0000000..05a6b79 --- /dev/null +++ b/libopendht-c3t64.install @@ -0,0 +1 @@ +usr/lib/*/libopendht-c.so.* diff --git a/libopendht-c3t64.lintian-overrides b/libopendht-c3t64.lintian-overrides new file mode 100644 index 0000000..78e60cb --- /dev/null +++ b/libopendht-c3t64.lintian-overrides @@ -0,0 +1 @@ +libopendht-c3t64: package-name-doesnt-match-sonames libopendht-c3 diff --git a/libopendht-c3t64.symbols b/libopendht-c3t64.symbols new file mode 100644 index 0000000..93bc582 --- /dev/null +++ b/libopendht-c3t64.symbols @@ -0,0 +1,86 @@ +libopendht-c.so.3 libopendht-c3t64 #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 + (arch=!armel !riscv64)_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 + (arch=!armel !riscv64)_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 + (arch=!armel !riscv64)_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 + (arch=!armel !riscv64)_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 diff --git a/libopendht-dev.install b/libopendht-dev.install new file mode 100644 index 0000000..e095365 --- /dev/null +++ b/libopendht-dev.install @@ -0,0 +1,4 @@ +usr/include/* +usr/lib/*/libopendht.so +usr/lib/*/pkgconfig/opendht.pc +usr/lib/*/cmake/opendht/* diff --git a/libopendht3t64.install b/libopendht3t64.install new file mode 100644 index 0000000..6df2c91 --- /dev/null +++ b/libopendht3t64.install @@ -0,0 +1 @@ +usr/lib/*/libopendht.so.* diff --git a/libopendht3t64.lintian-overrides b/libopendht3t64.lintian-overrides new file mode 100644 index 0000000..417df3f --- /dev/null +++ b/libopendht3t64.lintian-overrides @@ -0,0 +1 @@ +libopendht3t64: package-name-doesnt-match-sonames libopendht3 diff --git a/opendht-tools.dhtnode-http.service b/opendht-tools.dhtnode-http.service new file mode 100644 index 0000000..604e4e8 --- /dev/null +++ b/opendht-tools.dhtnode-http.service @@ -0,0 +1,43 @@ +[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 diff --git a/opendht-tools.install b/opendht-tools.install new file mode 100755 index 0000000..e8b0219 --- /dev/null +++ b/opendht-tools.install @@ -0,0 +1,6 @@ +#! /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 diff --git a/patches/1000-cmake-fix-no-atomic-64.patch b/patches/1000-cmake-fix-no-atomic-64.patch new file mode 100644 index 0000000..c5c8b96 --- /dev/null +++ b/patches/1000-cmake-fix-no-atomic-64.patch @@ -0,0 +1,33 @@ +From 9155a8401d79a69a68052e3c8145da1187240d20 Mon Sep 17 00:00:00 2001 +From: Amin Bandali +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 + diff --git a/patches/2000-cmake-python-no-build-install.patch b/patches/2000-cmake-python-no-build-install.patch new file mode 100644 index 0000000..0328d17 --- /dev/null +++ b/patches/2000-cmake-python-no-build-install.patch @@ -0,0 +1,36 @@ +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 +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() diff --git a/patches/2010-install-dhtnode-http.patch b/patches/2010-install-dhtnode-http.patch new file mode 100644 index 0000000..05a5192 --- /dev/null +++ b/patches/2010-install-dhtnode-http.patch @@ -0,0 +1,14 @@ +Description: Install the tools/http_server.py tool as dhtnode-http. +Author: Amin Bandali +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() diff --git a/patches/README b/patches/README new file mode 100644 index 0000000..80c1584 --- /dev/null +++ b/patches/README @@ -0,0 +1,3 @@ +0xxx: Grabbed from upstream development. +1xxx: Possibly relevant for upstream adoption. +2xxx: Only relevant for official Debian release. diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..b001696 --- /dev/null +++ b/patches/series @@ -0,0 +1,3 @@ +1000-cmake-fix-no-atomic-64.patch +2000-cmake-python-no-build-install.patch +2010-install-dhtnode-http.patch diff --git a/python3-opendht.install b/python3-opendht.install new file mode 100644 index 0000000..aef7d79 --- /dev/null +++ b/python3-opendht.install @@ -0,0 +1 @@ +usr/lib/python3*/*-packages/opendht* diff --git a/rules b/rules new file mode 100755 index 0000000..7cc1fb6 --- /dev/null +++ b/rules @@ -0,0 +1,57 @@ +#!/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 diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..d97dc9c --- /dev/null +++ b/tests/control @@ -0,0 +1,2 @@ +Tests: test-compile-cpp, test-run-python +Depends: @, build-essential, pkg-config diff --git a/tests/test-compile-cpp b/tests/test-compile-cpp new file mode 100755 index 0000000..f2212ca --- /dev/null +++ b/tests/test-compile-cpp @@ -0,0 +1,54 @@ +#!/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 +cat < simpleclient.cpp +#include +#include + +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 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>& 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 diff --git a/tests/test-run-python b/tests/test-run-python new file mode 100755 index 0000000..a45bae2 --- /dev/null +++ b/tests/test-run-python @@ -0,0 +1,14 @@ +#!/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() diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..5ffa036 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,5 @@ +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 diff --git a/watch b/watch new file mode 100644 index 0000000..d056354 --- /dev/null +++ b/watch @@ -0,0 +1,6 @@ +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@