%{?!packager: %define packager Brian Behlendorf } %if ! 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version} %define not_rpm 1 %endif %define module @PACKAGE@ %define mkconf scripts/dkms.mkconf # Python permits the !/usr/bin/python shebang for scripts that are cross # compatible between python2 and python3, but Fedora 28 does not. Fedora # wants us to choose python3 for cross-compatible scripts. Since we want # to support python2 and python3 users, exclude our scripts from Fedora 28's # RPM build check, so that we don't get a bunch of build warnings. # # Details: https://github.com/zfsonlinux/zfs/issues/7360 # %global __brp_mangle_shebangs_exclude_from splslab.py Name: %{module}-dkms Version: @VERSION@ Release: @RELEASE@%{?dist} Summary: Kernel module(s) (dkms) Group: System Environment/Kernel License: GPLv2+ URL: http://zfsonlinux.org/ Source0: %{module}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch Requires: dkms >= 2.2.0.2 Requires: gcc, make, perl %if 0%{?rhel}%{?fedora}%{?mageia}%{?suse_version} Requires: kernel-devel %endif Provides: %{module}-kmod = %{version} %description This package contains the dkms kernel modules required to emulate several interfaces provided by the Solaris kernel. %prep %setup -q -n %{module}-%{version} %build %{mkconf} -n %{module} -v %{version} -f dkms.conf %install if [ "$RPM_BUILD_ROOT" != "/" ]; then rm -rf $RPM_BUILD_ROOT fi mkdir -p $RPM_BUILD_ROOT/usr/src/ cp -rf ${RPM_BUILD_DIR}/%{module}-%{version} $RPM_BUILD_ROOT/usr/src/ %clean if [ "$RPM_BUILD_ROOT" != "/" ]; then rm -rf $RPM_BUILD_ROOT fi %files %defattr(-,root,root) /usr/src/%{module}-%{version} %post for POSTINST in /usr/lib/dkms/common.postinst; do if [ -f $POSTINST ]; then $POSTINST %{module} %{version} exit $? fi echo "WARNING: $POSTINST does not exist." done echo -e "ERROR: DKMS version is too old and %{module} was not" echo -e "built with legacy DKMS support." echo -e "You must either rebuild %{module} with legacy postinst" echo -e "support or upgrade DKMS to a more current version." exit 1 %preun CONFIG_H="/var/lib/dkms/%{module}/%{version}/*/*/%{module}_config.h" SPEC_META_ALIAS="@PACKAGE@-@VERSION@-@RELEASE@" DKMS_META_ALIAS=`cat $CONFIG_H 2>/dev/null | awk -F'"' '/META_ALIAS/ { print $2; exit 0 }'` if [ "$SPEC_META_ALIAS" = "$DKMS_META_ALIAS" ]; then echo -e echo -e "Uninstall of %{module} module ($SPEC_META_ALIAS) beginning:" dkms remove -m %{module} -v %{version} --all %{!?not_rpm:--rpm_safe_upgrade} fi exit 0 %changelog * %(date "+%a %b %d %Y") %packager %{version}-%{release} - Automatic build by DKMS