83 lines
2.7 KiB
RPMSpec
83 lines
2.7 KiB
RPMSpec
%{?!module_name: %{error: You did not specify a module name (%%module_name)}}
|
|
%{?!version: %{error: You did not specify a module version (%%version)}}
|
|
%{?!kernel_versions: %{error: You did not specify kernel versions (%%kernel_version)}}
|
|
%{?!packager: %define packager DKMS <dkms-devel@lists.us.dell.com>}
|
|
%{?!license: %define license Unknown}
|
|
%{?!_dkmsdir: %define _dkmsdir /var/lib/dkms}
|
|
%{?!_srcdir: %define _srcdir %_prefix/src}
|
|
%{?!_datarootdir: %define _datarootdir %{_datadir}}
|
|
|
|
Summary: %{module_name} %{version} dkms package
|
|
Name: %{module_name}
|
|
Version: %{version}
|
|
License: %license
|
|
Release: 1dkms
|
|
BuildArch: noarch
|
|
Group: System/Kernel
|
|
Requires: dkms >= 1.95
|
|
BuildRequires: dkms
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root/
|
|
|
|
%description
|
|
Kernel modules for %{module_name} %{version} in a DKMS wrapper.
|
|
|
|
%prep
|
|
if [ "%mktarball_line" != "none" ]; then
|
|
/usr/sbin/dkms mktarball -m %module_name -v %version %mktarball_line --archive `basename %{module_name}-%{version}.dkms.tar.gz`
|
|
cp -af %{_dkmsdir}/%{module_name}/%{version}/tarball/`basename %{module_name}-%{version}.dkms.tar.gz` %{module_name}-%{version}.dkms.tar.gz
|
|
fi
|
|
|
|
%install
|
|
if [ "$RPM_BUILD_ROOT" != "/" ]; then
|
|
rm -rf $RPM_BUILD_ROOT
|
|
fi
|
|
mkdir -p $RPM_BUILD_ROOT/%{_srcdir}
|
|
mkdir -p $RPM_BUILD_ROOT/%{_datarootdir}/%{module_name}
|
|
|
|
if [ -d %{_sourcedir}/%{module_name}-%{version} ]; then
|
|
cp -Lpr %{_sourcedir}/%{module_name}-%{version} $RPM_BUILD_ROOT/%{_srcdir}
|
|
fi
|
|
|
|
if [ -f %{module_name}-%{version}.dkms.tar.gz ]; then
|
|
install -m 644 %{module_name}-%{version}.dkms.tar.gz $RPM_BUILD_ROOT/%{_datarootdir}/%{module_name}
|
|
fi
|
|
|
|
if [ -f %{_sourcedir}/common.postinst ]; then
|
|
install -m 755 %{_sourcedir}/common.postinst $RPM_BUILD_ROOT/%{_datarootdir}/%{module_name}/postinst
|
|
fi
|
|
|
|
%clean
|
|
if [ "$RPM_BUILD_ROOT" != "/" ]; then
|
|
rm -rf $RPM_BUILD_ROOT
|
|
fi
|
|
|
|
%post
|
|
for POSTINST in %{_prefix}/lib/dkms/common.postinst %{_datarootdir}/%{module_name}/postinst; do
|
|
if [ -f $POSTINST ]; then
|
|
$POSTINST %{module_name} %{version} %{_datarootdir}/%{module_name}
|
|
exit $?
|
|
fi
|
|
echo "WARNING: $POSTINST does not exist."
|
|
done
|
|
echo -e "ERROR: DKMS version is too old and %{module_name} was not"
|
|
echo -e "built with legacy DKMS support."
|
|
echo -e "You must either rebuild %{module_name} with legacy postinst"
|
|
echo -e "support or upgrade DKMS to a more current version."
|
|
exit 1
|
|
|
|
%preun
|
|
echo -e
|
|
echo -e "Uninstall of %{module_name} module (version %{version}) beginning:"
|
|
dkms remove -m %{module_name} -v %{version} --all --rpm_safe_upgrade
|
|
exit 0
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_srcdir}
|
|
%{_datarootdir}/%{module_name}/
|
|
|
|
%changelog
|
|
* %(date "+%a %b %d %Y") %packager %{version}-%{release}
|
|
- Automatic build by DKMS
|
|
|