[pve-devel] applied: [PATCH 1/8] extract debian and track that

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Aug 21 17:25:19 CEST 2019


Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
 Makefile                                      |   5 +-
 debian/changelog                              | 152 ++++++++++++++++++
 debian/compat                                 |   1 +
 debian/control                                | 115 +++++++++++++
 debian/copyright                              |  72 +++++++++
 debian/gbp.conf                               |  15 ++
 debian/libknet-dev.install                    |   3 +
 debian/libknet-doc.install                    |   1 +
 debian/libknet1.install                       |   2 +
 debian/libknet1.symbols                       |  62 +++++++
 debian/libnozzle-dev.install                  |   3 +
 debian/libnozzle1.install                     |   1 +
 debian/libnozzle1.symbols                     |  20 +++
 ...TP-test-if-SCTP-is-not-supported-by-.patch |  28 ++++
 debian/patches/series                         |   1 +
 debian/rules                                  |  39 +++++
 debian/source/format                          |   1 +
 debian/tests/control                          |   7 +
 debian/tests/unit                             |  12 ++
 debian/upstream/signing-key.asc               |  51 ++++++
 debian/watch                                  |   4 +
 ...kronosnet_1.10-0+really1.8-2.debian.tar.xz | Bin 8912 -> 0 bytes
 22 files changed, 592 insertions(+), 3 deletions(-)
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 create mode 100644 debian/gbp.conf
 create mode 100644 debian/libknet-dev.install
 create mode 100644 debian/libknet-doc.install
 create mode 100644 debian/libknet1.install
 create mode 100644 debian/libknet1.symbols
 create mode 100644 debian/libnozzle-dev.install
 create mode 100644 debian/libnozzle1.install
 create mode 100644 debian/libnozzle1.symbols
 create mode 100644 debian/patches/send-test-skip-the-SCTP-test-if-SCTP-is-not-supported-by-.patch
 create mode 100644 debian/patches/series
 create mode 100755 debian/rules
 create mode 100644 debian/source/format
 create mode 100644 debian/tests/control
 create mode 100755 debian/tests/unit
 create mode 100644 debian/upstream/signing-key.asc
 create mode 100644 debian/watch
 delete mode 100644 upstream/kronosnet_1.10-0+really1.8-2.debian.tar.xz

diff --git a/Makefile b/Makefile
index 7d4b0f2..ceae235 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,6 @@ PVERELEASE=pve2
 
 BUILDDIR=kronosnet-${VERSION}
 SRCARCHIVE=kronosnet_${VERSION}.orig.tar.xz
-DEBARCHIVE=kronosnet_${VERSION}-${DEBRELEASE}.debian.tar.xz
 
 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
 
@@ -23,12 +22,12 @@ DSC=kronosnet-${VERSION}-${PVERELEASE}.dsc
 all:
 	ls -1 ${DEBS}
 
-${BUILDDIR}: upstream/${SRCARCHIVE} upstream/${DEBARCHIVE} patches/*
+${BUILDDIR}: upstream/${SRCARCHIVE} patches/*
 	rm -rf ${BUILDDIR}
 	mkdir ${BUILDDIR}
 	ln -sf upstream/${SRCARCHIVE} ${SRCARCHIVE}
 	tar -x -C ${BUILDDIR} --strip-components=1 -f upstream/${SRCARCHIVE}
-	tar -C ${BUILDDIR} -xf upstream/${DEBARCHIVE}
+	cp -a debian/ ${BUILDDIR}
 	cd ${BUILDDIR}; ln -s ../patches patches
 	cd ${BUILDDIR}; quilt push -a
 	cd ${BUILDDIR}; rm -rf .pc ./patches
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..63d5a6d
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,152 @@
+kronosnet (1.8-2) unstable; urgency=medium
+
+  * [b6a2cdc] New patch: send test: skip the SCTP test if SCTP is not supported
+    by the kernel
+
+ -- Ferenc Wágner <wferi at debian.org>  Wed, 03 Apr 2019 10:33:30 +0200
+
+kronosnet (1.8-1) unstable; urgency=medium
+
+  * [ff7beff] New upstream release (1.8)
+  * [21d7565] Update copyright years
+
+ -- Ferenc Wágner <wferi at debian.org>  Mon, 01 Apr 2019 23:59:14 +0200
+
+kronosnet (1.7-1) unstable; urgency=medium
+
+  * [4e5fcde] New upstream release (1.7)
+  * [f23dac4] Delete our patches, they went upstream
+
+ -- Ferenc Wágner <wferi at debian.org>  Thu, 31 Jan 2019 19:06:49 +0100
+
+kronosnet (1.6-4) unstable; urgency=medium
+
+  * [50a96b8] Fix ugly assignment bug in my patch
+
+ -- Ferenc Wágner <wferi at debian.org>  Fri, 28 Dec 2018 10:21:26 +0100
+
+kronosnet (1.6-3) unstable; urgency=medium
+
+  * [c2eec28] New patch: Fix nozzle man dates to SOURCE_EPOCH, just like the
+    libknet ones are
+
+ -- Ferenc Wágner <wferi at debian.org>  Wed, 26 Dec 2018 11:00:26 +0100
+
+kronosnet (1.6-2) unstable; urgency=medium
+
+  * [121d257] New patch: Skip SCTP event initialization if the protocol is not
+    supported
+  * [7112630] Run libknet unit tests as autopkgtests, too.
+    Buildds lack SCTP support, so this is more comprehensive.
+  * [62e62e6] Update Standards-Version to 4.3.0 (no changes required)
+  * [45b1073] Add libnozzle autopkgtests.
+    The libnozzle tests are all skipped during the build because they need
+    root privileges.
+
+ -- Ferenc Wágner <wferi at debian.org>  Mon, 24 Dec 2018 02:12:39 +0100
+
+kronosnet (1.6-1) unstable; urgency=medium
+
+  * [640f767] New upstream release (1.6)
+  * [c9f9431] Revert "New patch: Try to be compatible with earlier kernels"
+    Kronosnet 1.6 fixed this in a better way.
+  * [4c9b44c] Update copyright years and libnozzle name
+  * [435f2f8] New binary packages: libnozzle1 and libnozzle-dev
+    libnozzle requires libnl-3 and libnl-route-3
+  * [65f93be] Extend the long description of Kronosnet
+  * [37dc7b7] Suggest the documentation from libknet-dev
+  * [16cfc1b] Ship README and COPYRIGHT in all binary packages
+  * [d8b5f19] New patch: Install the nozzle man pages
+  * [5e01b4c] The nozzle man pages are in libknet-doc.
+    It isn't worth introducing a new binary package for.
+  * [b513715] New patch: Fix typos
+
+ -- Ferenc Wágner <wferi at debian.org>  Wed, 19 Dec 2018 11:59:23 +0100
+
+kronosnet (1.5-1) unstable; urgency=medium
+
+  * [055d424] Use the 'replace' merge mode.
+    The debian directory is not upstream territory, so this is safer.
+  * [89d5ff1] New upstream release (1.5)
+  * [ebf50a1] Update debian/copyright
+  * [8f34d31] New patch: Try to be compatible with earlier kernels
+
+ -- Ferenc Wágner <wferi at debian.org>  Tue, 27 Nov 2018 13:41:40 +0100
+
+kronosnet (1.4-1) unstable; urgency=medium
+
+  * [25262ef] New upstream release (1.4)
+  * [f98fbaa] Update Standards-Version to 4.2.1 (no changes required)
+
+ -- Ferenc Wágner <wferi at debian.org>  Sat, 22 Sep 2018 18:02:02 +0200
+
+kronosnet (1.3-1) unstable; urgency=medium
+
+  * [a52437e] New upstream release (1.2)
+  * [78b1a8e] The upstream build system already handles SOURCE_DATE_EPOCH
+  * [3fc0634] Update Standards-Version to 4.1.4 (no changes required)
+  * [428a983] New upstream release (1.3)
+
+ -- Ferenc Wágner <wferi at debian.org>  Tue, 08 May 2018 20:29:23 +0200
+
+kronosnet (1.1-2) unstable; urgency=medium
+
+  * [db289c1] New patch reproducible-build.patch
+    Thanks to Chris Lamb (Closes: #892021)
+
+ -- Ferenc Wágner <wferi at debian.org>  Sun, 04 Mar 2018 17:25:53 +0100
+
+kronosnet (1.1-1) unstable; urgency=medium
+
+  * [39a7e15] Revert "GCC already uses SOURCE_DATE_EPOCH"
+    This reverts commit 7611955b1e867624f3f1ab6810e3434c544426d0.
+    Since configure adds -Werror to CFLAGS by default, the -Wdate-time added
+    by dpkg-buildflags broke the build, but unnecessarily: modern gcc
+    already uses SOURCE_DATE_EPOCH, so reproducibility wasn't broken.
+    However, setting CFLAGS directly wasn't a good idea, since it dropped
+    the useful (mostly hardening) options as well.
+    As the __TIME__ and __DATE__ macros are used in the kronosnetd code
+    only, which isn't compiled by default, this setting had better go.
+  * [7d0af74] Pristine-tar is used by several gbp subcommands
+  * [490655d] New upstream release 1.1 (Closes: #886973)
+  * [9b89566] Drop upstreamed patches
+  * [5391160] Don't try building Kronosnet on the Hurd.
+    It misses both epoll and kevent, our two options. (Closes: #886972)
+  * [a532e65] The test suite can already run unprivileged
+  * [17d7e7c] Older liblz4 versions are also supported now
+  * [f80a59a] Use the official project description
+  * [7df074f] Split out the man pages into libknet-doc.
+    Building the documentation (man pages) requires extra dependencies and
+    effort, spare it if possible.
+  * [2fe8f33] Make --as-needed effective by patching libtool
+  * [750d039] Switch to dh_missing
+
+ -- Ferenc Wágner <wferi at debian.org>  Sun, 25 Feb 2018 17:59:44 +0100
+
+kronosnet (1.0-1) unstable; urgency=medium
+
+  * [f1fd87b] New upstream release (1.0)
+  * [7c1d7d2] Remove upstreamed patches, refresh the rest
+  * [327ea77] New patch: Give Hurd a chance
+  * [a89012a] Update Standards-Version to 4.1.3 (no changes required)
+  * [384b59c] Host the packaging repository on salsa.debian.org
+  * [07215f5] The required lz4 version is still experimental only
+  * [fd6c2bd] Switch to Debhelper compat level 11 (no changes required)
+  * Upload to unstable.
+
+ -- Ferenc Wágner <wferi at debian.org>  Tue, 09 Jan 2018 01:37:53 +0100
+
+kronosnet (0.9-2) experimental; urgency=medium
+
+  * [5b8fc8e] Further description updates will also be needed
+  * [b61fb92] netinet/sctp.h isn't in separate package on BSD
+  * [6d4aea9] New patch: tests: skip the SCTP test if SCTP is not
+    supported by the kernel
+
+ -- Ferenc Wágner <wferi at debian.org>  Tue, 02 Jan 2018 00:36:31 +0100
+
+kronosnet (0.9-1) experimental; urgency=medium
+
+  * Initial release. (Closes: #879824)
+
+ -- Ferenc Wágner <wferi at debian.org>  Sun, 17 Dec 2017 23:44:28 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..b4de394
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+11
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..807977c
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,115 @@
+Source: kronosnet
+Section: admin
+Priority: optional
+Maintainer: Debian HA Maintainers <debian-ha-maintainers at lists.alioth.debian.org>
+Uploaders:
+ Ferenc Wágner <wferi at debian.org>,
+Standards-Version: 4.3.0
+Build-Depends:
+ debhelper (>= 11~),
+ libnl-3-dev,
+ libnl-route-3-dev,
+ libsctp-dev [linux-any],
+ pkg-config,
+# Compress plugins:
+ libbz2-dev,
+ liblz4-dev,
+ liblzma-dev,
+ liblzo2-dev,
+ zlib1g-dev,
+# Crypto plugins:
+ libnss3-dev,
+ libnspr4-dev,
+ libssl-dev,
+Build-Depends-Indep:
+ doxygen,
+ libqb-dev,
+ libxml2-dev,
+Homepage: https://kronosnet.org/
+Vcs-Git: https://salsa.debian.org/ha-team/kronosnet.git
+Vcs-Browser: https://salsa.debian.org/ha-team/kronosnet
+X-Common-Description: Kronosnet, often referred to as knet, is a network
+ abstraction layer designed for High Availability use cases, where redundancy,
+ security, fault tolerance and fast fail-over are the core requirements of
+ your application.
+ .
+ Kronosnet is the new underlying network protocol for Linux HA components
+ (Corosync), that features ability to use multiple links between nodes,
+ active/active and active/passive link failover policies, automatic link
+ recovery, FIPS compliant encryption (nss and/or openssl), automatic PMTUd and
+ in general better performances compared to the old network protocol.
+X-Nozzle-Description: This is an over-engineered commodity library to manage a
+ pool of tap devices and provides the basic
+ pre-up.d/up.d/down.d/post-down.d infrastructure.
+
+Package: libknet-dev
+Section: libdevel
+# Hurd misses both epoll and kevent:
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Depends:
+ libknet1 (= ${binary:Version}),
+ ${misc:Depends},
+Suggests:
+ libknet-doc (= ${binary:Version}),
+Description: kronosnet core switching implementation (developer files)
+ ${S:X-Common-Description}
+ .
+ This package contains header files required to build libknet clients.
+
+Package: libknet-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends},
+# The man pages originally shipped in libknet-dev:
+Breaks:
+ libknet-dev (<< 1.1),
+Replaces:
+ libknet-dev (<< 1.1),
+Description: kronosnet core API documentation
+ ${S:X-Common-Description}
+ .
+ This package contains the man pages of the API functions.
+
+Package: libknet1
+Section: libs
+# Hurd misses both epoll and kevent:
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: kronosnet core switching implementation
+ ${S:X-Common-Description}
+ .
+ This package contains libraries that are used by libknet clients.
+
+Package: libnozzle-dev
+Section: libdevel
+# Hurd misses both epoll and kevent:
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Depends:
+ libnozzle1 (= ${binary:Version}),
+ ${misc:Depends},
+Suggests:
+ libknet-doc (= ${binary:Version}),
+Description: userland wrapper around kernel tap devices (developer files)
+ ${S:X-Nozzle-Description}
+ .
+ This package contains header files required to build libnozzle clients.
+
+Package: libnozzle1
+Section: libs
+# Hurd misses both epoll and kevent:
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: userland wrapper around kernel tap devices
+ ${S:X-Nozzle-Description}
+ .
+ This package contains libraries that are used by libnozzle clients.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..924157e
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,72 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: kronosnet
+Source: https://kronosnet.org/releases
+
+Files: *
+Copyright: 2010-2019 Red Hat, Inc.
+License: GPL-2+
+
+Files: libknet/*
+       libnozzle/*
+Copyright: 2010-2019 Red Hat, Inc.
+License: LGPL-2.1+
+
+Files: debian/*
+Copyright: 2017-2019 Ferenc Wágner <wferi at debian.org>
+License: LGPL-2.1+
+
+Files: build-aux/git-version-gen
+Copyright: 2012-2019 Red Hat, Inc.
+           2007-2016 Free Software Foundation, Inc.
+License: GPL-3+
+
+License: LGPL-2.1+
+ You can redistribute these libraries and/or modify them under the
+ terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2.1 of the License, or (at
+ your option) any later version.
+ .
+ The libraries are distributed in the hope that they will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in "/usr/share/common-licenses/LGPL-2.1".
+
+License: GPL-2+
+ You can redistribute these applications and/or modify them under the
+ terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+ .
+ The applications are distributed in the hope that they 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, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in "/usr/share/common-licenses/GPL-2".
+
+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.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in "/usr/share/common-licenses/GPL-3".
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..fcb34ca
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,15 @@
+[DEFAULT]
+debian-branch = debian/master
+upstream-branch = upstream/latest
+pristine-tar = True
+
+[import-orig]
+merge-mode = replace
+
+[pq]
+patch-numbers = False
+
+[dch]
+full = True
+multimaint-merge = True
+id-length = 7
diff --git a/debian/libknet-dev.install b/debian/libknet-dev.install
new file mode 100644
index 0000000..5fb6e00
--- /dev/null
+++ b/debian/libknet-dev.install
@@ -0,0 +1,3 @@
+usr/include/libknet.h
+usr/lib/*/libknet.so
+usr/lib/*/pkgconfig/libknet.pc
diff --git a/debian/libknet-doc.install b/debian/libknet-doc.install
new file mode 100644
index 0000000..2ae7ac9
--- /dev/null
+++ b/debian/libknet-doc.install
@@ -0,0 +1 @@
+usr/share/man/man3
diff --git a/debian/libknet1.install b/debian/libknet1.install
new file mode 100644
index 0000000..13ef39e
--- /dev/null
+++ b/debian/libknet1.install
@@ -0,0 +1,2 @@
+usr/lib/*/libknet.so.*
+usr/lib/*/kronosnet
diff --git a/debian/libknet1.symbols b/debian/libknet1.symbols
new file mode 100644
index 0000000..0fa1fd5
--- /dev/null
+++ b/debian/libknet1.symbols
@@ -0,0 +1,62 @@
+libknet.so.1 libknet1 #MINVER#
+* Build-Depends-Package: libknet-dev
+ LIBKNET at LIBKNET 0.9
+ knet_addrtostr at LIBKNET 0.9
+ knet_get_compress_list at LIBKNET 0.9
+ knet_get_crypto_list at LIBKNET 0.9
+ knet_get_transport_id_by_name at LIBKNET 0.9
+ knet_get_transport_list at LIBKNET 0.9
+ knet_get_transport_name_by_id at LIBKNET 0.9
+ knet_handle_add_datafd at LIBKNET 0.9
+ knet_handle_clear_stats at LIBKNET 0.9
+ knet_handle_compress at LIBKNET 0.9
+ knet_handle_crypto at LIBKNET 0.9
+ knet_handle_enable_filter at LIBKNET 0.9
+ knet_handle_enable_pmtud_notify at LIBKNET 0.9
+ knet_handle_enable_sock_notify at LIBKNET 0.9
+ knet_handle_free at LIBKNET 0.9
+ knet_handle_get_channel at LIBKNET 0.9
+ knet_handle_get_datafd at LIBKNET 0.9
+ knet_handle_get_stats at LIBKNET 0.9
+ knet_handle_get_transport_reconnect_interval at LIBKNET 0.9
+ knet_handle_new at LIBKNET 0.9
+ knet_handle_new_ex at LIBKNET 1.1
+ knet_handle_pmtud_get at LIBKNET 0.9
+ knet_handle_pmtud_getfreq at LIBKNET 0.9
+ knet_handle_pmtud_setfreq at LIBKNET 0.9
+ knet_handle_remove_datafd at LIBKNET 0.9
+ knet_handle_set_transport_reconnect_interval at LIBKNET 0.9
+ knet_handle_setfwd at LIBKNET 0.9
+ knet_host_add at LIBKNET 0.9
+ knet_host_enable_status_change_notify at LIBKNET 0.9
+ knet_host_get_host_list at LIBKNET 0.9
+ knet_host_get_id_by_host_name at LIBKNET 0.9
+ knet_host_get_name_by_host_id at LIBKNET 0.9
+ knet_host_get_policy at LIBKNET 0.9
+ knet_host_get_status at LIBKNET 0.9
+ knet_host_remove at LIBKNET 0.9
+ knet_host_set_name at LIBKNET 0.9
+ knet_host_set_policy at LIBKNET 0.9
+ knet_link_clear_config at LIBKNET 0.9
+ knet_link_get_config at LIBKNET 0.9
+ knet_link_get_enable at LIBKNET 0.9
+ knet_link_get_link_list at LIBKNET 0.9
+ knet_link_get_ping_timers at LIBKNET 0.9
+ knet_link_get_pong_count at LIBKNET 0.9
+ knet_link_get_priority at LIBKNET 0.9
+ knet_link_get_status at LIBKNET 0.9
+ knet_link_set_config at LIBKNET 0.9
+ knet_link_set_enable at LIBKNET 0.9
+ knet_link_set_ping_timers at LIBKNET 0.9
+ knet_link_set_pong_count at LIBKNET 0.9
+ knet_link_set_priority at LIBKNET 0.9
+ knet_log_get_loglevel at LIBKNET 0.9
+ knet_log_get_loglevel_id at LIBKNET 0.9
+ knet_log_get_loglevel_name at LIBKNET 0.9
+ knet_log_get_subsystem_id at LIBKNET 0.9
+ knet_log_get_subsystem_name at LIBKNET 0.9
+ knet_log_set_loglevel at LIBKNET 0.9
+ knet_recv at LIBKNET 0.9
+ knet_send at LIBKNET 0.9
+ knet_send_sync at LIBKNET 0.9
+ knet_strtoaddr at LIBKNET 0.9
diff --git a/debian/libnozzle-dev.install b/debian/libnozzle-dev.install
new file mode 100644
index 0000000..373138d
--- /dev/null
+++ b/debian/libnozzle-dev.install
@@ -0,0 +1,3 @@
+usr/include/libnozzle.h
+usr/lib/*/libnozzle.so
+usr/lib/*/pkgconfig/libnozzle.pc
diff --git a/debian/libnozzle1.install b/debian/libnozzle1.install
new file mode 100644
index 0000000..c3c7314
--- /dev/null
+++ b/debian/libnozzle1.install
@@ -0,0 +1 @@
+usr/lib/*/libnozzle.so.*
diff --git a/debian/libnozzle1.symbols b/debian/libnozzle1.symbols
new file mode 100644
index 0000000..dd931cf
--- /dev/null
+++ b/debian/libnozzle1.symbols
@@ -0,0 +1,20 @@
+libnozzle.so.1 libnozzle1 #MINVER#
+* Build-Depends-Package: libnozzle-dev
+ LIBNOZZLE at LIBNOZZLE 1.6
+ nozzle_add_ip at LIBNOZZLE 1.6
+ nozzle_close at LIBNOZZLE 1.6
+ nozzle_del_ip at LIBNOZZLE 1.6
+ nozzle_get_fd at LIBNOZZLE 1.6
+ nozzle_get_handle_by_name at LIBNOZZLE 1.6
+ nozzle_get_ips at LIBNOZZLE 1.6
+ nozzle_get_mac at LIBNOZZLE 1.6
+ nozzle_get_mtu at LIBNOZZLE 1.6
+ nozzle_get_name_by_handle at LIBNOZZLE 1.6
+ nozzle_open at LIBNOZZLE 1.6
+ nozzle_reset_mac at LIBNOZZLE 1.6
+ nozzle_reset_mtu at LIBNOZZLE 1.6
+ nozzle_run_updown at LIBNOZZLE 1.6
+ nozzle_set_down at LIBNOZZLE 1.6
+ nozzle_set_mac at LIBNOZZLE 1.6
+ nozzle_set_mtu at LIBNOZZLE 1.6
+ nozzle_set_up at LIBNOZZLE 1.6
diff --git a/debian/patches/send-test-skip-the-SCTP-test-if-SCTP-is-not-supported-by-.patch b/debian/patches/send-test-skip-the-SCTP-test-if-SCTP-is-not-supported-by-.patch
new file mode 100644
index 0000000..fb13ba3
--- /dev/null
+++ b/debian/patches/send-test-skip-the-SCTP-test-if-SCTP-is-not-supported-by-.patch
@@ -0,0 +1,28 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at debian.org>
+Date: Wed, 3 Apr 2019 10:26:11 +0200
+Subject: send test: skip the SCTP test if SCTP is not supported by the kernel
+
+For example, module loading is disabled on Debian build daemons.
+---
+ libknet/tests/api_knet_send.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libknet/tests/api_knet_send.c b/libknet/tests/api_knet_send.c
+index f241201..1c55db1 100644
+--- a/libknet/tests/api_knet_send.c
++++ b/libknet/tests/api_knet_send.c
+@@ -173,12 +173,13 @@ static void test(uint8_t transport)
+ 	}
+ 
+ 	if (knet_link_set_config(knet_h, 1, 0, transport, &lo, &lo, 0) < 0) {
++		int exit_status = transport == KNET_TRANSPORT_SCTP && errno == EPROTONOSUPPORT ? SKIP : FAIL;
+ 		printf("Unable to configure link: %s\n", strerror(errno));
+ 		knet_host_remove(knet_h, 1);
+ 		knet_handle_free(knet_h);
+ 		flush_logs(logfds[0], stdout);
+ 		close_logpipes(logfds);
+-		exit(FAIL);
++		exit(exit_status);
+ 	}
+ 
+ 	if (knet_link_set_enable(knet_h, 1, 0, 1) < 0) {
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..7fbd139
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+send-test-skip-the-SCTP-test-if-SCTP-is-not-supported-by-.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..ff6db0a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,39 @@
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+# Ensure that we link against all needed libraries (cf. Policy 10.2)
+export DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,defs
+
+%:
+	dh $@
+
+# Libtool destroys --as-needed for dynamic libraries (#347650)
+override_dh_autoreconf:
+	dh_autoreconf --as-needed
+
+override_dh_auto_configure:
+	dh_auto_configure -- \
+		--docdir=/usr/share/doc/libknet1 \
+		`dh_listpackages | grep -q '^libknet-doc$$' || printf %s --disable-man` \
+		--disable-static
+
+override_dh_install:
+	rm debian/tmp/usr/lib/*/libknet.la \
+	   debian/tmp/usr/lib/*/libnozzle.la \
+	   debian/tmp/usr/lib/*/kronosnet/*.la \
+	   debian/tmp/usr/share/doc/libknet1/README \
+	   debian/tmp/usr/share/doc/libknet1/README.licence \
+	   debian/tmp/usr/share/doc/libknet1/COPYRIGHT \
+	   debian/tmp/usr/share/doc/libknet1/COPYING.applications \
+	   debian/tmp/usr/share/doc/libknet1/COPYING.libraries
+	dh_install
+
+override_dh_installdocs:
+	dh_installdocs -A COPYRIGHT README
+
+override_dh_missing:
+	dh_missing --fail-missing
+
+override_dh_makeshlibs:
+	dh_makeshlibs --exclude=/kronosnet/ # ignore the modules
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..7ae3b25
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,7 @@
+Depends: libknet-dev, libnozzle-dev,
+ gcc, libc6-dev, make, pkg-config,
+ libnl-3-dev, libnl-route-3-dev, libsctp-dev,
+ libbz2-dev, liblz4-dev, liblzma-dev, liblzo2-dev, zlib1g-dev,
+ libnss3-dev, libssl-dev
+Restrictions: allow-stderr, isolation-container, needs-root
+Tests: unit
diff --git a/debian/tests/unit b/debian/tests/unit
new file mode 100755
index 0000000..7519dd1
--- /dev/null
+++ b/debian/tests/unit
@@ -0,0 +1,12 @@
+#!/bin/sh -ex
+
+./configure --disable-man
+
+# api-test-coverage would need a build, so call check-TESTS, not check:
+make LIBS="$(pkg-config --libs libknet) \$(PTHREAD_LIBS) \$(dl_LIBS)" \
+  VERBOSE=1 -C libknet/tests all check-TESTS
+
+mkdir -p /dev/net
+[ -c /dev/net/tun ] || mknod -m666 /dev/net/tun c 10 200
+make LIBS="$(pkg-config --libs libnozzle) \$(PTHREAD_LIBS) \$(libnl_LIBS)" \
+  VERBOSE=1 -C libnozzle/tests all check-TESTS
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..301fa57
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+u5LZ0iLuY5xKLFCUjbMPIg==
+=huHv
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..d043353
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=4
+
+opts=pgpmode=auto \
+  https://kronosnet.org/releases/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
diff --git a/upstream/kronosnet_1.10-0+really1.8-2.debian.tar.xz b/upstream/kronosnet_1.10-0+really1.8-2.debian.tar.xz
deleted file mode 100644
index 62a8e9309d6e28b35a2d568d8c38e06125de4965..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8912
zcmV;>A}`(jH+ooF000E$*0e?f03iVu0001VFXf})$NwUZT>vr}NNor1 at tIyK_)om_
zN=i<6S-%T;fDqd&YI)F8yErCF3s(z at 0-S6l=#d85{a7jb3F&;)rOVzAOJUYRAG>`Y
zdH<HiD%JUyX%|oKiL69+oh})GKmB0^z at Iss#4XB(7?a8i<^~ROSc&?w{Z5a2P3r3u
zd6Cj?3E`~}{*gZGnzlKGx!Yh6oGlrYN4Fy;xuSmYElQ8MWpwKD{)l{OpcI3x99Am(
z+F%7V1FNvP+p&zhJqlx{=zMS#>Nl52e2H5`#U~r!C$gj7xd_r<?LkWgPb;yfkYJWD
zKc=P~bdOy}sQ at _wn6<J|4ZE{x;l5tGW0d8C>+Y?}#^m08UDaQT^oLw6o4LU}qbi8u
z@=*1aA<-JNu%vT>$L;XO68us8Z5#c{>4fGQgQEIn=K6gYu4CQISM`cK;c~Nv2Q5S^
zUm&OpXoGWw=-R%5;Rw=cOZAbwhz2)Nqz<seMa)T|n%VbhNowme$~R%G)*Uc@=jLAc
zLEXqBz at V?vnX_AZyg0U910qF^sC*zOsVS3YI^&1Hq)i;UisdU1t(-PFoQAlmg?lE!
zEF~x(XYL9a614jQM~Vu?{L#>I2 at hD^qm{ENysA&Q-L?Cci-<*!7ugcSiQ{w3#crUP
zj!YntTlZXqtld&e4dNZ>2C7EXI8`~ZpUdA`L6Q$<c(A}McXdbtOHEv#nbeA~BaSN8
z>Q5lYb39o_;xuu7YDPpR81P?R#gGPM!!D}|!r=k679qh2OdT%RQb at A|4stMDS$9pX
zL at ZK6x6f?!fgH%?5kK=Gx2G`K2+gDL#0ivq^N6FVx)Ad`zeleu=^Zir&93F7{Wv!#
zgU4O(7JW8 at llIQf5nGTi%1yRa6S_V;|1hg7rSS{1q#Ef^tc$HF;+<FB84&2aw(d at P
z%l}^1*L?&y(8rwwEX5-sLm|#}V`vwp$J$5u_4)FYfBrhSI7TkeucvCD(fC><+%`he
z#I~|*8H~g3_`}=5^V&P!0=#}foGjb`2oD`pdAoi=<}&m{`x8(LbkYy1fQmP|Qy`{e
z>KS2Tve&DlJ^ZB2oUkr?JBmTQsdA~GWUeXZ>bkZMCi#2v1p8^BcfL75H<}HadY-xV
zhNl at w2v*ojehqs11zf{M=n)-1Rj|ixG$FuFfU9De2AA-~t3s(&%jw}T)HK^r74Mn}
z=!4TIMNw-1$J`}wT=X)UgJ-WDtO+fkR`_ at _2tAo=-fGS0zz1>cIP_IDwjMm<_5eR8
z_4tbxHh<=bj2n0yHHBe)iTG at aNzo{Tr|2*AR&WX#R?-%XAq-%<>CgTER2@#pww9|s
z(ok{1R&;!#MHeqQsZ==nBAm0-iu68Giex}(5Qj<IA7jW(s0zuUv*>l9T3eULe47m>
zZ at Tg`bH-dmV0fto_!8}RS*Qc>bZ5jkJnpx@=Me2AZ{BQR0 at Pf{-oL2cdyl?KbjKI+
zM!u=Qcr<2to~uH7Vhh<l6O6hh8Ma~yNeyD2Tu`sLbzBAE#S)k;ZsvypC)t0$`Wfuj
zs7)nle8NQDZa{)J&(dHQO)`8Xu|RKfA-Yx at rd_)gAOVZLyOVdX2ObG#?%t!2C7bLT
zJ%&g=N!bTzAl|X?qR7DNOnSS`Ty(cj!%B~41%|qp_=J+B#3ohPgy7fa8kNmDLHpq=
ziMMA#s$I9U0=zqaU5c?Dl$bi7v&{FZxjZbsz(Gc=8f17uD}v=h#P#+OiX=onB|wz7
zO8b0cE at U{3$bHf}*Ww8_>Iu^<UP)uiXTz_;UQLx9>|@SgxBd_p)zv#6BeMDUNi&BL
zhnh;KYdPa24y;S!VZ4#8__MHyu}3Q>B6eddW}`BEFAZL#gX``9?lt&t16ZUth*2y|
z)4^J30GSzreja4o@?A^NV`~$Y3V`(y7k}zJR`4gn#2Yp9#)yPkf4OLxG*&QmC at 0LK
zP3`N~3a|l!Z0RP11<OSCeaD}-Zvh!8EpkO>=`JFYbiE7kKn)Zl+d>q9q)7 at pjO9I=
z?$~k}`i!O&Mycz(<O;n7E5n{JL~m=Y1H;&hLGy8uQ;1`AFF6QNDSsQ!dl;fDWp|db
z=4qW&o(<7b=p>+lRp|D=q3VzETVq^!K^Cd0v*Ddz9z8)(#<DUMW+x_Wd5j>F at CIb~
zv6HvAK}ZtosiLiPL-_^i*OsVEI_K&WrY3A`{ik5Bv{X}{AeBssH&KKR9!lHBC)vZI
zR^W;$LivCSx at fLX-DVPdovZ#0|6R!cohq5OIQ^0N5r8|O^O1VD#@Fqb2N=&mVtiTE
z_G!^~R}bb9gh)G2=UV=|K~x1^RWn)UBnple1F(2Ene2u4jN-Ha!=03gMm`zSX@}pN
zTvtmV(ih0?K&-n2==#-DTPBF-kf=c+;!?(=(|B_alWaWV)T@~_$shkYf95mg-yFA`
z{p(^4 at 1)#SsfV?=<W<g?Zz2X at zm+aMSe@iosdXEAsD0{2<I;X%0B0KaB)5z=tc6{<
zHcqNOT=vx6C4Q>~1J~OMJg#t3Ukxb`uK`j=vHXv?DV?uH<0~4;>yN*8na1usI_Slc
zX;~#~6cryv0W5fdL&p|k9J?m*a{Tz?=J1u&-~cR+X$Zr~_^}zJ`W7;i<NocIs8Z@(
zEUEJ?WdcQDrJuFpJ8}A?Bl-f%<F)}$W7KR at 33oL9IC#6h*W^F0>Uz1aCY~A0K-lEq
z<T<@BZgbPs)8H3cDgmtp>zrSPMR;?$mku at pBB+<`^MX}jT{XO<t}B9?AUFN)&;43j
z1Rx14S;Wqa0V%PIv9V)97HCYF<v{MvhZ%Xiv~1%}jgcyp&D+>!{UtK7s7_^)KXHxv
zWb1bqvrE!Vk4ZNUxlV|eiY1FCQc+PEk?^Pyba)>;QM~mMoMH%l*q*u&e<isOCg1v!
zqHq2hK at iP)j&B~=LV<I5ElNz-o)a*B=KXb*<XQO~RqwV8Ann`IYfYUBCQmZcVf%`z
zFk%wX8^YQcNd~@=!V&Q7IGZS>h2u$rGa;Y<^H=88)Z^xjlaIpfJ;_ngs)s_hd!MAS
zOxh%G)NZ at 2;1-Z|D_!_+I#)^|U#+Zh6#Rm5OM4JZVt5Y!kk^s+sd(}%9I8k&O-uM`
zSn_8KHz_Q+f!Kk8&P)EULB;F<xfR^&It_+mn>kJeM at Rtqf^}fub$!!j%aJNFKD5fM
zwHr<#v_n-fEg?+CC^yDHrzG4P(bV{qN96orOo at V*)uLjNEU%c6q-W2Su5{0OG}-1?
zajPK+_q2=KC(F~}pi34RiRxBEn*j4PUDvul{APc}T54dt93+U*!ZkY@$O)K$BRK-5
zpB3iK40tchCL;RMYXz_f!kM4*&IB+pNTtaiJIW6)K$UEq*y?oeQs%IA_4soYB{!co
z73ecFuT<KeThyx}*qJ1bg$1 at po_@U9<E%=RR{jVG1%=Aahb#Q=URgmduk}v(`);1~
zHl|7W>lf_1EBG>DB(Q1RhR4su8Lbcq#LZ<e!ew?t_aPGA%_BH;7ysVYjp9>RyL8fu
z){U{<c^>Bu2*il8;m>^ZW3kmDOkLxyS*j$^^AbG}7m|}2xM4tD{eKk6wCtWQRdh_f
zZ9oRy at gHLVhP%oo&4z9evtfZW0VeA8L6=A5q<72{B!}$v!jO?;-8hPG)kWdaIE5eU
zV~n>ei*omJd8B)sh1W^Il4`~A;48<5t(kSl(ZWZsm-&^?3<G{6IJmf!_lr4_kc16a
zju?_<k6m5nO=48LPAJ5pFV2sh!5hE?rxh?ODrdP&c%3A^C2vO?!$y`y5AxtIT2HwC
zj2Ybi&K_a>fkcTm^7t<JA-Z9VWAgfWRO#-z9wj~d4HV1 at c(fA8dDmEenb<WusB5OK
zN1zY;5O6Oa+@}u!dxn<$P&4#mz`;BNHn*9p5vwYfajRoq(!yp^UHZ}3Xu&Gsx%}~F
zWz$bIZpwf5!4VS6b~pu7_vg)dE+Oi291w?AFB#hf!H<D8rq7(_NtB%_YDUS8$;n(_
zkN_D2{hmBlVs|8sNs=G07IXT0x6ntorlnTDL5%U^*KA2~?>a}lIX`;;9n9blnu_k|
zo^M%+tot&D*W<pW9v=Z25VOp(yc-f2^r3VlWuY|Vw&p{_pjp6gFbDp$$ri?Pu9pTz
z*zee}e>rSk)I1?k%5(;KP*9o_2UsuprklYOx6p{OhFG_*kY~xR681thTRTM~8LM{b
zTs(<AwG&4D?i>wscUoyEj%SP%T$0-r$kut4;vr%BNv!jcbZ!dUiCXi69u0?q)Y~e2
zl+0?q!)I4GgbS at NR;KJK(KZTUqJ{jj${sCXQN at zdvaXvYU!6RoRnmqtnrzb`w+qdw
ze^<^%<N0&pe6!0#7oH1=uija^S6eBcmkTRd7R#pF0E-6NL?%#HU11brapZ{m6Z?zF
zG}M{o*3q;Axy_B251#IfjIC7ot*xH}IYS~n!gQ9L7Z_nvDugIj>kJe)BgP-8XA}D>
z(F;?v-q~j93bw-g$3*-I$CSSdvxdb)6Mwa8uyZ(n^L^A{DlZzO!4~npP>n420#rd;
zI@#`<Bsp$Y8&_wK at cEF;Osl{?3F<8*Y2Xr{P)6DK6k4F>V#ZaLj}iL602DLq at fzo#
z9&D2eeQ>W&m+MoP4%fm>RqCmcW6x2?gFUe3S;t_u70$HTc5X{9c$#QP#X22$Y#9mH
zfbf?42wP;7Z9>bS^D%(+`$EIW;E*p1+<^CnBHh6TlX4#<ThZmrYm5<tOW1)&yxpJ`
z&0cicv`;iI%$L>!r-?+XIP4W8sLI*J49J8hhV3oRNBRD4>9%{onx?^|HkBPffYM^v
zQngg9r~9vRU?T7meXzY|;eEKU+{r~$*NT;IKG6lwIA4-&yKeO5^cdc@?a at S1(49H#
zBDj|G(t!OI!KN<Ce|=hO2Y6Elr5^*5<}mZL2#4U!zjM5RM|#3U8nHs)SYyMA at db32
zeN_ZxT at pqx*|P6GwtJOZe3jG+X1v^iD)Y-(W>degFR!lhjS-b2yxIL_boQ8oo>{>2
z%)gVhg)Seu<3<@A3HivNDn*0N%43>oB}0u}V;(v6mkaiYq<B%&VU{-?$@!*7wZQ}E
zV8O=-(Q(?YTh(F(qhm(6Zsp3OoE`>c2Mf(53OCyOBOyv|bRRfbYMxM=o>a4-W4!xx
zX|rk6k?vy5MyuJfJs|67QGxBxHUaX~`cK37Ph`~3#HCJXCFl|=o1ZQ)w)TyZn^1X4
zc*cq_O+-i-&_XN|3av}+zaooDH|B*bU|xi#oXFQLlL1XDP%7jHiky%^vT?de-roGs
zwWaPxFusQ;%N*J-hQ3>vT8*0Bd<`v*iK%ZmAS2K&W|vX_0*p;}4HZljkVFrVc<|-v
zh6k at EYpjDptY96;&xM=HF23fL$PjNzJ1p4VkH}XI0J5Aek8^;o*?k<j#n&-|SO_Sa
zdIS1x?}VlfyebOhR#the<h_sO4Xu;?68IrRKV60!#**m%7fS9hn<0}S(HxCLf^6c+
z!dpro$mydu(?xg}W#6P3SL)@)B42_f>-S_h=k`#MU(Z8|W2lzHC(F`0F)zbn*Ynw%
z2FM9?Ux`eTxpKa4-yK#JZf;n^R8X|D3wGgfOf<fwdPGMR)dM}*4rRmqRHXRQYJuSZ
znWTFdq${exV^J_2a`nIQeQ7dH%uJ3nQl;}TXT9J@`&&#2i1XiuX5V_OFwBNvbeZzi
z_V|t@;l-ix4aT(-VNOmc-ihWXoILh~m<fN|*5w#H(%KdKq9WoR1(vvs9yrqVE58%L
zy)wUNf8wLu*cHs)h#^7UAadN(L7oTezGVA7!^kn4o!{6tdNeyp`!_2-3#QHRvgAq|
z0!FEJv<JPW(4TgwGN`W<{+5Ku!(=7%r*MHENK^FeRTcGkv{tVPO(J{Jh2HMbtG4LA
z(mCW#llN)pX{e&M!YHRyic^D4CO_|f;-XmA05{=}#^l-dazNf2PrJ526N`!47#1;<
z>EblK;wsx$WDM4>248rCi%A9YONzev at Mj9-P0SbzIu_$%P(}h93RY9MHu|j!@x>Q{
zQFwG5?<;?*2h)Lx=;qMvLak>Akg#J{mL$4UtS@`ms7h(zTK$vtey5Lc;Y=!9rIXgC
z%ODmvqWCztnKR%=Rthbo2$(7&!QL4*O3Q%UNT}=Fu2q9Ts`#*fo{ld)ZLrw=dz6XU
zT4H86G=-hiHC#ghLu0~8?ERGG;Q;2m+y?`HwtOn;nsoTuc^kdFQvG#j8^ej%Bo%K(
z;)1SiW|TQuZI}ddz&~^>GmSb5-x9DDz7f;C2&&nUHU`P-2bwrnbM+%DGsV<8(P87V
zIokd%rdIP1A#3cskW-nNnbCaRu4mZon3vaXA8NuD$zmFcEEh6E;9{TlOyERbJ*wJN
z$mbNw{nh3J3dOu!GbEoueH<dD$~Fsd8c8WuuuY$=^xZ)?JTd+-a_x}C<RqIYImXGl
zDw4<t_Q)hnXW1r`)G}%Wj`8yHg_hITvWo?zw;jwS>ON7~sTU>o7PhC_sPEl3(9B`=
zu}$)1W@%KB-^rQ at ZnumumSPCpo(_Im0;AHKLR^=J+<>Ivs{nYJf0T{<fBEC28%!1p
z=&;50Y2~<f4y at CE=ToSBMmg^WZXzfyAu$XPqt670cpMrZn6`WMRUvA>Ii-#uCMn0(
zP9CP;_J(yeVdA<E1gIjz7h2(4LOcq}_mQb`Hg{n`Z-#qjLBN(8daB<8QiI%-%Ei|A
zC}$BTpyglEIC;re>O#=qOaVz`?`ZJ0S|uIT at sC#%i2D!7;OJESwwiRlL;|ztPn$7H
zEl$#Y4K5W7B0;diL>*S+$1RM9S~dW>UlAitMEbfHz5Y|KZXJ06Tbd3+3G)v~7fkHE
zf|~V3M5IbcEdyCVTxI->Sx|1RXndNzO>6dt=E$NpS;_Wbq>FCeBy2=7An{V!#^UMM
zQIT}I+kk}bwDr}NLrE+FFy->=&Ws4f^<F at xhfEMPH;u6E&Tc{hs`%~2(av<N&kzuT
z^fUNKJ{SiWlU#(9Xjvr^ka+ZZ7I>EiQiL}P9~)`#FMH&Js0GPJOj#Vt^*JayaZUfY
z1fx*gM%~OK4Q9Nd7+ug|Ze#_Zq>1GJi$QwsF(MH6N!7AG5QhGo?~5a8fJnDuP;KlF
z=fYDhli`O^U%(Y(jtp;Au^T?UTl7i%##$tAaF_yzhOOwmtj3Th5m8QFXTUoRP+|%)
zw3~Txy?`h&&jLG<7`=r`n~P7QJc^Q2a6?GT0)sHi=9kz1bR*5ob{|ZGNs?q_rpkj-
zMJLJxG?fqd41su~xa<tGlQ-Z^^&vvIHE$ET+KR0hGiCxbJRX?liQh!Ot(NFpZG$_X
zKg<^|v9BZ+$bo%OA20nHQdb&9+CjMs*2uEf08=MPl2f#_oP7BR7=yo!W9w<YLs$$O
zVkzY_s|V;DWSI8SrF~i1zOZT=*ZHO?$+m)$<q+=fa<3y9|KpOi2bQQ&$6GI8-9T>>
zaq;k^ntxKS#AS}CGhh8`i+-*EpV0)xb`@Wjhbm^T2Snr4``MWu;Mu*SPyOc5MLj_&
z6aCcpu&{$YzrgjkP?H!W^~yS7zk6As9ar>}+ZWZDejcS^qC9p`9|0=u38E#JCKHmJ
zu6*{_kD36tbV-qpqn#OoN*B#*;wkR;3LI;F)%NEBQo#ojJ=qm_qzB}7H!{S61S8p)
zA5j!)+^>i}gs;O at uacK2lqt!$b`Zy-Tuf1BI12~jRAqGqn?c1#f6K6J-p}b)t&TZo
zs=^i=w2pQ#<o*6ZqZYpLPo7siT|T-Tzu3|p>4hB?-=BAPP%Hr-YTO)>T(2g7Za-o<
zOD~L@)+o!bexqQ%UJ5GFd(}zro1-34IPl{@I%8awMJbX*oX#cfE;n>3C;%>uRM=Ju
zP4FAMua`WqrNd!pe{b7N`PcZhC#<cn`ltv at k3TNUFT?el4VxCgm-NW`{IB0ta}d^;
z7cka}g;d$~ac5*wVSH14L+|(P(dLp?Rsblq^d^7%>&+!-Zh%~Z7FyRN(5*OOS$u4d
zakm7ALq%Gi>A-viF5)DwHCGm6od&aKZBRj>>ym6i`scn%*T;NQ@&r7jHH(=?i`&|Y
zlWL+{uK(=1(u5F6{Zs at w(5ikWCqlV8vS8qzNInryAH-%Tf=|p$zFD3zPRbXo_{+vB
z)Wwi1FleDD$zDfQLGc*foqzIMa%W;C<qn?6HvE;Z(EAAK!;J67^Ci9P?<N1{hCHE+
zw|q+jIZgI(8x)SbK`vsT0Th!leef;zrF=d)_=t)(+QHH+T!e9)dFD at hXAuD3b0$57
z<C?EPSm;U>mKMAo4Mee785k|9<&C<+Il|+=DE+sUKE8<N-n%$)b#SD7#ErJ<>NNIb
z1s1v$x^_GWWt|h_Raf9vrx at Nc7(Kz(v+w+R&nV+K0}*;4yeCYikF-5trqcj3n~8!%
zi&-K!_d7|D>J2QJ^o+Zy at AzJ5){#<&7_bn(x3WkcSjfIzGgr0H24mw=QX!Z!d6)KQ
zmJ$`sKD{;s);^hvCXaxBD=QZn=FiI}wa|!7AMySK0C<ZXdv`%7TT<1gx}23ByrV&6
z^QZRr1YXew6vuia#iv!Ye1UL+jO1^`2zhW*PZ#F!c7TLRPEu^j&v6-h at wSEdv<;H8
z6#{Xo{+~tYN%_ZmBv~@nn9!qdL}F1}p|z6Y>V^R#OA<e_JQ>amz2y2#`=Vhj+tS2M
zTWX8oa6Ookf#ytW>0s9=^<Xj$(;Zyi at 5xki1B0@+j_czomU~l|BA1+Ff~}=hNhM3v
z8R3%-xjq0_n#F>}GX*f=-`m5BDKPi)(XAt1&m>A|_FL&g?J-bGi03sKCTiFyB9-fJ
z*H)DEO>^t_fw*#Cv5J#CWAXA__jzIblQ)RC9y1eYA~4Uz307s5Or8=VvYUDk^7*bG
zwCl|IsWJI-L~G-1p9k`SWon+&_0a9vNz8=XC}`wrV`fm7fHaK at s2#X~|B~j(julLd
zw at t<1v*;fcWM)>GY`dSU%_zuPBtLXtsKto-UqfVo9SymP|9oAcuP1R6_-z>@)meTZ
zxn%a}c}MnpkiLg=kVrFDa18Pxta536xFY(PvDz~pLAXE;R@#X;kk#K8?$?o?={ANp
zU#iHs+6Dr8FJww*#IqD%@M3>n0!L?!$y93rp`3af8gHZz7g_lfZPVjS2Q2 at cQ?A82
zq>&U9vT?q+WQp+P&vM~`(_pW>Mj{qU8%u%99?{;Z2n9-UiM)S}mlO(NAP*Tb1{%~v
zf5=UR5%phLNz)qBY);p)C?k_V^dMdQv~0d%Y5izeH;JQ=^`M}j`(?}o4JtuDz12z<
zDpy<Sv+uVncUbMU8ku)@OBm7&sgyD@!x2MUHghSek#9cMxWqCt=!NWN;Xr2U?$^$u
z0HYYj8v|>Zo6&Gy|GAs-m(s=;#F6R>0X!uye3?4`WvoxwbFJ>~!wGuRED=cM?KcLj
z9bzZ`SM;t6;%JRZ4c4ong-*n{63qVFL*6<1Is*9VVtEll5iyxG(iaxH^3T2?il=Cx
z9ffQjuPN=xG87}#;R!2P;$89u=O(*{b4mK$gmsR9X&-eNL_%Nz34g_6rpUas5Z(B3
z;&pdKM(;w<jKPm_r929r at b>0vNa20aZpf_^8sLmKzY6v7S%<n-5ShrD#rLpN=+R?7
zRE>StUp%l(PCBk#?b73B(AZabp$6 at hu$M^0Tn8=Cd<TlTuT466oElgQ;WA)oU`mIK
z*X^)_9i&E7FI&$`b?OOQONOiJ`&g{hhn&CIcXZ8F=Ixx?kmp)3(_|;o`;y3)gv;m8
z%4<5=KSP3M=%A-3p>?{Z-m}HOx`!0is6OE at E2|VZATGF+M0ziq;jnNOBLL(g&AU2K
z27}<a8{N?BaJ7d4AT~xlng&j#AtpPH*;vD027{Fa&#sKR%!NFM{4hw>lT|DF4cu?x
zJ%P<ZVO}u=)VJMb(_^F{+2hMK92L%=Y$PN(YhI+04RxRi8_zzt|FB@#LS5N|9<wgW
z>#Ggt4y(?jE`=Q(*PX~2{r+-<5Qz9l3TY&`dH&i^V%GWl<)0Kp<vd=SRZ!Zq-`Vb0
z{9m$6zXNdhh5G5s4<CEv*kH4ModB5br;1|40g`GSn8!BnR&O{`qrffukC*X9e-C)B
zfU%j;1Rt$dWx%8>Wxu+0bxC-2^`qXOteV|8;luK*u>*!Wv2 at 2oI)~jPzfRn}kN|a_
z2Ze5%Pp#g!Mt~Ms<kT_&pLl(t?h at J3jd`x~PRHXKsZ5bx8f5N5M9J{-;mM3haCLNU
zr?1#iNJF}-IFg>OrvDEmhJkP>LV-3y_E9*GO;*7-RYi_uBU$CRo_aP|1a6D~3FN0E
zJ7ra$2e=^S`-aoHNDIYk#cA)ck#&U!|Nnwb->Q+vr~S=cl<7_ejO5Td5q at nDaF*mf
zXuTzr?z7mU>gE%z!n;>(eE%%$Mr)%%CK)s=jdJ08M%6G%c^953(anGa-&*cr#N~>o
z9DQ$Q-}~^`81tTUtc7s&KDkypC5dwH*G-K&Tg{YIslw1d8pAQfQm3&vZJ&#$!Q2ds
z0xEq?hQn~TT#~X99gX-KF$iI5M0uN-MXiymV_0RqtHwCwY;)D}clj_KR&;uS*r^bi
z;>wZ$$&S!8A|^v!hRA19J0h*iq#{_S?qmf%mEW>3us+PE&B*6~b4V?S#7sa)o=Wu}
z6GCsG?r#>rOxV_T;Obpd%6jYA<(AQ`Y-_qZ=^D%<ajV=Q{ALL6GSL}_ScCD?RHO(V
z?i>}LCI*sx2*lKqoH304WvTJ9PFvFAi3Q2IY$mjIAz|6wq1#qdqso-!t(OstteHxR
zt?I`i?{LBfxj;3YXoWd?r)VWh+uOqs{RRq||GD+d7XM#F8Y=&=BGncM?1p5bNS+>%
z at gRMNzp?i_{hDs%M*&Wf9Iaj6)g2?)U^IrMuaSH-GH^=9DBL^b<2A(jI%j8G>zIT-
zV)1dsFvDBq1NWdKtKeEVtAzK`v93A>BaYxJZFtZrRPdh=B()$6Z9P#$*lvN!6FmfZ
zD)Q3M*mdhfd6FqI$@Ki)r6<jB=&mDMVh;LakWli#8&L)b=f?7xQCQtUtWGaT#ZVN<
z_QsUxx49F#oN1J5^*m|zBv_&{W+z~N&O{r*03fXzX&7LasZVHx;-1K(jVVLC7#Z2Q
zsc0)*P9NI#wJiWc&Hf331FAL*o-c(zz+l>Nnvx)V>)&i|PyBgIKA2iSDP;SV>b!P>
zT~Ox`vmyUQ3EwXCx;=#UmxH<PjK(BQ+`PR^Z_c=U2UQPl?HG0LGXo^P46PdbHAW07
z70k$^c`SpH*?LEpF!HUMq+#G0(;u3$nnh6lMBi$+D$HKCw0|pm%64GXNhq7cl-oS{
z)m35Vl(R{%D04kHYTr{SrtbaYKJ#;fKxTU)QQ;@noVxwM&2z()I>P8c?%FVdZo$(E
z7fP&dl`uRCL)LNNcAEj7_+!TN*X7rP1a?`BFEx!f#XIig>NY<I2Nf+CsJj8SOnwxK
z$JwX3AQk_5TtEyaLw1Jcn}~G%u}wIjJ5FC;fKdBY*BS8S=!~<*^+%0D4Ntv}5ZYLm
zWrmCW?O9$snJff(s#J(-eudnf*JLsSfko~KT-{m>F=n#^u9NH$d}DjF0001xXYPI@
emVuf80jfoSkOKf at Y^Kn$#Ao{g000001X)_^S6 at v4

-- 
2.20.1





More information about the pve-devel mailing list