Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > e5f4880dd4fb4bb2a0c92ea012333474 > files > 11

dkms-2.0.17-13mdv2008.0.src.rpm

%{?!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 Mandrivalinux Team <http://www.mandriva.com>}
%{?!license: %define license Commercial}

%{?!_dkmsdir: %define _dkmsdir %_localstatedir/dkms}
%{?!_srcdir: %define _srcdir %_prefix/src}
%define fake_version %version
%{?rel: %define fake_version %version-%rel}
%{?!rel: %define rel %mkrel 1}
%define modulesrcdir %{_srcdir}/%{module_name}-%{fake_version}
%define moduledkmsdir %{_dkmsdir}/%{module_name}/%{fake_version}/

%define kernel_flavour_rx /(?:.*)-(\\D.*)-(?:\\d+md[kv])$/
%define kernel_flavour_cmd perl -e '$ARGV[0] =~ %kernel_flavour_rx and print "$1\\n"'
# find latest kernel for each flavour of the defined kernels
%define kernels_latest %(perl -e 'foreach my $ver (sort(qw(%kernel_versions))) { $ver =~ %kernel_flavour_rx and $kernels{$1} = $ver }; print join(" ", values(%%kernels)) . "\\n"')
%define latest_date %(date +%%Y%%m%%d)

Name:		dkms-%{module_name}
Version:	%{version}
Release:	%{rel}
Summary:	%{module_name} driver for kernels %{kernel_versions}
Group:		System/Kernel and hardware
License:	%{license}
BuildRoot:	%{_tmppath}/%{name}-buildroot
Provides:	%{module_name} = %{version}
PreReq(post):	dkms-minimal >= 1.94
PreReq(preun):	dkms-minimal >= 1.94

%description
dkms binary kernel modules for the %{module_name} driver version %{version},
built for the %{kernel_versions} kernel(s).

%(for kernel in %kernel_versions; do kflavour=`%kernel_flavour_cmd $kernel`; echo -e "\
%package -n %{module_name}-kernel-$kernel\n\
Summary:	%{module_name} driver for kernel ${kernel} \n\
Version:	%{version} \n\
Release:	%{rel} \n\
License:	%{license} \n\
Group:		System/Kernel and hardware\n\
Requires:	dkms-minimal >= 1.90 \n\
Suggests:	%{module_name}-kernel-${kflavour}-latest \n\
\n\
%description -n %{module_name}-kernel-${kernel}\n\
dkms binary kernel modules for the %{module_name} driver version %{version},\n\
built for the ${kernel} kernel."\
;done)

%(for kernel in %kernels_latest; do kflavour=`%kernel_flavour_cmd $kernel`; echo -e "\
%package -n %{module_name}-kernel-$kflavour-latest\n\
Summary:	%{module_name} driver for latest kernel-${kflavour} \n\
Version:	%{version} \n\
Release:	1.%{latest_date}.%{rel} \n\
License:	%{license} \n\
Group:		System/Kernel and hardware\n\
Requires:	%{module_name}-kernel-$kernel \n\
\n\
%description -n %{module_name}-kernel-${kflavour}-latest\n\
dkms binary kernel modules for the %{module_name} driver version %{version},\n\
built for latest kernel-${kflavour}."\
;done)

%prep

%install
rm -rf $RPM_BUILD_ROOT
for kernel in %kernel_versions; do
mkdir -p %{buildroot}/%{moduledkmsdir}/${kernel}
cp -a %{moduledkmsdir}/${kernel} %{buildroot}/%{moduledkmsdir}
install %{modulesrcdir}/dkms.conf %{buildroot}/%{moduledkmsdir}/${kernel}
done

%clean
rm -rf $RPM_BUILD_ROOT

%(for kernel in %{kernel_versions}; do echo -e "\
%post -n %{module_name}-kernel-${kernel}\n\
[ -e %{modulesrcdir} ] || mkdir -p %{modulesrcdir}\n\
[ -e %{modulesrcdir}/dkms.conf ] || cp -a %{moduledkmsdir}/${kernel}/dkms.conf %{modulesrcdir}\n\
[ -e %{moduledkmsdir}/source ] || ln -sf %{modulesrcdir} %{moduledkmsdir}/source\n\
dkms install -m %{module_name} -v %{fake_version} -k ${kernel} --rpm_safe_upgrade\n\
dkms status -m %{module_name} -v %{fake_version}\n\
:"\
;done)

%(for kernel in %{kernel_versions}; do echo -e "\
%preun -n %{module_name}-kernel-${kernel}\n\
dkms remove -m %{module_name} -v %{fake_version} -k ${kernel} --rpm_safe_upgrade\n\
:"\
;done)

%(for kernel in %{kernel_versions};do echo -e "\
%files -n %{module_name}-kernel-${kernel}\n%defattr(-,root,root)\n\
%{moduledkmsdir}/${kernel}\n\
";done)

%(for kernel in %kernels_latest; do kflavour=`%kernel_flavour_cmd $kernel`; echo -e "\
%files -n %{module_name}-kernel-$kflavour-latest\n%defattr(-,root,root)\n\
";done)

%changelog
* %(LC_ALL=C date "+%a %b %d %Y") %packager %{version}-%{release}
- Automatic build by dkms