public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1
@ 2021-09-07 13:17 Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 1/5] update submodule and patches to ZFS 2.1.1-staging Stoiko Ivanov
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

This patchset updates our packaging for the changes of ZFS 2.1

Sending as RFC because:
* I'm still not 100% sure my solution to the ABI-changes and updated
  package names is correct
* It's based on the current tip of upstream's zfs-2.1.1-staging branch,
  which yet needs to be tagged

I'm intentionally omitting most of patch 4/5 - since it's 2MB of xml-abi
definition diffs - I'll gladly resent if somebody wants this - else the
commit is on my staff repository.

The upgrade was straight-forward - only small issues were regarding the
incompatibile abigail-tools versions (1.8 (bullseye) produces different
output to before, thus `make checkabi` failed initially).

Additionally the bump of the libzfs and libzpool library versions in
ec311430e2fd66492498a1559f56ef25e1192266 should not result in the libzfs
package name to be changed as well (libzfs increased it's current and age
parameter - which still leaves the soname at libzfs.so.4 when building on
my machine.

Did some minimal tests in a virtual 2-node test-cluster of mine with
storage replication for one VM (snapshotting, migrating, upgrading the
zpool, migrating back) - all seemed ok.


Stoiko Ivanov (5):
  update submodule and patches to ZFS 2.1.1-staging
  buildsys: adapt install paths for zfs 2.1.0
  port changes to abi tracking from master
  update abi definitions for 2.1.1
  bump libzpool soname

 Makefile                                      |     2 +-
 debian/control                                |    14 +-
 ...ibzpool4linux.docs => libzpool5linux.docs} |     0
 ...x.install.in => libzpool5linux.install.in} |     0
 ...rides => libzpool5linux.lintian-overrides} |     0
 ...ith-d-dev-disk-by-id-in-scan-service.patch |     6 +-
 .../0006-dont-symlink-zed-scripts.patch       |     5 +-
 .../patches/0007-Use-installed-python3.patch  |     4 +-
 ...-move-manpage-arcstat-1-to-arcstat-8.patch |    61 +-
 .../0010-Check-for-libabigail-version.patch   |    45 +
 ...c-storabi-abidw-invocation-with-mast.patch |    33 +
 ...itions-with-abigail-tools-1.8-and-ne.patch | 25768 ++++++++++++++++
 debian/patches/series                         |     3 +
 debian/zfsutils-linux.install                 |    14 +-
 upstream                                      |     2 +-
 15 files changed, 25905 insertions(+), 52 deletions(-)
 rename debian/{libzpool4linux.docs => libzpool5linux.docs} (100%)
 rename debian/{libzpool4linux.install.in => libzpool5linux.install.in} (100%)
 rename debian/{libzpool4linux.lintian-overrides => libzpool5linux.lintian-overrides} (100%)
 create mode 100644 debian/patches/0010-Check-for-libabigail-version.patch
 create mode 100644 debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
 create mode 100644 debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch

-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pve-devel] [RFC zfsonlinux 1/5] update submodule and patches to ZFS 2.1.1-staging
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
@ 2021-09-07 13:17 ` Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 2/5] buildsys: adapt install paths for zfs 2.1.0 Stoiko Ivanov
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 ...ith-d-dev-disk-by-id-in-scan-service.patch |  6 +-
 .../0006-dont-symlink-zed-scripts.patch       |  5 +-
 .../patches/0007-Use-installed-python3.patch  |  4 +-
 ...-move-manpage-arcstat-1-to-arcstat-8.patch | 61 +++++++++----------
 upstream                                      |  2 +-
 5 files changed, 38 insertions(+), 40 deletions(-)

diff --git a/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch b/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
index 46b03fd4..822409d6 100644
--- a/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
+++ b/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
@@ -14,15 +14,15 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
-index f0317e23e..9a5e9cb17 100644
+index d3c083f7e..b1c8c7b9d 100644
 --- a/etc/systemd/system/zfs-import-scan.service.in
 +++ b/etc/systemd/system/zfs-import-scan.service.in
 @@ -13,7 +13,7 @@ ConditionPathIsDirectory=/sys/module/zfs
  [Service]
  Type=oneshot
  RemainAfterExit=yes
--ExecStart=@sbindir@/zpool import -aN -o cachefile=none
-+ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none
+-ExecStart=@sbindir@/zpool import -aN -o cachefile=none $ZPOOL_IMPORT_OPTS
++ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none $ZPOOL_IMPORT_OPTS
  
  [Install]
  WantedBy=zfs-import.target
diff --git a/debian/patches/0006-dont-symlink-zed-scripts.patch b/debian/patches/0006-dont-symlink-zed-scripts.patch
index 078f6d6d..60fe5507 100644
--- a/debian/patches/0006-dont-symlink-zed-scripts.patch
+++ b/debian/patches/0006-dont-symlink-zed-scripts.patch
@@ -16,10 +16,10 @@ Forwarded: no need
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
-index 8b2d0c200..118c96547 100644
+index 2c8173b3e..ad39292e4 100644
 --- a/cmd/zed/zed.d/Makefile.am
 +++ b/cmd/zed/zed.d/Makefile.am
-@@ -48,6 +48,6 @@ install-data-hook:
+@@ -49,7 +49,7 @@ install-data-hook:
  	for f in $(zedconfdefaults); do \
  	  test -f "$(DESTDIR)$(zedconfdir)/$${f}" -o \
  	       -L "$(DESTDIR)$(zedconfdir)/$${f}" || \
@@ -27,3 +27,4 @@ index 8b2d0c200..118c96547 100644
 +	    echo "$${f}" >> "$(DESTDIR)$(zedexecdir)/DEFAULT-ENABLED" ; \
  	done
  	chmod 0600 "$(DESTDIR)$(zedconfdir)/zed.rc"
+ 
diff --git a/debian/patches/0007-Use-installed-python3.patch b/debian/patches/0007-Use-installed-python3.patch
index 789ce2ad..33188d49 100644
--- a/debian/patches/0007-Use-installed-python3.patch
+++ b/debian/patches/0007-Use-installed-python3.patch
@@ -28,11 +28,11 @@ index 3788543b0..c7ee4ae9a 100755
  
  typeset -i cnt=0
 diff --git a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
-index f89cb3b31..375d483f7 100755
+index 1fd21cbf7..791dd25d5 100755
 --- a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
 +++ b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh
 @@ -87,7 +87,7 @@ log_must xattrtest -f 10 -x 3 -s 32768 -r -k -p /$TESTPOOL/$TESTFS2/xattrsadir
- # ZoL issue #7432
+ # OpenZFS issue #7432
  log_must zfs set compression=on xattr=sa $TESTPOOL/$TESTFS2
  log_must touch /$TESTPOOL/$TESTFS2/attrs
 -log_must eval "python -c 'print \"a\" * 4096' | \
diff --git a/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch b/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
index 917a1815..6b0453b6 100644
--- a/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
+++ b/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
@@ -8,47 +8,44 @@ Originally-By: Antonio Russo <aerusso@aerusso.net>
 
 Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
 ---
- man/man1/Makefile.am                   | 2 +-
- man/man8/Makefile.am                   | 1 +
+ man/Makefile.am                        | 2 +-
  man/{man1/arcstat.1 => man8/arcstat.8} | 2 +-
- 3 files changed, 3 insertions(+), 2 deletions(-)
+ 2 files changed, 2 insertions(+), 2 deletions(-)
  rename man/{man1/arcstat.1 => man8/arcstat.8} (99%)
 
-diff --git a/man/man1/Makefile.am b/man/man1/Makefile.am
-index 8d7457a3e..101af7b6c 100644
---- a/man/man1/Makefile.am
-+++ b/man/man1/Makefile.am
-@@ -1,4 +1,4 @@
--dist_man_MANS = zhack.1 ztest.1 raidz_test.1 zvol_wait.1 arcstat.1
-+dist_man_MANS = zhack.1 ztest.1 raidz_test.1 zvol_wait.1
- EXTRA_DIST = cstyle.1
- 
- if BUILD_LINUX
-diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am
-index 07f6aefa6..a757b1c62 100644
---- a/man/man8/Makefile.am
-+++ b/man/man8/Makefile.am
-@@ -1,6 +1,7 @@
- include $(top_srcdir)/config/Substfiles.am
- 
- dist_man_MANS = \
-+	arcstat.8 \
- 	fsck.zfs.8 \
- 	mount.zfs.8 \
- 	vdev_id.8 \
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 8ab1b7572..8b3dbe633 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -8,7 +8,6 @@ dist_man_MANS = \
+ 	man1/ztest.1 \
+ 	man1/raidz_test.1 \
+ 	man1/zvol_wait.1 \
+-	man1/arcstat.1 \
+ 	\
+ 	man5/vdev_id.conf.5 \
+ 	\
+@@ -21,6 +20,7 @@ dist_man_MANS = \
+ 	man7/zpoolconcepts.7 \
+ 	man7/zpoolprops.7 \
+ 	\
++	man8/arcstat.8 \
+ 	man8/fsck.zfs.8 \
+ 	man8/mount.zfs.8 \
+ 	man8/vdev_id.8 \
 diff --git a/man/man1/arcstat.1 b/man/man8/arcstat.8
 similarity index 99%
 rename from man/man1/arcstat.1
 rename to man/man8/arcstat.8
-index ca508b49c..0aa81849a 100644
+index a69cd8937..dfe9c971b 100644
 --- a/man/man1/arcstat.1
 +++ b/man/man8/arcstat.8
 @@ -13,7 +13,7 @@
- .\" Copyright (c) 2015 by Delphix. All rights reserved.
  .\" Copyright (c) 2020 by AJ Jordan. All rights reserved.
  .\"
--.TH ARCSTAT 1 "Oct 20, 2020" OpenZFS
-+.TH ARCSTAT 8 "Oct 20, 2020" OpenZFS
- .SH NAME
- arcstat \- report ZFS ARC and L2ARC statistics
- .SH SYNOPSIS
+ .Dd May 26, 2021
+-.Dt ARCSTAT 1
++.Dt ARCSTAT 8
+ .Os
+ .
+ .Sh NAME
diff --git a/upstream b/upstream
index e9353bc2..d9f49627 160000
--- a/upstream
+++ b/upstream
@@ -1 +1 @@
-Subproject commit e9353bc2ef27c300281574453e0cf5189a375680
+Subproject commit d9f49627c1bc9402a2138d2248f5417c396cfb3a
-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pve-devel] [RFC zfsonlinux 2/5] buildsys: adapt install paths for zfs 2.1.0
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 1/5] update submodule and patches to ZFS 2.1.1-staging Stoiko Ivanov
@ 2021-09-07 13:17 ` Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 3/5] port changes to abi tracking from master Stoiko Ivanov
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 debian/zfsutils-linux.install | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/debian/zfsutils-linux.install b/debian/zfsutils-linux.install
index 4f93aa70..b7501b30 100644
--- a/debian/zfsutils-linux.install
+++ b/debian/zfsutils-linux.install
@@ -28,6 +28,7 @@ sbin/zstreamdump
 usr/bin/zvol_wait
 usr/lib/modules-load.d/ lib/
 usr/lib/zfs-linux/zpool.d/
+usr/lib/zfs-linux/zpool_influxdb
 usr/sbin/arc_summary
 usr/sbin/arcstat
 usr/sbin/dbufstat
@@ -35,7 +36,14 @@ usr/share/bash-completion/completions
 usr/share/man/man8/arcstat.8
 usr/share/man/man1/zhack.1
 usr/share/man/man1/zvol_wait.1
+usr/share/man/man4/zfs.4
+usr/share/man/man4/spl.4
 usr/share/man/man5/
+usr/share/man/man7/zfsconcepts.7
+usr/share/man/man7/zfsprops.7
+usr/share/man/man7/zpoolconcepts.7
+usr/share/man/man7/zpoolprops.7
+usr/share/man/man7/zpool-features.7
 usr/share/man/man8/fsck.zfs.8
 usr/share/man/man8/mount.zfs.8
 usr/share/man/man8/vdev_id.8
@@ -79,8 +87,6 @@ usr/share/man/man8/zfs-userspace.8
 usr/share/man/man8/zfs-wait.8
 usr/share/man/man8/zfs.8
 usr/share/man/man8/zfs_ids_to_path.8
-usr/share/man/man8/zfsconcepts.8
-usr/share/man/man8/zfsprops.8
 usr/share/man/man8/zgenhostid.8
 usr/share/man/man8/zpool-add.8
 usr/share/man/man8/zpool-attach.8
@@ -94,6 +100,7 @@ usr/share/man/man8/zpool-export.8
 usr/share/man/man8/zpool-get.8
 usr/share/man/man8/zpool-history.8
 usr/share/man/man8/zpool-import.8
+usr/share/man/man8/zpool_influxdb.8
 usr/share/man/man8/zpool-initialize.8
 usr/share/man/man8/zpool-iostat.8
 usr/share/man/man8/zpool-labelclear.8
@@ -114,7 +121,6 @@ usr/share/man/man8/zpool-trim.8
 usr/share/man/man8/zpool-upgrade.8
 usr/share/man/man8/zpool-wait.8
 usr/share/man/man8/zpool.8
-usr/share/man/man8/zpoolconcepts.8
-usr/share/man/man8/zpoolprops.8
 usr/share/man/man8/zstream.8
 usr/share/man/man8/zstreamdump.8
+usr/share/zfs/compatibility.d/
-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pve-devel] [RFC zfsonlinux 3/5] port changes to abi tracking from master
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 1/5] update submodule and patches to ZFS 2.1.1-staging Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 2/5] buildsys: adapt install paths for zfs 2.1.0 Stoiko Ivanov
@ 2021-09-07 13:17 ` Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 4/5] update abi definitions for 2.1.1 Stoiko Ivanov
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

upstream/master has a few commits addressing an incompatibility of
the files generated by abigail-tools > 1.8 with the ones generated
with earlier versions.
This commit adds 2 patches porting these changes. Without it building
in bullseye fails (due to the abigail-tools version)

Note: this commit will break building zfs on buster.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 debian/control                                |  2 +-
 .../0010-Check-for-libabigail-version.patch   | 45 +++++++++++++++++++
 ...c-storabi-abidw-invocation-with-mast.patch | 33 ++++++++++++++
 debian/patches/series                         |  2 +
 4 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 debian/patches/0010-Check-for-libabigail-version.patch
 create mode 100644 debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch

diff --git a/debian/control b/debian/control
index 89f51393..168dfb91 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: zfs-linux
 Section: contrib/kernel
 Priority: optional
 Maintainer: Proxmox Support Team <support@proxmox.com>
-Build-Depends: abigail-tools,
+Build-Depends: abigail-tools (>= 1.8-1),
                debhelper-compat (= 12),
                dh-python,
                libblkid-dev,
diff --git a/debian/patches/0010-Check-for-libabigail-version.patch b/debian/patches/0010-Check-for-libabigail-version.patch
new file mode 100644
index 00000000..70a6e6db
--- /dev/null
+++ b/debian/patches/0010-Check-for-libabigail-version.patch
@@ -0,0 +1,45 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: George Melikov <mail@gmelikov.ru>
+Date: Tue, 31 Aug 2021 20:49:29 +0300
+Subject: [PATCH] Check for libabigail version
+
+We need to use 1.8.0+ version, older versions
+may segfault and give inconsistent results.
+
+Reviewed-by: John Kennedy <john.kennedy@delphix.com>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: George Melikov <mail@gmelikov.ru>
+Closes #12529
+(cherry picked from commit a9655fc2bd1f83f1b305ff7ed16f698b87834e73)
+Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+---
+ Makefile.am | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 4e7e29589..060729642 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -129,10 +129,20 @@ SHELLCHECKDIRS = cmd contrib etc scripts tests
+ SHELLCHECKSCRIPTS = autogen.sh
+ 
+ PHONY += checkabi storeabi
+-checkabi: lib
++
++checklibabiversion:
++	libabiversion=`abidw -v | $(SED) 's/[^0-9]//g'`; \
++	if test $$libabiversion -lt "180"; then \
++        /bin/echo -e "\n" \
++        "*** Please use libabigail 1.8.0 version or newer;\n" \
++        "*** otherwise results are not consistent!\n"; \
++        exit 1; \
++    fi;
++
++checkabi: checklibabiversion lib
+ 	$(MAKE) -C lib checkabi
+ 
+-storeabi: lib
++storeabi: checklibabiversion lib
+ 	$(MAKE) -C lib storeabi
+ 
+ PHONY += mancheck
diff --git a/debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch b/debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
new file mode 100644
index 00000000..12b3d632
--- /dev/null
+++ b/debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
@@ -0,0 +1,33 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Stoiko Ivanov <s.ivanov@proxmox.com>
+Date: Fri, 3 Sep 2021 18:42:31 +0200
+Subject: [PATCH] abi-tracking: sync storabi abidw invocation with master
+
+This commit combines the changes to the storeabi invocation from:
+739cfb965b00e9cc3155c4a0d6c24bd779b1a245
+0b072481afe26be3314a34bbb69556753ebb97ed
+1aaebea2f58743b8d4b1bd7ec4b3b41d52cec30b
+
+this approach was chosen instead of cherry-picking due to the changes
+in the first commit touching quite a few other code areas as well.
+
+Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+---
+ config/Abigail.am | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/config/Abigail.am b/config/Abigail.am
+index 599f61194..94687b90e 100644
+--- a/config/Abigail.am
++++ b/config/Abigail.am
+@@ -25,5 +25,9 @@ checkabi:
+ storeabi:
+ 	cd .libs ; \
+ 	for lib in $(lib_LTLIBRARIES) ; do \
+-		abidw $${lib%.la}.so > ../$${lib%.la}.abi ; \
++		abidw --no-show-locs \
++		--no-corpus-path \
++		--no-comp-dir-path \
++		--type-id-style hash \
++		$${lib%.la}.so > ../$${lib%.la}.abi ; \
+ 	done
diff --git a/debian/patches/series b/debian/patches/series
index 91b8a3b1..3bbe6a8b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,5 @@
 0007-Use-installed-python3.patch
 0008-Add-systemd-unit-for-importing-specific-pools.patch
 0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
+0010-Check-for-libabigail-version.patch
+0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pve-devel] [RFC zfsonlinux 4/5] update abi definitions for 2.1.1
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
                   ` (2 preceding siblings ...)
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 3/5] port changes to abi tracking from master Stoiko Ivanov
@ 2021-09-07 13:17 ` Stoiko Ivanov
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname Stoiko Ivanov
  2021-09-08 11:53 ` [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Fabian Grünbichler
  5 siblings, 0 replies; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 ...itions-with-abigail-tools-1.8-and-ne.patch | 25768 ++++++++++++++++
 debian/patches/series                         |     1 +
 2 files changed, 25769 insertions(+)
 create mode 100644 debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch

diff --git a/debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch b/debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch
new file mode 100644
index 00000000..0f20fce1
--- /dev/null
+++ b/debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch
@@ -0,0 +1,25768 @@
+From 7569ff1251405ebd1c39991ddf7d3b2b66464471 Mon Sep 17 00:00:00 2001
+From: Stoiko Ivanov <s.ivanov@proxmox.com>
+Date: Fri, 3 Sep 2021 18:59:47 +0200
+Subject: [PATCH] update abi definitions with abigail-tools 1.8 and new
+ invocation
+
+Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+
...skipped..

diff --git a/debian/patches/series b/debian/patches/series
index 3bbe6a8b..cd38614e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@
 0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
 0010-Check-for-libabigail-version.patch
 0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
+0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch
-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
                   ` (3 preceding siblings ...)
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 4/5] update abi definitions for 2.1.1 Stoiko Ivanov
@ 2021-09-07 13:17 ` Stoiko Ivanov
  2021-09-08 11:51   ` Fabian Grünbichler
  2021-09-08 11:53 ` [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Fabian Grünbichler
  5 siblings, 1 reply; 9+ messages in thread
From: Stoiko Ivanov @ 2021-09-07 13:17 UTC (permalink / raw)
  To: pve-devel

following commit ec311430e2fd66492498a1559f56ef25e1192266 upstream

However since libzfs increased both the current as well as the age
the soname of the library remained at libzfs4.so - following
https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
I left the package name at libzfs4linux

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 Makefile                                             |  2 +-
 debian/control                                       | 12 ++++++------
 debian/{libzpool4linux.docs => libzpool5linux.docs}  |  0
 ...ol4linux.install.in => libzpool5linux.install.in} |  0
 ...an-overrides => libzpool5linux.lintian-overrides} |  0
 5 files changed, 7 insertions(+), 7 deletions(-)
 rename debian/{libzpool4linux.docs => libzpool5linux.docs} (100%)
 rename debian/{libzpool4linux.install.in => libzpool5linux.install.in} (100%)
 rename debian/{libzpool4linux.lintian-overrides => libzpool5linux.lintian-overrides} (100%)

diff --git a/Makefile b/Makefile
index a6eeca09..3113001a 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ libpam-zfs_${ZFSPKGVER}_amd64.deb		\
 libuutil3linux_${ZFSPKGVER}_amd64.deb		\
 libzfs4linux_${ZFSPKGVER}_amd64.deb		\
 libzfsbootenv1linux_${ZFSPKGVER}_amd64.deb	\
-libzpool4linux_${ZFSPKGVER}_amd64.deb		\
+libzpool5linux_${ZFSPKGVER}_amd64.deb		\
 zfs-test_${ZFSPKGVER}_amd64.deb			\
 zfsutils-linux_${ZFSPKGVER}_amd64.deb		\
 zfs-zed_${ZFSPKGVER}_amd64.deb
diff --git a/debian/control b/debian/control
index 168dfb91..b17e643d 100644
--- a/debian/control
+++ b/debian/control
@@ -70,7 +70,7 @@ Depends: libssl-dev | libssl1.0-dev,
          libuutil3linux (= ${binary:Version}),
          libzfs4linux (= ${binary:Version}),
          libzfsbootenv1linux (= ${binary:Version}),
-         libzpool4linux (= ${binary:Version}),
+         libzpool5linux (= ${binary:Version}),
          ${misc:Depends}
 Provides: libnvpair-dev, libuutil-dev
 Description: OpenZFS filesystem development files for Linux
@@ -78,7 +78,7 @@ Description: OpenZFS filesystem development files for Linux
  libraries of OpenZFS filesystem.
  .
  This package includes the development files of libnvpair3, libuutil3,
- libzpool4 and libzfs4.
+ libzpool5 and libzfs4, libzfsbootenv1.
 
 Package: libzfs4linux
 Section: contrib/libs
@@ -106,12 +106,12 @@ Description: OpenZFS filesystem library for Linux
  .
  The zfsbootenv library provides support for modifying ZFS label information.
 
-Package: libzpool4linux
+Package: libzpool5linux
 Section: contrib/libs
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
-Breaks: libzpool2, libzpool2linux, libzpool3linux, libzpool4
-Replaces: libzpool2, libzpool2linux, libzpool3linux, libzpool4
+Breaks: libzpool2, libzpool2linux, libzpool3linux, libzpool4, libzpool4linux
+Replaces: libzpool2, libzpool2linux, libzpool3linux, libzpool4, libzpool4linux
 Description: OpenZFS pool library for Linux
  OpenZFS is a storage platform that encompasses the functionality of
  traditional filesystems and volume managers. It supports data checksums,
@@ -274,7 +274,7 @@ Suggests: libnvpair3linux-dbgsym,
          libuutil3linux-dbgsym,
          libzfs4linux-dbgsym,
          libzfsbootenv1linux-dbgsym,
-         libzpool4linux-dbgsym,
+         libzpool5linux-dbgsym,
          zfs-test-dbgsym,
          zfsutils-linux-dbgsym,
          zfs-zed-dbgsym,
diff --git a/debian/libzpool4linux.docs b/debian/libzpool5linux.docs
similarity index 100%
rename from debian/libzpool4linux.docs
rename to debian/libzpool5linux.docs
diff --git a/debian/libzpool4linux.install.in b/debian/libzpool5linux.install.in
similarity index 100%
rename from debian/libzpool4linux.install.in
rename to debian/libzpool5linux.install.in
diff --git a/debian/libzpool4linux.lintian-overrides b/debian/libzpool5linux.lintian-overrides
similarity index 100%
rename from debian/libzpool4linux.lintian-overrides
rename to debian/libzpool5linux.lintian-overrides
-- 
2.30.2





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname Stoiko Ivanov
@ 2021-09-08 11:51   ` Fabian Grünbichler
  0 siblings, 0 replies; 9+ messages in thread
From: Fabian Grünbichler @ 2021-09-08 11:51 UTC (permalink / raw)
  To: Proxmox VE development discussion

On September 7, 2021 3:17 pm, Stoiko Ivanov wrote:
> following commit ec311430e2fd66492498a1559f56ef25e1192266 upstream
> 
> However since libzfs increased both the current as well as the age
> the soname of the library remained at libzfs4.so - following
> https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
> I left the package name at libzfs4linux
> 
> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
> ---
>  Makefile                                             |  2 +-
>  debian/control                                       | 12 ++++++------
>  debian/{libzpool4linux.docs => libzpool5linux.docs}  |  0
>  ...ol4linux.install.in => libzpool5linux.install.in} |  0
>  ...an-overrides => libzpool5linux.lintian-overrides} |  0
>  5 files changed, 7 insertions(+), 7 deletions(-)
>  rename debian/{libzpool4linux.docs => libzpool5linux.docs} (100%)
>  rename debian/{libzpool4linux.install.in => libzpool5linux.install.in} (100%)
>  rename debian/{libzpool4linux.lintian-overrides => libzpool5linux.lintian-overrides} (100%)
> 
> diff --git a/Makefile b/Makefile
> index a6eeca09..3113001a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -13,7 +13,7 @@ libpam-zfs_${ZFSPKGVER}_amd64.deb		\
>  libuutil3linux_${ZFSPKGVER}_amd64.deb		\
>  libzfs4linux_${ZFSPKGVER}_amd64.deb		\
>  libzfsbootenv1linux_${ZFSPKGVER}_amd64.deb	\
> -libzpool4linux_${ZFSPKGVER}_amd64.deb		\
> +libzpool5linux_${ZFSPKGVER}_amd64.deb		\
>  zfs-test_${ZFSPKGVER}_amd64.deb			\
>  zfsutils-linux_${ZFSPKGVER}_amd64.deb		\
>  zfs-zed_${ZFSPKGVER}_amd64.deb
> diff --git a/debian/control b/debian/control
> index 168dfb91..b17e643d 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -70,7 +70,7 @@ Depends: libssl-dev | libssl1.0-dev,
>           libuutil3linux (= ${binary:Version}),
>           libzfs4linux (= ${binary:Version}),
>           libzfsbootenv1linux (= ${binary:Version}),
> -         libzpool4linux (= ${binary:Version}),
> +         libzpool5linux (= ${binary:Version}),
>           ${misc:Depends}
>  Provides: libnvpair-dev, libuutil-dev
>  Description: OpenZFS filesystem development files for Linux
> @@ -78,7 +78,7 @@ Description: OpenZFS filesystem development files for Linux
>   libraries of OpenZFS filesystem.
>   .
>   This package includes the development files of libnvpair3, libuutil3,
> - libzpool4 and libzfs4.
> + libzpool5 and libzfs4, libzfsbootenv1.
>  
>  Package: libzfs4linux
>  Section: contrib/libs
> @@ -106,12 +106,12 @@ Description: OpenZFS filesystem library for Linux
>   .
>   The zfsbootenv library provides support for modifying ZFS label information.
>  
> -Package: libzpool4linux
> +Package: libzpool5linux
>  Section: contrib/libs
>  Architecture: linux-any
>  Depends: ${misc:Depends}, ${shlibs:Depends}
> -Breaks: libzpool2, libzpool2linux, libzpool3linux, libzpool4
> -Replaces: libzpool2, libzpool2linux, libzpool3linux, libzpool4
> +Breaks: libzpool2, libzpool2linux, libzpool3linux, libzpool4, libzpool4linux
> +Replaces: libzpool2, libzpool2linux, libzpool3linux, libzpool4, libzpool4linux

this change should not be needed - the new package does not contain any 
files that the old one did, and no conflict arises from both being 
installed in parallel? for shared libraries with so-versioning you want 
them to be coinstallable in general to allow for transitions/reduce 
friction on upgrades, the old version can then be autoremoved 
post-transition/upgrade if nothing depends on it anymore.

>  Description: OpenZFS pool library for Linux
>   OpenZFS is a storage platform that encompasses the functionality of
>   traditional filesystems and volume managers. It supports data checksums,
> @@ -274,7 +274,7 @@ Suggests: libnvpair3linux-dbgsym,
>           libuutil3linux-dbgsym,
>           libzfs4linux-dbgsym,
>           libzfsbootenv1linux-dbgsym,
> -         libzpool4linux-dbgsym,
> +         libzpool5linux-dbgsym,
>           zfs-test-dbgsym,
>           zfsutils-linux-dbgsym,
>           zfs-zed-dbgsym,
> diff --git a/debian/libzpool4linux.docs b/debian/libzpool5linux.docs
> similarity index 100%
> rename from debian/libzpool4linux.docs
> rename to debian/libzpool5linux.docs
> diff --git a/debian/libzpool4linux.install.in b/debian/libzpool5linux.install.in
> similarity index 100%
> rename from debian/libzpool4linux.install.in
> rename to debian/libzpool5linux.install.in
> diff --git a/debian/libzpool4linux.lintian-overrides b/debian/libzpool5linux.lintian-overrides
> similarity index 100%
> rename from debian/libzpool4linux.lintian-overrides
> rename to debian/libzpool5linux.lintian-overrides
> -- 
> 2.30.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1
  2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
                   ` (4 preceding siblings ...)
  2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname Stoiko Ivanov
@ 2021-09-08 11:53 ` Fabian Grünbichler
  2021-09-08 12:25   ` Thomas Lamprecht
  5 siblings, 1 reply; 9+ messages in thread
From: Fabian Grünbichler @ 2021-09-08 11:53 UTC (permalink / raw)
  To: Proxmox VE development discussion

On September 7, 2021 3:17 pm, Stoiko Ivanov wrote:
> This patchset updates our packaging for the changes of ZFS 2.1
> 
> Sending as RFC because:
> * I'm still not 100% sure my solution to the ABI-changes and updated
>   package names is correct
> * It's based on the current tip of upstream's zfs-2.1.1-staging branch,
>   which yet needs to be tagged

I think I'd wait for the final 2.1.1 tag to prevent confusion unless we 
have a good reason to go ahead with an in-between codebase?

> 
> I'm intentionally omitting most of patch 4/5 - since it's 2MB of xml-abi
> definition diffs - I'll gladly resent if somebody wants this - else the
> commit is on my staff repository.
> 
> The upgrade was straight-forward - only small issues were regarding the
> incompatibile abigail-tools versions (1.8 (bullseye) produces different
> output to before, thus `make checkabi` failed initially).
> 
> Additionally the bump of the libzfs and libzpool library versions in
> ec311430e2fd66492498a1559f56ef25e1192266 should not result in the libzfs
> package name to be changed as well (libzfs increased it's current and age
> parameter - which still leaves the soname at libzfs.so.4 when building on
> my machine.
> 
> Did some minimal tests in a virtual 2-node test-cluster of mine with
> storage replication for one VM (snapshotting, migrating, upgrading the
> zpool, migrating back) - all seemed ok.
> 
> 
> Stoiko Ivanov (5):
>   update submodule and patches to ZFS 2.1.1-staging
>   buildsys: adapt install paths for zfs 2.1.0
>   port changes to abi tracking from master
>   update abi definitions for 2.1.1
>   bump libzpool soname
> 
>  Makefile                                      |     2 +-
>  debian/control                                |    14 +-
>  ...ibzpool4linux.docs => libzpool5linux.docs} |     0
>  ...x.install.in => libzpool5linux.install.in} |     0
>  ...rides => libzpool5linux.lintian-overrides} |     0
>  ...ith-d-dev-disk-by-id-in-scan-service.patch |     6 +-
>  .../0006-dont-symlink-zed-scripts.patch       |     5 +-
>  .../patches/0007-Use-installed-python3.patch  |     4 +-
>  ...-move-manpage-arcstat-1-to-arcstat-8.patch |    61 +-
>  .../0010-Check-for-libabigail-version.patch   |    45 +
>  ...c-storabi-abidw-invocation-with-mast.patch |    33 +
>  ...itions-with-abigail-tools-1.8-and-ne.patch | 25768 ++++++++++++++++
>  debian/patches/series                         |     3 +
>  debian/zfsutils-linux.install                 |    14 +-
>  upstream                                      |     2 +-
>  15 files changed, 25905 insertions(+), 52 deletions(-)
>  rename debian/{libzpool4linux.docs => libzpool5linux.docs} (100%)
>  rename debian/{libzpool4linux.install.in => libzpool5linux.install.in} (100%)
>  rename debian/{libzpool4linux.lintian-overrides => libzpool5linux.lintian-overrides} (100%)
>  create mode 100644 debian/patches/0010-Check-for-libabigail-version.patch
>  create mode 100644 debian/patches/0011-abi-tracking-sync-storabi-abidw-invocation-with-mast.patch
>  create mode 100644 debian/patches/0012-update-abi-definitions-with-abigail-tools-1.8-and-ne.patch
> 
> -- 
> 2.30.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1
  2021-09-08 11:53 ` [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Fabian Grünbichler
@ 2021-09-08 12:25   ` Thomas Lamprecht
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Lamprecht @ 2021-09-08 12:25 UTC (permalink / raw)
  To: Proxmox VE development discussion, Fabian Grünbichler

On 08.09.21 13:53, Fabian Grünbichler wrote:
> On September 7, 2021 3:17 pm, Stoiko Ivanov wrote:
>> This patchset updates our packaging for the changes of ZFS 2.1
>>
>> Sending as RFC because:
>> * I'm still not 100% sure my solution to the ABI-changes and updated
>>   package names is correct
>> * It's based on the current tip of upstream's zfs-2.1.1-staging branch,
>>   which yet needs to be tagged
> 
> I think I'd wait for the final 2.1.1 tag to prevent confusion unless we 
> have a good reason to go ahead with an in-between codebase?
> 

+1 

I may have been a cause of this by telling Stoiko by mentioning that there was
some recent activity in the 2.1.1 staging branch, and that we may want to wait
out for - the intention for mentioning that may have got lost on the way.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-09-08 12:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-07 13:17 [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Stoiko Ivanov
2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 1/5] update submodule and patches to ZFS 2.1.1-staging Stoiko Ivanov
2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 2/5] buildsys: adapt install paths for zfs 2.1.0 Stoiko Ivanov
2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 3/5] port changes to abi tracking from master Stoiko Ivanov
2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 4/5] update abi definitions for 2.1.1 Stoiko Ivanov
2021-09-07 13:17 ` [pve-devel] [RFC zfsonlinux 5/5] bump libzpool soname Stoiko Ivanov
2021-09-08 11:51   ` Fabian Grünbichler
2021-09-08 11:53 ` [pve-devel] [RFC zfsonlinux 0/5] update to 2.1.1 Fabian Grünbichler
2021-09-08 12:25   ` Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal