From: Amin Bandali Date: Wed, 22 Feb 2023 20:20:06 +0000 (-0500) Subject: opendht (2.4.12-7) unstable; urgency=medium X-Git-Tag: archive/raspbian/3.0.1-1.1+rpi1~1^2^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4c35333599ccc73b7a6e3a5166b1aa54947de096;p=opendht.git 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. [dgit import unpatched opendht 2.4.12-7] --- 4c35333599ccc73b7a6e3a5166b1aa54947de096 diff --cc debian/changelog index 0000000,0000000..e526844 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,387 @@@ ++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 --cc debian/control index 0000000,0000000..ca00d3a new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,211 @@@ ++Source: opendht ++Section: libs ++Priority: optional ++Maintainer: Amin Bandali ++Build-Depends: debhelper-compat (= 12), ++ cmake, ++ dh-exec, ++ pkg-config, ++ 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}, ++ libopendht2 (=${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: libopendht2 ++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-c2 (=${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-c2 ++Architecture: any ++Multi-Arch: same ++Depends: ${misc:Depends}, ++ ${shlibs:Depends}, ++ libopendht2 (=${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}, ++ libopendht2 (=${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}, ++ libopendht2 (=${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. diff --cc debian/copyright index 0000000,0000000..7648db5 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,99 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: ring ++Upstream-Contact: Alexandre Viau ++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 ++License: Expat ++ ++Files: include/opendht/securedht.h ++Copyright: 2014-2022 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-2022 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-2022 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 --cc debian/dhtnode.conf index 0000000,0000000..f8ba7a5 new file mode 100644 --- /dev/null +++ b/debian/dhtnode.conf @@@ -1,0 -1,0 +1,1 @@@ ++DHT_ARGS=-b bootstrap.ring.cx -p 4222 diff --cc debian/dhtnode.dirs index 0000000,0000000..2e5ad4c new file mode 100644 --- /dev/null +++ b/debian/dhtnode.dirs @@@ -1,0 -1,0 +1,1 @@@ ++var/lib/opendht diff --cc debian/dhtnode.install index 0000000,0000000..036574c new file mode 100755 --- /dev/null +++ b/debian/dhtnode.install @@@ -1,0 -1,0 +1,3 @@@ ++#! /usr/bin/dh-exec ++usr/bin/dhtnode ++debian/dhtnode.conf => etc/default/dhtnode diff --cc debian/dhtnode.manpages index 0000000,0000000..f2e08c4 new file mode 100644 --- /dev/null +++ b/debian/dhtnode.manpages @@@ -1,0 -1,0 +1,1 @@@ ++doc/dhtnode.1 diff --cc debian/dhtnode.postinst index 0000000,0000000..bd722b2 new file mode 100644 --- /dev/null +++ b/debian/dhtnode.postinst @@@ -1,0 -1,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 --cc debian/dhtnode.postrm index 0000000,0000000..8e103b9 new file mode 100644 --- /dev/null +++ b/debian/dhtnode.postrm @@@ -1,0 -1,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 --cc debian/dhtnode.service index 0000000,0000000..90198f3 new file mode 100644 --- /dev/null +++ b/debian/dhtnode.service @@@ -1,0 -1,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 --cc debian/gbp.conf index 0000000,0000000..cec628c new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,2 @@@ ++[DEFAULT] ++pristine-tar = True diff --cc debian/libopendht-c-dev.install index 0000000,0000000..90f4f77 new file mode 100644 --- /dev/null +++ b/debian/libopendht-c-dev.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/include/opendht/opendht_c.h ++usr/lib/*/libopendht-c.so ++usr/lib/*/pkgconfig/opendht-c.pc diff --cc debian/libopendht-c2.install index 0000000,0000000..05a6b79 new file mode 100644 --- /dev/null +++ b/debian/libopendht-c2.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libopendht-c.so.* diff --cc debian/libopendht-c2.symbols index 0000000,0000000..0e56810 new file mode 100644 --- /dev/null +++ b/debian/libopendht-c2.symbols @@@ -1,0 -1,0 +1,84 @@@ ++libopendht-c.so.2 libopendht-c2 #MINVER# ++ _ZNSt12_Vector_baseIhSaIhEED1Ev@Base 2.4.12 ++ _ZNSt12_Vector_baseIhSaIhEED2Ev@Base 2.4.12 ++ _ZNSt14_Function_baseD1Ev@Base 2.4.12 ++ _ZNSt14_Function_baseD2Ev@Base 2.4.12 ++ (arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv@Base 2.4.12 ++ (arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.4.12 ++ (arch=!armel !armhf !i386 !hurd-i386 !mipsel !hppa !m68k !powerpc !riscv64 !sparc64 !x32 !sh4)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv@Base 2.4.12 ++ (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 --cc debian/libopendht-dev.install index 0000000,0000000..e095365 new file mode 100644 --- /dev/null +++ b/debian/libopendht-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/libopendht.so ++usr/lib/*/pkgconfig/opendht.pc ++usr/lib/*/cmake/opendht/* diff --cc debian/libopendht2.install index 0000000,0000000..6df2c91 new file mode 100644 --- /dev/null +++ b/debian/libopendht2.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libopendht.so.* diff --cc debian/patches/1000-cmake-fix-no-atomic-64.patch index 0000000,0000000..c5c8b96 new file mode 100644 --- /dev/null +++ b/debian/patches/1000-cmake-fix-no-atomic-64.patch @@@ -1,0 -1,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 --cc debian/patches/1010-man-page-formatting.patch index 0000000,0000000..7023db3 new file mode 100644 --- /dev/null +++ b/debian/patches/1010-man-page-formatting.patch @@@ -1,0 -1,0 +1,28 @@@ ++Description: Correct dhtnode(1) man page formatting ++ This fixes the following lintian issue: ++ 22: warning: macro 'mF' not defined [usr/share/man/man1/dhtnode.1.gz:1] ++Author: Jakob Haufe ++Origin: https://people.debian.org/~sur5r/dhtnode-manpage/dhtnode.1.EX.diff ++Forwarded: no ++Reviewed-By: Petter Reinholdtsen ++Last-Update: 2023-02-22 ++ ++--- opendht-2.4.12.orig/doc/dhtnode.1 +++++ opendht-2.4.12/doc/dhtnode.1 ++@@ -19,7 +19,7 @@ ++ .SH DESCRIPTION ++ Runs an OpenDHT node, with a CLI (default) or as a daemon (with \fB'-d'\fP or \fB'-s'\fP). ++ Commands available in the interactive shell are: ++-.EE +++.EX ++ h, help Print this help message. ++ q, quit Quit the program. ++ log Start/stop printing DHT logs. ++@@ -39,6 +39,7 @@ Commands available in the interactive sh ++ private key. ++ e [key] [dest] [str] Put string value at [key], encrypted for [dest] with ++ its public key (if found). +++.EE ++ .SH OPTIONS ++ .TP ++ \fB\-h\fP diff --cc debian/patches/2000-cmake-python-no-build-install.patch index 0000000,0000000..28fe1b1 new file mode 100644 --- /dev/null +++ b/debian/patches/2000-cmake-python-no-build-install.patch @@@ -1,0 -1,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: no ++Last-Update: 2023-01-29 ++ ++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 --cc debian/patches/README index 0000000,0000000..80c1584 new file mode 100644 --- /dev/null +++ b/debian/patches/README @@@ -1,0 -1,0 +1,3 @@@ ++0xxx: Grabbed from upstream development. ++1xxx: Possibly relevant for upstream adoption. ++2xxx: Only relevant for official Debian release. diff --cc debian/patches/series index 0000000,0000000..c47747e new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,3 @@@ ++1000-cmake-fix-no-atomic-64.patch ++1010-man-page-formatting.patch ++2000-cmake-python-no-build-install.patch diff --cc debian/python3-opendht.install index 0000000,0000000..aef7d79 new file mode 100644 --- /dev/null +++ b/debian/python3-opendht.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/python3*/*-packages/opendht* diff --cc debian/rules index 0000000,0000000..ce18cbd new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,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 += -DOPENDHT_SHARED=ON ++CONFIGURE_FLAGS += -DOPENDHT_STATIC=OFF ++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 ++ ++%: ++ 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_installinit: ++ echo override_dh_installinit ++ ++# Skip dh_dwz set as it fail on debian/dhtnode/usr/bin/dhtnode in version 2.4.10 ++override_dh_dwz: ++ #dh_dwz diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/tests/control index 0000000,0000000..d97dc9c new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,2 @@@ ++Tests: test-compile-cpp, test-run-python ++Depends: @, build-essential, pkg-config diff --cc debian/tests/test-compile-cpp index 0000000,0000000..f2212ca new file mode 100755 --- /dev/null +++ b/debian/tests/test-compile-cpp @@@ -1,0 -1,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 --cc debian/tests/test-run-python index 0000000,0000000..a45bae2 new file mode 100755 --- /dev/null +++ b/debian/tests/test-run-python @@@ -1,0 -1,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 --cc debian/watch index 0000000,0000000..31ca925 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=4 ++opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*@ARCHIVE_EXT@)%@PACKAGE@-$1%" \ ++ https://github.com/savoirfairelinux/opendht/tags \ ++ (?:.*?/)?v?@ANY_VERSION@@ARCHIVE_EXT@