Track SONAME version bump in packaging

RPM and DEB packages are named after the SONAME version of the library
they contain.  After bumping this version, the packaging should be
renamed.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
Closes #11219
This commit is contained in:
Antonio Russo 2020-11-19 17:25:24 -07:00 committed by Brian Behlendorf
parent 813185d141
commit 8471f71132
2 changed files with 42 additions and 42 deletions

View File

@ -41,11 +41,11 @@ deb-utils: deb-local rpm-utils-initramfs
arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \ arch=`$(RPM) -qp $${name}-$${version}.src.rpm --qf %{arch} | tail -1`; \
debarch=`$(DPKG) --print-architecture`; \ debarch=`$(DPKG) --print-architecture`; \
pkg1=$${name}-$${version}.$${arch}.rpm; \ pkg1=$${name}-$${version}.$${arch}.rpm; \
pkg2=libnvpair1-$${version}.$${arch}.rpm; \ pkg2=libnvpair3-$${version}.$${arch}.rpm; \
pkg3=libuutil1-$${version}.$${arch}.rpm; \ pkg3=libuutil3-$${version}.$${arch}.rpm; \
pkg4=libzfs2-$${version}.$${arch}.rpm; \ pkg4=libzfs4-$${version}.$${arch}.rpm; \
pkg5=libzpool2-$${version}.$${arch}.rpm; \ pkg5=libzpool4-$${version}.$${arch}.rpm; \
pkg6=libzfs2-devel-$${version}.$${arch}.rpm; \ pkg6=libzfs4-devel-$${version}.$${arch}.rpm; \
pkg7=$${name}-test-$${version}.$${arch}.rpm; \ pkg7=$${name}-test-$${version}.$${arch}.rpm; \
pkg8=$${name}-dracut-$${version}.noarch.rpm; \ pkg8=$${name}-dracut-$${version}.noarch.rpm; \
pkg9=$${name}-initramfs-$${version}.$${arch}.rpm; \ pkg9=$${name}-initramfs-$${version}.$${arch}.rpm; \
@ -56,7 +56,7 @@ deb-utils: deb-local rpm-utils-initramfs
path_prepend=`mktemp -d /tmp/intercept.XXX`; \ path_prepend=`mktemp -d /tmp/intercept.XXX`; \
echo "#$(SHELL)" > $${path_prepend}/dh_shlibdeps; \ echo "#$(SHELL)" > $${path_prepend}/dh_shlibdeps; \
echo "`which dh_shlibdeps` -- \ echo "`which dh_shlibdeps` -- \
-xlibuutil1linux -xlibnvpair1linux -xlibzfs2linux -xlibzpool2linux" \ -xlibuutil3linux -xlibnvpair3linux -xlibzfs4linux -xlibzpool4linux" \
>> $${path_prepend}/dh_shlibdeps; \ >> $${path_prepend}/dh_shlibdeps; \
## These -x arguments are passed to dpkg-shlibdeps, which exclude the ## These -x arguments are passed to dpkg-shlibdeps, which exclude the
## Debianized packages from the auto-generated dependencies of the new debs, ## Debianized packages from the auto-generated dependencies of the new debs,

View File

@ -120,10 +120,10 @@ License: @ZFS_META_LICENSE@
URL: https://github.com/openzfs/zfs URL: https://github.com/openzfs/zfs
Source0: %{name}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: libzpool2 = %{version} Requires: libzpool4 = %{version}
Requires: libnvpair1 = %{version} Requires: libnvpair3 = %{version}
Requires: libuutil1 = %{version} Requires: libuutil3 = %{version}
Requires: libzfs2 = %{version} Requires: libzfs4 = %{version}
Requires: %{name}-kmod = %{version} Requires: %{name}-kmod = %{version}
Provides: %{name}-kmod-common = %{version} Provides: %{name}-kmod-common = %{version}
Obsoletes: spl Obsoletes: spl
@ -162,35 +162,35 @@ Requires: sysstat
%description %description
This package contains the core ZFS command line utilities. This package contains the core ZFS command line utilities.
%package -n libzpool2 %package -n libzpool4
Summary: Native ZFS pool library for Linux Summary: Native ZFS pool library for Linux
Group: System Environment/Kernel Group: System Environment/Kernel
%description -n libzpool2 %description -n libzpool4
This package contains the zpool library, which provides support This package contains the zpool library, which provides support
for managing zpools for managing zpools
%post -n libzpool2 -p /sbin/ldconfig %post -n libzpool4 -p /sbin/ldconfig
%postun -n libzpool2 -p /sbin/ldconfig %postun -n libzpool4 -p /sbin/ldconfig
%package -n libnvpair1 %package -n libnvpair3
Summary: Solaris name-value library for Linux Summary: Solaris name-value library for Linux
Group: System Environment/Kernel Group: System Environment/Kernel
%description -n libnvpair1 %description -n libnvpair3
This package contains routines for packing and unpacking name-value This package contains routines for packing and unpacking name-value
pairs. This functionality is used to portably transport data across pairs. This functionality is used to portably transport data across
process boundaries, between kernel and user space, and can be used process boundaries, between kernel and user space, and can be used
to write self describing data structures on disk. to write self describing data structures on disk.
%post -n libnvpair1 -p /sbin/ldconfig %post -n libnvpair3 -p /sbin/ldconfig
%postun -n libnvpair1 -p /sbin/ldconfig %postun -n libnvpair3 -p /sbin/ldconfig
%package -n libuutil1 %package -n libuutil3
Summary: Solaris userland utility library for Linux Summary: Solaris userland utility library for Linux
Group: System Environment/Kernel Group: System Environment/Kernel
%description -n libuutil1 %description -n libuutil3
This library provides a variety of compatibility functions for OpenZFS: This library provides a variety of compatibility functions for OpenZFS:
* libspl: The Solaris Porting Layer userland library, which provides APIs * libspl: The Solaris Porting Layer userland library, which provides APIs
that make it possible to run Solaris user code in a Linux environment that make it possible to run Solaris user code in a Linux environment
@ -201,32 +201,32 @@ This library provides a variety of compatibility functions for OpenZFS:
partitioning. partitioning.
* libshare: NFS, SMB, and iSCSI service integration for ZFS. * libshare: NFS, SMB, and iSCSI service integration for ZFS.
%post -n libuutil1 -p /sbin/ldconfig %post -n libuutil3 -p /sbin/ldconfig
%postun -n libuutil1 -p /sbin/ldconfig %postun -n libuutil3 -p /sbin/ldconfig
%package -n libzfs2 %package -n libzfs4
Summary: Native ZFS filesystem library for Linux Summary: Native ZFS filesystem library for Linux
Group: System Environment/Kernel Group: System Environment/Kernel
%description -n libzfs2 %description -n libzfs4
This package provides support for managing ZFS filesystems This package provides support for managing ZFS filesystems
%post -n libzfs2 -p /sbin/ldconfig %post -n libzfs4 -p /sbin/ldconfig
%postun -n libzfs2 -p /sbin/ldconfig %postun -n libzfs4 -p /sbin/ldconfig
%package -n libzfs2-devel %package -n libzfs4-devel
Summary: Development headers Summary: Development headers
Group: System Environment/Kernel Group: System Environment/Kernel
Requires: libzfs2 = %{version} Requires: libzfs4 = %{version}
Requires: libzpool2 = %{version} Requires: libzpool4 = %{version}
Requires: libnvpair1 = %{version} Requires: libnvpair3 = %{version}
Requires: libuutil1 = %{version} Requires: libuutil3 = %{version}
Provides: libzpool2-devel Provides: libzpool4-devel
Provides: libnvpair1-devel Provides: libnvpair3-devel
Provides: libuutil1-devel Provides: libuutil3-devel
Obsoletes: zfs-devel Obsoletes: zfs-devel
%description -n libzfs2-devel %description -n libzfs4-devel
This package contains the header files needed for building additional This package contains the header files needed for building additional
applications against the ZFS libraries. applications against the ZFS libraries.
@ -273,8 +273,8 @@ Summary: Python %{python_version} wrapper for libzfs_core
Group: Development/Languages/Python Group: Development/Languages/Python
License: Apache-2.0 License: Apache-2.0
BuildArch: noarch BuildArch: noarch
Requires: libzfs2 = %{version} Requires: libzfs4 = %{version}
Requires: libnvpair1 = %{version} Requires: libnvpair3 = %{version}
Requires: libffi Requires: libffi
Requires: python%{__python_pkg_version} Requires: python%{__python_pkg_version}
Requires: %{__python_cffi_pkg} Requires: %{__python_cffi_pkg}
@ -477,19 +477,19 @@ systemctl --system daemon-reload >/dev/null || true
%{_datadir}/pam-configs/* %{_datadir}/pam-configs/*
%endif %endif
%files -n libzpool2 %files -n libzpool4
%{_libdir}/libzpool.so.* %{_libdir}/libzpool.so.*
%files -n libnvpair1 %files -n libnvpair3
%{_libdir}/libnvpair.so.* %{_libdir}/libnvpair.so.*
%files -n libuutil1 %files -n libuutil3
%{_libdir}/libuutil.so.* %{_libdir}/libuutil.so.*
%files -n libzfs2 %files -n libzfs4
%{_libdir}/libzfs*.so.* %{_libdir}/libzfs*.so.*
%files -n libzfs2-devel %files -n libzfs4-devel
%{_pkgconfigdir}/libzfs.pc %{_pkgconfigdir}/libzfs.pc
%{_pkgconfigdir}/libzfsbootenv.pc %{_pkgconfigdir}/libzfsbootenv.pc
%{_pkgconfigdir}/libzfs_core.pc %{_pkgconfigdir}/libzfs_core.pc