aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Behlendorf <behlendorf1@llnl.gov>2025-11-10 20:50:16 +0000
committerBrian Behlendorf <behlendorf1@llnl.gov>2025-11-12 21:07:28 +0000
commit5b2489caf266b3d8aadb206d85dc4c60fa028a2a (patch)
treecd6a978946bcfe222e311bf41e5ebaef1849e6f6
parentff536b153890235121ff777dffbd93d611fcd072 (diff)
Bump SONAME of libzfs and libzpool
The ABI of libzfs and libzpool have breaking changes since the last major release. Bump the SONAME for the upcoming 2.4 release branch to libzfs7 and libzpool7. Reviewed-by: Rob Norris <robn@despairlabs.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #17911
-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-libzfs7.docs (renamed from contrib/debian/openzfs-libzfs6.docs)0
-rw-r--r--contrib/debian/openzfs-libzfs7.install.in (renamed from contrib/debian/openzfs-libzfs6.install.in)0
-rw-r--r--contrib/debian/openzfs-libzpool7.docs (renamed from contrib/debian/openzfs-libzpool6.docs)0
-rw-r--r--contrib/debian/openzfs-libzpool7.install.in (renamed from contrib/debian/openzfs-libzpool6.install.in)0
-rw-r--r--lib/libzfs/Makefile.am2
-rw-r--r--lib/libzpool/Makefile.am2
-rw-r--r--rpm/generic/zfs.spec.in44
11 files changed, 48 insertions, 46 deletions
diff --git a/config/deb.am b/config/deb.am
index 9e58e1905b73..3e9a9379712e 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=libzfs6-$${version}.$${arch}.rpm; \
- pkg5=libzpool6-$${version}.$${arch}.rpm; \
- pkg6=libzfs6-devel-$${version}.$${arch}.rpm; \
+ pkg4=libzfs7-$${version}.$${arch}.rpm; \
+ pkg5=libzpool7-$${version}.$${arch}.rpm; \
+ pkg6=libzfs7-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 -xlibzfs6linux -xlibzpool6linux" \
+ -xlibuutil3linux -xlibnvpair3linux -xlibzfs7linux -xlibzpool7linux" \
>> $${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 99d512312df6..3c219856005e 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-libzfs6.docs
-dist_noinst_DATA += %D%/openzfs-libzfs6.install.in
+dist_noinst_DATA += %D%/openzfs-libzfs7.docs
+dist_noinst_DATA += %D%/openzfs-libzfs7.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-libzpool6.docs
-dist_noinst_DATA += %D%/openzfs-libzpool6.install.in
+dist_noinst_DATA += %D%/openzfs-libzpool7.docs
+dist_noinst_DATA += %D%/openzfs-libzpool7.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 4f52d01b8108..caabcd30c62a 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-libzfs6.install
+debian/openzfs-libzfs7.install
debian/openzfs-libzfs-dev.install
-debian/openzfs-libzpool6.install
+debian/openzfs-libzpool7.install
diff --git a/contrib/debian/control b/contrib/debian/control
index c5358dedc0fd..a886c2e86cc5 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -79,9 +79,9 @@ Architecture: linux-any
Depends: libssl-dev | libssl1.0-dev,
openzfs-libnvpair3 (= ${binary:Version}),
openzfs-libuutil3 (= ${binary:Version}),
- openzfs-libzfs6 (= ${binary:Version}),
+ openzfs-libzfs7 (= ${binary:Version}),
openzfs-libzfsbootenv1 (= ${binary:Version}),
- openzfs-libzpool6 (= ${binary:Version}),
+ openzfs-libzpool7 (= ${binary:Version}),
${misc:Depends}
Replaces: libzfslinux-dev
Conflicts: libzfslinux-dev
@@ -91,18 +91,18 @@ Description: OpenZFS filesystem development files for Linux
libraries of OpenZFS filesystem.
.
This package includes the development files of libnvpair3, libuutil3,
- libzpool6 and libzfs6.
+ libzpool7 and libzfs7.
-Package: openzfs-libzfs6
+Package: openzfs-libzfs7
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, libzfs4linux, libzfs6linux, openzfs-libzfs4
-Replaces: libzfs2, libzfs4, libzfs4linux, libzfs6linux, openzfs-libzfs4
-Conflicts: libzfs6linux
+Breaks: libzfs2, libzfs4, libzfs4linux, libzfs6linux, libzfs7linux, openzfs-libzfs4, openzfs-libzfs6
+Replaces: libzfs2, libzfs4, libzfs4linux, libzfs6linux, libzfs7linux, openzfs-libzfs4, openzfs-libzfs6
+Conflicts: libzfs7linux
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,
@@ -124,13 +124,13 @@ Description: OpenZFS filesystem library for Linux - label info support
.
The zfsbootenv library provides support for modifying ZFS label information.
-Package: openzfs-libzpool6
+Package: openzfs-libzpool7
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
-Breaks: libzpool2, libzpool5, libzpool6linux
-Replaces: libzpool2, libzpool5, libzpool6linux
-Conflicts: libzpool6linux
+Breaks: libzpool2, libzpool5, libzpool6linux, libzpool7linux
+Replaces: libzpool2, libzpool5, libzpool6linux, libzpool7linux
+Conflicts: libzpool7linux
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,
@@ -247,8 +247,8 @@ Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Depends: openzfs-libnvpair3 (= ${binary:Version}),
openzfs-libuutil3 (= ${binary:Version}),
- openzfs-libzfs6 (= ${binary:Version}),
- openzfs-libzpool6 (= ${binary:Version}),
+ openzfs-libzfs7 (= ${binary:Version}),
+ openzfs-libzpool7 (= ${binary:Version}),
python3,
${misc:Depends},
${shlibs:Depends}
diff --git a/contrib/debian/openzfs-libzfs6.docs b/contrib/debian/openzfs-libzfs7.docs
index 4302f1b2ab6a..4302f1b2ab6a 100644
--- a/contrib/debian/openzfs-libzfs6.docs
+++ b/contrib/debian/openzfs-libzfs7.docs
diff --git a/contrib/debian/openzfs-libzfs6.install.in b/contrib/debian/openzfs-libzfs7.install.in
index a9054c14cc73..a9054c14cc73 100644
--- a/contrib/debian/openzfs-libzfs6.install.in
+++ b/contrib/debian/openzfs-libzfs7.install.in
diff --git a/contrib/debian/openzfs-libzpool6.docs b/contrib/debian/openzfs-libzpool7.docs
index 4302f1b2ab6a..4302f1b2ab6a 100644
--- a/contrib/debian/openzfs-libzpool6.docs
+++ b/contrib/debian/openzfs-libzpool7.docs
diff --git a/contrib/debian/openzfs-libzpool6.install.in b/contrib/debian/openzfs-libzpool7.install.in
index 0e087a2709b3..0e087a2709b3 100644
--- a/contrib/debian/openzfs-libzpool6.install.in
+++ b/contrib/debian/openzfs-libzpool7.install.in
diff --git a/lib/libzfs/Makefile.am b/lib/libzfs/Makefile.am
index 5f8963dccd1a..e2cbca47b9a3 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 6:0:0
+libzfs_la_LDFLAGS += -version-info 7:0:0
pkgconfig_DATA += %D%/libzfs.pc
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am
index aeacc595b363..4658e025ea53 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 6:0:0
+libzpool_la_LDFLAGS += -version-info 7: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 8986e29eb7fb..9ae479aeb96b 100644
--- a/rpm/generic/zfs.spec.in
+++ b/rpm/generic/zfs.spec.in
@@ -111,10 +111,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: libzpool6%{?_isa} = %{version}-%{release}
+Requires: libzpool7%{?_isa} = %{version}-%{release}
Requires: libnvpair3%{?_isa} = %{version}-%{release}
Requires: libuutil3%{?_isa} = %{version}-%{release}
-Requires: libzfs6%{?_isa} = %{version}-%{release}
+Requires: libzfs7%{?_isa} = %{version}-%{release}
Requires: %{name}-kmod = %{version}
Provides: %{name}-kmod-common = %{version}-%{release}
Obsoletes: spl <= %{version}
@@ -162,22 +162,23 @@ Requires: sysstat
%description
This package contains the core ZFS command line utilities.
-%package -n libzpool6
+%package -n libzpool7
Summary: Native ZFS pool library for Linux
Group: System Environment/Kernel
Obsoletes: libzpool2 <= %{version}
Obsoletes: libzpool4 <= %{version}
Obsoletes: libzpool5 <= %{version}
+Obsoletes: libzpool6 <= %{version}
-%description -n libzpool6
+%description -n libzpool7
This package contains the zpool library, which provides support
for managing zpools
%if %{defined ldconfig_scriptlets}
-%ldconfig_scriptlets -n libzpool6
+%ldconfig_scriptlets -n libzpool7
%else
-%post -n libzpool6 -p /sbin/ldconfig
-%postun -n libzpool6 -p /sbin/ldconfig
+%post -n libzpool7 -p /sbin/ldconfig
+%postun -n libzpool7 -p /sbin/ldconfig
%endif
%package -n libnvpair3
@@ -224,31 +225,32 @@ 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 libzfs6
+%package -n libzfs7
Summary: Native ZFS filesystem library for Linux
Group: System Environment/Kernel
Obsoletes: libzfs2 <= %{version}
Obsoletes: libzfs4 <= %{version}
Obsoletes: libzfs5 <= %{version}
+Obsoletes: libzfs6 <= %{version}
-%description -n libzfs6
+%description -n libzfs7
This package provides support for managing ZFS filesystems
%if %{defined ldconfig_scriptlets}
-%ldconfig_scriptlets -n libzfs6
+%ldconfig_scriptlets -n libzfs7
%else
-%post -n libzfs6 -p /sbin/ldconfig
-%postun -n libzfs6 -p /sbin/ldconfig
+%post -n libzfs7 -p /sbin/ldconfig
+%postun -n libzfs7 -p /sbin/ldconfig
%endif
-%package -n libzfs6-devel
+%package -n libzfs7-devel
Summary: Development headers
Group: System Environment/Kernel
-Requires: libzfs6%{?_isa} = %{version}-%{release}
-Requires: libzpool6%{?_isa} = %{version}-%{release}
+Requires: libzfs7%{?_isa} = %{version}-%{release}
+Requires: libzpool7%{?_isa} = %{version}-%{release}
Requires: libnvpair3%{?_isa} = %{version}-%{release}
Requires: libuutil3%{?_isa} = %{version}-%{release}
-Provides: libzpool6-devel = %{version}-%{release}
+Provides: libzpool7-devel = %{version}-%{release}
Provides: libnvpair3-devel = %{version}-%{release}
Provides: libuutil3-devel = %{version}-%{release}
Obsoletes: zfs-devel <= %{version}
@@ -256,7 +258,7 @@ Obsoletes: libzfs2-devel <= %{version}
Obsoletes: libzfs4-devel <= %{version}
Obsoletes: libzfs5-devel <= %{version}
-%description -n libzfs6-devel
+%description -n libzfs7-devel
This package contains the header files needed for building additional
applications against the ZFS libraries.
@@ -305,7 +307,7 @@ Summary: Python %{python_version} wrapper for libzfs_core
Group: Development/Languages/Python
License: Apache-2.0
BuildArch: noarch
-Requires: libzfs6 = %{version}-%{release}
+Requires: libzfs7 = %{version}-%{release}
Requires: libnvpair3 = %{version}-%{release}
Requires: libffi
Requires: python%{__python_pkg_version}
@@ -548,7 +550,7 @@ systemctl --system daemon-reload >/dev/null || true
%config(noreplace) %{_bashcompletiondir}/zfs
%config(noreplace) %{_bashcompletiondir}/zpool
-%files -n libzpool6
+%files -n libzpool7
%{_libdir}/libzpool.so.*
%files -n libnvpair3
@@ -557,10 +559,10 @@ systemctl --system daemon-reload >/dev/null || true
%files -n libuutil3
%{_libdir}/libuutil.so.*
-%files -n libzfs6
+%files -n libzfs7
%{_libdir}/libzfs*.so.*
-%files -n libzfs6-devel
+%files -n libzfs7-devel
%{_pkgconfigdir}/libzfs.pc
%{_pkgconfigdir}/libzfsbootenv.pc
%{_pkgconfigdir}/libzfs_core.pc