rpm: add support for openEuler
OpenEuler uses the same package manager DNF as RHEL/Fedora. And it is similar to RHEL/Fedora. OpenEuler Linux is becoming the mainstream Linux distro in China. So adding support for it makes sense for the users. For more details about it see: https://www.openeuler.org/en/. Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Damian Szuberski <szuberskidamian@gmail.com> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org> Closes #14222 Conflicts: rpm/generic/zfs.spec.in
This commit is contained in:
parent
7043742828
commit
41fb4e071c
|
@ -1,6 +1,6 @@
|
|||
%{?!packager: %define packager Brian Behlendorf <behlendorf1@llnl.gov>}
|
||||
|
||||
%if ! 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}
|
||||
%if ! 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}%{?openEuler}
|
||||
%define not_rpm 1
|
||||
%endif
|
||||
|
||||
|
@ -28,7 +28,7 @@ Requires(post): dkms >= 2.2.0.3
|
|||
Requires(preun): dkms >= 2.2.0.3
|
||||
Requires: gcc, make, perl, diffutils
|
||||
Requires(post): gcc, make, perl, diffutils
|
||||
%if 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}
|
||||
%if 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version}%{?openEuler}
|
||||
Requires: kernel-devel >= @ZFS_META_KVER_MIN@, kernel-devel <= @ZFS_META_KVER_MAX@.999
|
||||
Requires(post): kernel-devel >= @ZFS_META_KVER_MIN@, kernel-devel <= @ZFS_META_KVER_MAX@.999
|
||||
Obsoletes: spl-dkms <= %{version}
|
||||
|
@ -36,7 +36,7 @@ Obsoletes: spl-dkms <= %{version}
|
|||
Provides: %{module}-kmod = %{version}
|
||||
AutoReqProv: no
|
||||
|
||||
%if (0%{?fedora}%{?suse_version}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
%if (0%{?fedora}%{?suse_version}%{?openEuler}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
# We don't directly use it, but if this isn't installed, rpmbuild as root can
|
||||
# crash+corrupt rpmdb
|
||||
# See issue #12071
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
%define module @PACKAGE@
|
||||
|
||||
%if !%{defined ksrc}
|
||||
%if 0%{?rhel}%{?fedora}
|
||||
%if 0%{?rhel}%{?fedora}%{?openEuler}
|
||||
%define ksrc ${kernel_version##*___}
|
||||
%else
|
||||
%define ksrc "$( \
|
||||
|
@ -16,7 +16,7 @@
|
|||
%endif
|
||||
|
||||
%if !%{defined kobj}
|
||||
%if 0%{?rhel}%{?fedora}
|
||||
%if 0%{?rhel}%{?fedora}%{?openEuler}
|
||||
%define kobj ${kernel_version##*___}
|
||||
%else
|
||||
%define kobj "$( \
|
||||
|
@ -52,12 +52,12 @@ URL: https://github.com/openzfs/zfs
|
|||
Source0: %{module}-%{version}.tar.gz
|
||||
Source10: kmodtool
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
|
||||
%if 0%{?rhel}%{?fedora}
|
||||
%if 0%{?rhel}%{?fedora}%{?openEuler}
|
||||
BuildRequires: gcc, make
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora}%{?suse_version}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
%if (0%{?fedora}%{?suse_version}%{?openEuler}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
# We don't directly use it, but if this isn't installed, rpmbuild as root can
|
||||
# crash+corrupt rpmdb
|
||||
# See issue #12071
|
||||
|
@ -79,10 +79,11 @@ BuildRequires: %{_bindir}/kmodtool
|
|||
# Building local packages attempt to to use the installed kernel.
|
||||
%{?rhel:BuildRequires: kernel-devel}
|
||||
%{?fedora:BuildRequires: kernel-devel}
|
||||
%{?openEuler:BuildRequires: kernel-devel}
|
||||
%{?suse_version:BuildRequires: kernel-source}
|
||||
|
||||
%if !%{defined kernels} && !%{defined build_src_rpm}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}%{?openEuler}
|
||||
%define kernels %(ls -1 /usr/src/kernels)
|
||||
%else
|
||||
%define kernels %(ls -1 /lib/modules)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
# Set the default udev directory based on distribution.
|
||||
%if %{undefined _udevdir}
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7 || 0%{?openEuler}
|
||||
%global _udevdir %{_prefix}/lib/udev
|
||||
%else
|
||||
%global _udevdir /lib/udev
|
||||
|
@ -12,7 +12,7 @@
|
|||
|
||||
# Set the default udevrule directory based on distribution.
|
||||
%if %{undefined _udevruledir}
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7 || 0%{?openEuler}
|
||||
%global _udevruledir %{_prefix}/lib/udev/rules.d
|
||||
%else
|
||||
%global _udevruledir /lib/udev/rules.d
|
||||
|
@ -21,7 +21,7 @@
|
|||
|
||||
# Set the default dracut directory based on distribution.
|
||||
%if %{undefined _dracutdir}
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
|
||||
%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7 || 0%{?openEuler}
|
||||
%global _dracutdir %{_prefix}/lib/dracut
|
||||
%else
|
||||
%global _dracutdir %{_prefix}/share/dracut
|
||||
|
@ -80,6 +80,11 @@
|
|||
%define _systemd 1
|
||||
%endif
|
||||
|
||||
# openEuler comes with systemd
|
||||
%if 0%{?openEuler}
|
||||
%define _systemd 1
|
||||
%endif
|
||||
|
||||
# When not specified default to distribution provided version. This
|
||||
# is normally Python 3, but for RHEL <= 7 only Python 2 is provided.
|
||||
%if %{undefined __use_python}
|
||||
|
@ -132,7 +137,7 @@ Obsoletes: spl <= %{version}
|
|||
# Renaming those on either side would conflict with all available documentation.
|
||||
Conflicts: zfs-fuse
|
||||
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}%{?openEuler}
|
||||
BuildRequires: gcc, make
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: libuuid-devel
|
||||
|
@ -140,11 +145,11 @@ BuildRequires: libblkid-devel
|
|||
BuildRequires: libudev-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: openssl-devel
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?centos} >= 8
|
||||
%if 0%{?fedora}%{?openEuler} || 0%{?rhel} >= 8 || 0%{?centos} >= 8
|
||||
BuildRequires: libtirpc-devel
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora}%{?suse_version}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
%if (0%{?fedora}%{?suse_version}%{?openEuler}) || (0%{?rhel} && 0%{?rhel} < 9)
|
||||
# We don't directly use it, but if this isn't installed, rpmbuild as root can
|
||||
# crash+corrupt rpmdb
|
||||
# See issue #12071
|
||||
|
@ -285,7 +290,7 @@ Requires: sudo
|
|||
Requires: sysstat
|
||||
Requires: libaio
|
||||
Requires: python%{__python_pkg_version}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}%{?openEuler}
|
||||
BuildRequires: libaio-devel
|
||||
%endif
|
||||
AutoReqProv: no
|
||||
|
@ -318,8 +323,8 @@ Requires: libnvpair3 = %{version}-%{release}
|
|||
Requires: libffi
|
||||
Requires: python%{__python_pkg_version}
|
||||
Requires: %{__python_cffi_pkg}
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}
|
||||
%if 0%{?rhel} >= 8 || 0%{?centos} >= 8 || 0%{?fedora} >= 28
|
||||
%if 0%{?rhel}%{?fedora}%{?suse_version}%{?openEuler}
|
||||
%if 0%{?rhel} >= 8 || 0%{?centos} >= 8 || 0%{?fedora} >= 28 || 0%{?openEuler}
|
||||
BuildRequires: python3-packaging
|
||||
%else
|
||||
BuildRequires: python-packaging
|
||||
|
|
Loading…
Reference in New Issue