+# SPDX-License-Identifier: GPL-2.0
+
+#
+# This file is part of Lustre, http://www.lustre.org/
+#
+# lustre-dkms.spec.in
+#
+# spec file template for RHEL dkms package builds
+#
+
%bcond_without servers
%bcond_without zfs
%bcond_with ldiskfs
+# LUTF Turn off brp-python-precompile script as we don't want the python files
+# to be compiled on installation
+%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
+
# Set the package name prefix
%if %{with servers}
%if %{with zfs}
%define lustre_name @PACKAGE@-client
%endif
-%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "fedora"
%global kmod_name kmod-%{lustre_name}
- %define mkconf_options
-%else #for Suse / Ubuntu
+ %define mkconf_options %{nil}
+#for Suse / Ubuntu
+%else
%global kmod_name %{lustre_name}-kmp
- %define mkconf_options "-k updates"
+ %define mkconf_options -k updates
%endif
%define buildid 1
Release: %{buildid}%{?dist}
Summary: Kernel module(s) (dkms)
-Group: System Environment/Kernel
-License: GPLv2+
+License: GPL-2.0-only
URL: http://lustre.opensfs.org/
Source0: @PACKAGE@-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# (ie, "BUILD_DEPENDS[#]=<pkg>"), and have latest DKMS fixes integrated
# for bugs that prevented our module to build/install.
Requires: dkms >= 2.2.0.3-28.git.7c3e7c5
+Requires: flex bison libmount-devel libmount
# for lnetctl
Requires: libyaml-devel
+Requires: zlib-devel
+# for netlink support
+Requires: libnl3-devel
%if %{with servers}
# If client package is installed when installing server, remove it since
# the server package also includes the client. This can be removed if/when
# the packages are split into independent client/server/common packages.
Obsoletes: @PACKAGE@-client < %{version}
%if %{with zfs}
-Requires: spl-dkms >= 0.6.5
Requires: zfs-dkms >= 0.6.5
-Requires: @PACKAGE@-osd-zfs-mount
Conflicts: @PACKAGE@-ldiskfs-dkms
Conflicts: @PACKAGE@-client-dkms
# lustre-zfs-dkms replicates the functionality old lustre-dkms package
Obsoletes: @PACKAGE@-dkms
%endif
%if %{with ldiskfs}
+Requires: patch
Requires: %{ext4_source_rpm}
-Requires: @PACKAGE@-osd-ldiskfs-mount
Conflicts: @PACKAGE@-zfs-dkms
Conflicts: @PACKAGE@-client-dkms
%if "%{module}" != "@PACKAGE@-all"
Conflicts: @PACKAGE@-all-dkms
%endif
%endif
-Requires: gcc, make, perl
-Requires: kernel-devel
+Requires: gcc, make
+Requires: kernel-devel >= 3.10
+%if 0%{?rhel} > 7 || 0%{?fedora} > 33 || 0%{?rhel} < 1
+Recommends: perl
+Suggests: bash-completion
+%else
+Requires: perl
+%endif
Provides: %{kmod_name} = %{version}
Provides: @PACKAGE@-modules = %{version}
%if %{with servers}
%if %{with zfs}
Provides: @PACKAGE@-osd-zfs = %{version}
+Provides: kmod-@PACKAGE@-osd-zfs = %{version}
+Provides: @PACKAGE@-osd-zfs-mount = %{version}
%endif
%if %{with ldiskfs}
Provides: @PACKAGE@-osd-ldiskfs = %{version}
+Provides: kmod-@PACKAGE@-osd-ldiskfs = %{version}
+Provides: @PACKAGE@-osd-ldiskfs-mount = %{version}
%endif
Provides: @PACKAGE@-osd
%else
%post
for POSTINST in /usr/lib/dkms/common.postinst; do
if [ -f $POSTINST ]; then
- $POSTINST %{module} %{version}
- exit $?
+ $POSTINST %{module} %{version}
+ exit $?
fi
echo "WARNING: $POSTINST does not exist."
done
exit 0
%changelog
+* Wed May 16 2018 Joe Grund <joe.grund@intel.com>
+- Add patch requirement
* Mon Aug 1 2016 Nathaniel Clark <nathaniel.l.clark@intel.com>
- Add option to build either ldiskfs or zfs flavour of server version
* Sat Jan 23 2016 Bruno Faccini <bruno.faccini@intel.com>