[pve-devel] [RFC zfsonlinux 3/5] port changes to abi tracking from master

Stoiko Ivanov s.ivanov at proxmox.com
Tue Sep 7 15:17:53 CEST 2021


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 at 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 at 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 at 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 at delphix.com>
+Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
+Signed-off-by: George Melikov <mail at gmelikov.ru>
+Closes #12529
+(cherry picked from commit a9655fc2bd1f83f1b305ff7ed16f698b87834e73)
+Signed-off-by: Stoiko Ivanov <s.ivanov at 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 at 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 at 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






More information about the pve-devel mailing list