aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShengqi Chen <[email protected]>2024-10-05 20:29:37 +0800
committerBrian Behlendorf <[email protected]>2024-10-06 14:49:33 -0700
commite8f0aa143e1b25d98624d4b2623a6e0fc42afb9e (patch)
tree3cfb86ce3594a3fa434c6e9b7b345697872b8a93
parentc59d5495fe171aac752ab5bf8b7be325a2ef861d (diff)
Bump SONAME of libzfs and libzpool
The ABI of libzfs and libzpool have breaking changes since last SONAME bump in commit fe6babc: * libzfs: `zpool_print_unsup_feat` removed (used by zpool cmd). * libzpool: multiple `ddt_*` symbols removed (used by zdb cmd). Bump them to avoid ABI breakage. See: https://github.com/openzfs/zfs/pull/11817 Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Shengqi Chen <[email protected]> Closes #16609
-rw-r--r--config/deb.am8
-rw-r--r--contrib/debian/Makefile.am8
-rw-r--r--contrib/debian/clean4
-rw-r--r--contrib/debian/control26
-rw-r--r--contrib/debian/openzfs-libzfs6.docs (renamed from contrib/debian/openzfs-libzfs4.docs)0
-rw-r--r--contrib/debian/openzfs-libzfs6.install.in (renamed from contrib/debian/openzfs-libzfs4.install.in)0
-rw-r--r--contrib/debian/openzfs-libzpool6.docs (renamed from contrib/debian/openzfs-libzpool5.docs)0
-rw-r--r--contrib/debian/openzfs-libzpool6.install.in (renamed from contrib/debian/openzfs-libzpool5.install.in)0
-rw-r--r--lib/libzfs/Makefile.am2
-rw-r--r--lib/libzfs/libzfs.abi2
-rw-r--r--lib/libzpool/Makefile.am2
-rw-r--r--rpm/generic/zfs.spec.in45
12 files changed, 50 insertions, 47 deletions
diff --git a/config/deb.am b/config/deb.am
index 4d86a1b70..39467aa42 100644
--- a/config/deb.am
+++ b/config/deb.am
@@ -58,9 +58,9 @@ deb-utils: deb-local rpm-utils-initramfs
pkg1=$${name}-$${version}.$${arch}.rpm; \
pkg2=libnvpair3-$${version}.$${arch}.rpm; \
pkg3=libuutil3-$${version}.$${arch}.rpm; \
- pkg4=libzfs5-$${version}.$${arch}.rpm; \
- pkg5=libzpool5-$${version}.$${arch}.rpm; \
- pkg6=libzfs5-devel-$${version}.$${arch}.rpm; \
+ pkg4=libzfs6-$${version}.$${arch}.rpm; \
+ pkg5=libzpool6-$${version}.$${arch}.rpm; \
+ pkg6=libzfs6-devel-$${version}.$${arch}.rpm; \
pkg7=$${name}-test-$${version}.$${arch}.rpm; \
pkg8=$${name}-dracut-$${version}.noarch.rpm; \
pkg9=$${name}-initramfs-$${version}.$${arch}.rpm; \
@@ -72,7 +72,7 @@ deb-utils: deb-local rpm-utils-initramfs
path_prepend=`mktemp -d /tmp/intercept.XXXXXX`; \
echo "#!$(SHELL)" > $${path_prepend}/dh_shlibdeps; \
echo "`which dh_shlibdeps` -- \
- -xlibuutil3linux -xlibnvpair3linux -xlibzfs5linux -xlibzpool5linux" \
+ -xlibuutil3linux -xlibnvpair3linux -xlibzfs6linux -xlibzpool6linux" \
>> $${path_prepend}/dh_shlibdeps; \
## These -x arguments are passed to dpkg-shlibdeps, which exclude the
## Debianized packages from the auto-generated dependencies of the new debs,
diff --git a/contrib/debian/Makefile.am b/contrib/debian/Makefile.am
index f76b59645..99d512312 100644
--- a/contrib/debian/Makefile.am
+++ b/contrib/debian/Makefile.am
@@ -12,14 +12,14 @@ dist_noinst_DATA += %D%/openzfs-libpam-zfs.postinst
dist_noinst_DATA += %D%/openzfs-libpam-zfs.prerm
dist_noinst_DATA += %D%/openzfs-libuutil3.docs
dist_noinst_DATA += %D%/openzfs-libuutil3.install.in
-dist_noinst_DATA += %D%/openzfs-libzfs4.docs
-dist_noinst_DATA += %D%/openzfs-libzfs4.install.in
+dist_noinst_DATA += %D%/openzfs-libzfs6.docs
+dist_noinst_DATA += %D%/openzfs-libzfs6.install.in
dist_noinst_DATA += %D%/openzfs-libzfsbootenv1.docs
dist_noinst_DATA += %D%/openzfs-libzfsbootenv1.install.in
dist_noinst_DATA += %D%/openzfs-libzfs-dev.docs
dist_noinst_DATA += %D%/openzfs-libzfs-dev.install.in
-dist_noinst_DATA += %D%/openzfs-libzpool5.docs
-dist_noinst_DATA += %D%/openzfs-libzpool5.install.in
+dist_noinst_DATA += %D%/openzfs-libzpool6.docs
+dist_noinst_DATA += %D%/openzfs-libzpool6.install.in
dist_noinst_DATA += %D%/openzfs-python3-pyzfs.install
dist_noinst_DATA += %D%/openzfs-zfs-dkms.config
dist_noinst_DATA += %D%/openzfs-zfs-dkms.dkms
diff --git a/contrib/debian/clean b/contrib/debian/clean
index 3100d693a..4f52d01b8 100644
--- a/contrib/debian/clean
+++ b/contrib/debian/clean
@@ -6,6 +6,6 @@ contrib/pyzfs/libzfs_core/bindings/__pycache__/
contrib/pyzfs/pyzfs.egg-info/
debian/openzfs-libnvpair3.install
debian/openzfs-libuutil3.install
-debian/openzfs-libzfs4.install
+debian/openzfs-libzfs6.install
debian/openzfs-libzfs-dev.install
-debian/openzfs-libzpool5.install
+debian/openzfs-libzpool6.install
diff --git a/contrib/debian/control b/contrib/debian/control
index e56fbf0f1..6829c0ccd 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -78,9 +78,9 @@ Architecture: linux-any
Depends: libssl-dev | libssl1.0-dev,
openzfs-libnvpair3 (= ${binary:Version}),
openzfs-libuutil3 (= ${binary:Version}),
- openzfs-libzfs4 (= ${binary:Version}),
+ openzfs-libzfs6 (= ${binary:Version}),
openzfs-libzfsbootenv1 (= ${binary:Version}),
- openzfs-libzpool5 (= ${binary:Version}),
+ openzfs-libzpool6 (= ${binary:Version}),
${misc:Depends}
Replaces: libzfslinux-dev
Conflicts: libzfslinux-dev
@@ -90,18 +90,18 @@ Description: OpenZFS filesystem development files for Linux
libraries of OpenZFS filesystem.
.
This package includes the development files of libnvpair3, libuutil3,
- libzpool5 and libzfs4.
+ libzpool6 and libzfs6.
-Package: openzfs-libzfs4
+Package: openzfs-libzfs6
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
# The libcurl4 is loaded through dlopen("libcurl.so.4").
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988521
Recommends: libcurl4
-Breaks: libzfs2, libzfs4
-Replaces: libzfs2, libzfs4, libzfs4linux
-Conflicts: libzfs4linux
+Breaks: libzfs2, libzfs4, libzfs4linux, libzfs6linux
+Replaces: libzfs2, libzfs4, libzfs4linux, libzfs6linux
+Conflicts: libzfs6linux
Description: OpenZFS filesystem library for Linux - general support
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
@@ -123,13 +123,13 @@ Description: OpenZFS filesystem library for Linux - label info support
.
The zfsbootenv library provides support for modifying ZFS label information.
-Package: openzfs-libzpool5
+Package: openzfs-libzpool6
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
-Breaks: libzpool2, libzpool5
-Replaces: libzpool2, libzpool5, libzpool5linux
-Conflicts: libzpool5linux
+Breaks: libzpool2, libzpool5, libzpool5linux, libzpool6linux
+Replaces: libzpool2, libzpool5, libzpool5linux, libzpool6linux
+Conflicts: libzpool6linux
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,
@@ -246,8 +246,8 @@ Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Depends: openzfs-libnvpair3 (= ${binary:Version}),
openzfs-libuutil3 (= ${binary:Version}),
- openzfs-libzfs4 (= ${binary:Version}),
- openzfs-libzpool5 (= ${binary:Version}),
+ openzfs-libzfs6 (= ${binary:Version}),
+ openzfs-libzpool6 (= ${binary:Version}),
python3,
${misc:Depends},
${shlibs:Depends}
diff --git a/contrib/debian/openzfs-libzfs4.docs b/contrib/debian/openzfs-libzfs6.docs
index 4302f1b2a..4302f1b2a 100644
--- a/contrib/debian/openzfs-libzfs4.docs
+++ b/contrib/debian/openzfs-libzfs6.docs
diff --git a/contrib/debian/openzfs-libzfs4.install.in b/contrib/debian/openzfs-libzfs6.install.in
index 6765aaee5..6765aaee5 100644
--- a/contrib/debian/openzfs-libzfs4.install.in
+++ b/contrib/debian/openzfs-libzfs6.install.in
diff --git a/contrib/debian/openzfs-libzpool5.docs b/contrib/debian/openzfs-libzpool6.docs
index 4302f1b2a..4302f1b2a 100644
--- a/contrib/debian/openzfs-libzpool5.docs
+++ b/contrib/debian/openzfs-libzpool6.docs
diff --git a/contrib/debian/openzfs-libzpool5.install.in b/contrib/debian/openzfs-libzpool6.install.in
index b9e872df9..b9e872df9 100644
--- a/contrib/debian/openzfs-libzpool5.install.in
+++ b/contrib/debian/openzfs-libzpool6.install.in
diff --git a/lib/libzfs/Makefile.am b/lib/libzfs/Makefile.am
index a976faaf9..5f8963dcc 100644
--- a/lib/libzfs/Makefile.am
+++ b/lib/libzfs/Makefile.am
@@ -70,7 +70,7 @@ if BUILD_FREEBSD
libzfs_la_LIBADD += -lutil -lgeom
endif
-libzfs_la_LDFLAGS += -version-info 5:0:1
+libzfs_la_LDFLAGS += -version-info 6:0:0
pkgconfig_DATA += %D%/libzfs.pc
diff --git a/lib/libzfs/libzfs.abi b/lib/libzfs/libzfs.abi
index 1a96460c2..ac9ae233c 100644
--- a/lib/libzfs/libzfs.abi
+++ b/lib/libzfs/libzfs.abi
@@ -1,4 +1,4 @@
-<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfs.so.4'>
+<abi-corpus version='2.0' architecture='elf-amd-x86_64' soname='libzfs.so.6'>
<elf-needed>
<dependency name='libzfs_core.so.3'/>
<dependency name='libnvpair.so.3'/>
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am
index 397959c67..404b737c2 100644
--- a/lib/libzpool/Makefile.am
+++ b/lib/libzpool/Makefile.am
@@ -212,7 +212,7 @@ if BUILD_FREEBSD
libzpool_la_LIBADD += -lgeom
endif
-libzpool_la_LDFLAGS += -version-info 5:0:0
+libzpool_la_LDFLAGS += -version-info 6:0:0
if TARGET_CPU_POWERPC
module/zfs/libzpool_la-vdev_raidz_math_powerpc_altivec.$(OBJEXT) : CFLAGS += -maltivec
diff --git a/rpm/generic/zfs.spec.in b/rpm/generic/zfs.spec.in
index c7a00c61f..d0d850af2 100644
--- a/rpm/generic/zfs.spec.in
+++ b/rpm/generic/zfs.spec.in
@@ -99,10 +99,10 @@ License: @ZFS_META_LICENSE@
URL: https://github.com/openzfs/zfs
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Requires: libzpool5%{?_isa} = %{version}-%{release}
+Requires: libzpool6%{?_isa} = %{version}-%{release}
Requires: libnvpair3%{?_isa} = %{version}-%{release}
Requires: libuutil3%{?_isa} = %{version}-%{release}
-Requires: libzfs5%{?_isa} = %{version}-%{release}
+Requires: libzfs6%{?_isa} = %{version}-%{release}
Requires: %{name}-kmod = %{version}
Provides: %{name}-kmod-common = %{version}-%{release}
Obsoletes: spl <= %{version}
@@ -150,21 +150,22 @@ Requires: sysstat
%description
This package contains the core ZFS command line utilities.
-%package -n libzpool5
+%package -n libzpool6
Summary: Native ZFS pool library for Linux
Group: System Environment/Kernel
Obsoletes: libzpool2 <= %{version}
Obsoletes: libzpool4 <= %{version}
+Obsoletes: libzpool5 <= %{version}
-%description -n libzpool5
+%description -n libzpool6
This package contains the zpool library, which provides support
for managing zpools
%if %{defined ldconfig_scriptlets}
-%ldconfig_scriptlets -n libzpool5
+%ldconfig_scriptlets -n libzpool6
%else
-%post -n libzpool5 -p /sbin/ldconfig
-%postun -n libzpool5 -p /sbin/ldconfig
+%post -n libzpool6 -p /sbin/ldconfig
+%postun -n libzpool6 -p /sbin/ldconfig
%endif
%package -n libnvpair3
@@ -211,37 +212,39 @@ This library provides a variety of compatibility functions for OpenZFS:
# The library version is encoded in the package name. When updating the
# version information it is important to add an obsoletes line below for
# the previous version of the package.
-%package -n libzfs5
+%package -n libzfs6
Summary: Native ZFS filesystem library for Linux
Group: System Environment/Kernel
Obsoletes: libzfs2 <= %{version}
Obsoletes: libzfs4 <= %{version}
+Obsoletes: libzfs5 <= %{version}
-%description -n libzfs5
+%description -n libzfs6
This package provides support for managing ZFS filesystems
%if %{defined ldconfig_scriptlets}
-%ldconfig_scriptlets -n libzfs5
+%ldconfig_scriptlets -n libzfs6
%else
-%post -n libzfs5 -p /sbin/ldconfig
-%postun -n libzfs5 -p /sbin/ldconfig
+%post -n libzfs6 -p /sbin/ldconfig
+%postun -n libzfs6 -p /sbin/ldconfig
%endif
-%package -n libzfs5-devel
+%package -n libzfs6-devel
Summary: Development headers
Group: System Environment/Kernel
-Requires: libzfs5%{?_isa} = %{version}-%{release}
-Requires: libzpool5%{?_isa} = %{version}-%{release}
+Requires: libzfs6%{?_isa} = %{version}-%{release}
+Requires: libzpool6%{?_isa} = %{version}-%{release}
Requires: libnvpair3%{?_isa} = %{version}-%{release}
Requires: libuutil3%{?_isa} = %{version}-%{release}
-Provides: libzpool5-devel = %{version}-%{release}
+Provides: libzpool6-devel = %{version}-%{release}
Provides: libnvpair3-devel = %{version}-%{release}
Provides: libuutil3-devel = %{version}-%{release}
Obsoletes: zfs-devel <= %{version}
Obsoletes: libzfs2-devel <= %{version}
Obsoletes: libzfs4-devel <= %{version}
+Obsoletes: libzfs5-devel <= %{version}
-%description -n libzfs5-devel
+%description -n libzfs6-devel
This package contains the header files needed for building additional
applications against the ZFS libraries.
@@ -290,7 +293,7 @@ Summary: Python %{python_version} wrapper for libzfs_core
Group: Development/Languages/Python
License: Apache-2.0
BuildArch: noarch
-Requires: libzfs5 = %{version}-%{release}
+Requires: libzfs6 = %{version}-%{release}
Requires: libnvpair3 = %{version}-%{release}
Requires: libffi
Requires: python%{__python_pkg_version}
@@ -534,7 +537,7 @@ systemctl --system daemon-reload >/dev/null || true
%config(noreplace) %{_bashcompletiondir}/zfs
%config(noreplace) %{_bashcompletiondir}/zpool
-%files -n libzpool5
+%files -n libzpool6
%{_libdir}/libzpool.so.*
%files -n libnvpair3
@@ -543,10 +546,10 @@ systemctl --system daemon-reload >/dev/null || true
%files -n libuutil3
%{_libdir}/libuutil.so.*
-%files -n libzfs5
+%files -n libzfs6
%{_libdir}/libzfs*.so.*
-%files -n libzfs5-devel
+%files -n libzfs6-devel
%{_pkgconfigdir}/libzfs.pc
%{_pkgconfigdir}/libzfsbootenv.pc
%{_pkgconfigdir}/libzfs_core.pc