opendht (3.0.0-4+rpi1) trixie-staging; urgency=medium
authorPeter Michael Green <plugwash@raspbian.org>
Fri, 22 Dec 2023 07:29:01 +0000 (07:29 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Fri, 22 Dec 2023 07:29:01 +0000 (07:29 +0000)
  * Update symbols file for raspbian.
  * Skip dh_missing.

[dgit import unpatched opendht 3.0.0-4+rpi1]

32 files changed:
1  2 
debian/changelog
debian/control
debian/copyright
debian/dhtnode-http.conf
debian/dhtnode.conf
debian/dhtnode.dirs
debian/dhtnode.install
debian/dhtnode.manpages
debian/dhtnode.postinst
debian/dhtnode.postrm
debian/dhtnode.service
debian/gbp.conf
debian/libopendht-c-dev.install
debian/libopendht-c3.install
debian/libopendht-c3.symbols
debian/libopendht-dev.install
debian/libopendht3.install
debian/opendht-tools.dhtnode-http.service
debian/opendht-tools.install
debian/patches/1000-cmake-fix-no-atomic-64.patch
debian/patches/2000-cmake-python-no-build-install.patch
debian/patches/2010-install-dhtnode-http.patch
debian/patches/README
debian/patches/series
debian/python3-opendht.install
debian/rules
debian/source/format
debian/tests/control
debian/tests/test-compile-cpp
debian/tests/test-run-python
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e22eee8596e3f0df904f83882d5003ace55ccb34
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,459 @@@
++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
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9029d42aef236457d31817fd94e283fbe6246ddb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,244 @@@
++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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8316f2e11195d0aec7d93a862e344276aba5f2f7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 <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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9f7bfea79f58fd1c2ac7e8e4be8b517222bd23f6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++DHT_HTTP_ARGS=-b bootstrap.jami.net:4222 -p 4222 -hp 8080
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5136899b63aa2adae664216888af772692aeeddd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++DHT_ARGS=-b bootstrap.jami.net -p 4222
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2e5ad4c82b99fbe357b8ad7bc7cf76323eeee031
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var/lib/opendht
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..036574c7ae58ad88597ea5c073eca907ae356e3f
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++#! /usr/bin/dh-exec
++usr/bin/dhtnode
++debian/dhtnode.conf => etc/default/dhtnode
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f2e08c4a3e09cb46eef6082b6ec1663a51ff406b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++doc/dhtnode.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bd722b2dcb5101fdd1880765467d3fb6f7d69993
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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:
++#        * <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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8e103b93f610b535fb236ae59bcbcea6c98b42eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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:
++#        * <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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..90198f3756be1c355bdf328f5be5630033a8cef6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a7a2941e233667a6035e6dced86249cb270ce173
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..90f4f770a672ac0e80b409375ad821ce95a6af98
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/include/opendht/opendht_c.h
++usr/lib/*/libopendht-c.so
++usr/lib/*/pkgconfig/opendht-c.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..05a6b79bc4eeb99347616e67428b7febf75f4fa1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libopendht-c.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4a7a28ed904dd8e45ce18d26933882d0eb3d9b48
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,86 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e09536530493470129a9531ef05ac40cb67b7a86
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/*
++usr/lib/*/libopendht.so
++usr/lib/*/pkgconfig/opendht.pc
++usr/lib/*/cmake/opendht/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6df2c9134cb71453d689246eb8e9ed86a9e7bd5e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libopendht.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..604e4e8ed3f35b50bd9a564826d6f2a99ad872a0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e8b0219ec96f11811033d1ec9116809ef31e68b3
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c5c8b9669372a02f488547ab3d363567ad907d74
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0328d179336909ac9210cc95a2e1e47744b30845
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -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 <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()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..05a5192ba21b30d97e65462050a7ca034d62d882
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++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()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80c1584376a9798f816d904a07f9288adbde225d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++0xxx: Grabbed from upstream development.
++1xxx: Possibly relevant for upstream adoption.
++2xxx: Only relevant for official Debian release.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b0016966b1794929056c2c8a184cd321316e7551
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++1000-cmake-fix-no-atomic-64.patch
++2000-cmake-python-no-build-install.patch
++2010-install-dhtnode-http.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aef7d79da01b37926abf025ebd69a396992d7fd1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/python3*/*-packages/opendht*
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a78aa0203e3a481467ce941d72008623f795026d
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,61 @@@
++#!/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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d97dc9c87c4165d5edb9724f9423cd3063542100
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++Tests: test-compile-cpp, test-run-python
++Depends: @, build-essential, pkg-config
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f2212ca5f28fcbc9e0c0f1676242680800cfa829
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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 <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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a45bae2b986f4dda4ce88d40fbbd2c6e2002b5b9
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -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()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ffa036fd3ccf255d1363e9454e0feabd807d608
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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 --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d056354c8280e4f79447187bdf32e1d5878bdab4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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@