# define driver name, version and release %define drvname nvidia-current %define drvver 295.71 %define drvrel 1.mga2.nonfree # define core kernel version we build against %define kernver 3.4.34 %define kernrel 1.mga2 # where to build %define topdir ${RPM_BUILD_DIR}/%{name}-%{_arch} # source package Name: kmod-%{drvname} Version: %{drvver} Release: %mkrel 13 Summary: Prebuilt %{drvname} modules for kernel-%{kernver}-%{kernrel} License: Freeware URL: http://www.nvidia.com/object/unix.html Group: System/Kernel and hardware ExclusiveArch: %{ix86} x86_64 BuildRequires: dkms-%{drvname} = %{drvver}-%{drvrel} %ifarch %{ix86} BuildRequires: kernel-desktop586-devel-%{kernver}-%{kernrel} %endif BuildRequires: kernel-desktop-devel-%{kernver}-%{kernrel} BuildRequires: kernel-netbook-devel-%{kernver}-%{kernrel} BuildRequires: kernel-server-devel-%{kernver}-%{kernrel} %description This package creates prebuilt %{drvname} kernel modules for core kernel. ##### mkflavour() ala core kernel ##### %define mkflavour() \ %package -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ Summary: %{drvname} driver for kernel-%{1}-%{kernver}-%{kernrel} \ License: Commercial \ URL: http://www.nvidia.com/object/unix.html \ Group: System/Kernel and hardware \ Requires(post): dkms-minimal \ Requires(preun): dkms-minimal \ Requires: kernel-%{1}-%{kernver}-%{kernrel} \ Requires(post): kernel-%{1}-%{kernver}-%{kernrel} \ Requires(preun): kernel-%{1}-%{kernver}-%{kernrel} \ Suggests: %{drvname}-kernel-%{1}-latest \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ \ %description -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ Prebuilt dkms binary kernel modules for the %{drvname} driver version %{drvver} \ built for kernel-%{1}-%{kernver}-%{kernrel}. \ \ %files -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ %dir /var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel} \ /var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel}/* \ \ %post -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ %{_sbindir}/dkms install --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \ %{_sbindir}/dkms status -m %{drvname} -v %{drvver}-%{drvrel} \ \ %preun -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ %{_sbindir}/dkms uninstall --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \ \ \ %package -n %{drvname}-kernel-%{1}-latest \ Summary: Virtual rpm for latest %{drvname}-kernel-%{1} driver \ License: Commercial \ URL: http://www.nvidia.com/object/unix.html \ Group: System/Kernel and hardware \ Requires: %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} = %{version}-%{release} \ %ifarch %{ix86} \ Conflicts: arch(x86_64) \ %endif \ \ %description -n %{drvname}-kernel-%{1}-latest \ This package is a virtual rpm that aims to make sure you always have the \ latest prebuilt %{drvname} driver for kernel-%{1}. \ \ %files -n %{drvname}-kernel-%{1}-latest %ifarch %{ix86} %mkflavour desktop586 %endif %mkflavour desktop %mkflavour netbook %mkflavour server %prep rm -rf %{topdir} %build %{_sbindir}/dkms add -m %{drvname} -v %{drvver}-%{drvrel} --dkmstree %{topdir}/var/lib/dkms-binary %ifarch %{ix86} %{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \ -k %{kernver}-desktop586-%{kernrel} --kernelsourcedir /usr/src/linux-%{kernver}-desktop586-%{kernrel} \ --dkmstree %{topdir}/var/lib/dkms-binary %endif for flavour in desktop netbook server; do %{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \ -k %{kernver}-$flavour-%{kernrel} --kernelsourcedir /usr/src/linux-%{kernver}-$flavour-%{kernrel} \ --dkmstree %{topdir}/var/lib/dkms-binary done %install mkdir -p %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel} cp -a %{topdir}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel} \ %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/ for dir in %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel}; do cp -a /usr/src/%{drvname}-%{drvver}-%{drvrel}/dkms.conf $dir/ xz -6e $dir/*/module/%{drvname}.ko done %changelog * Thu Feb 28 2013 tmb <tmb> 295.71-13.mga2 + Revision: 400709 - rebuild for kernel-3.4.34-1.mga2 - rebuild for kernel-3.4.32-2.mga2 - rebuild for kernel-3.4.32-1.mga2 - rebuild for kernel-3.4.24-3.mga2 - rebuild for kernel-3.4.24-2.mga2 - rebuild for kernel-3.4.24-1.mga2 - rebuild for kernel-3.4.20-1.mga2 - rebuild for kernel-3.4.19-1.mga2 - rebuild for kernel-3.4.18-1.mga2 - rebuild for kernel-3.4.17-1.mga2 - rebuild for kernel-3.4.16-1.mga2 - rebuild for kernel-3.4.15-1.mga2 - rebuild for kernel-3.4.13-1.mga2 - rebuild for nvidia-current-295.71-1.mga2.nonfree - rebuild for kernel-3.3.8-2.mga2 and nvidia-current-295.49-3.mga2.nonfree - rebuild for kernel-3.3.8-1.mga2 - build for kernel-3.3.6-2.mga2 * Sun May 13 2012 tmb <tmb> 295.49-3.mga2.nonfree + Revision: 235564 - build for kernel-3.3.6-1.mga2 * Thu May 10 2012 tmb <tmb> 295.49-2.mga2.nonfree + Revision: 235203 - build for kernel-3.3.5-1.mga2 * Sun May 06 2012 tmb <tmb> 295.49-1.mga2.nonfree + Revision: 234836 - rebuild for 295.49 in nonfree/updates_testing * Sat Apr 28 2012 tmb <tmb> 295.40-3.mga2.nonfree + Revision: 233923 - rebuild for kernel-3.3.4-1.mga2 * Mon Apr 23 2012 tmb <tmb> 295.40-2.mga2.nonfree + Revision: 232875 - rebuild for kernel-3.3.3-1.mga2 * Wed Apr 11 2012 tmb <tmb> 295.40-1.mga2.nonfree + Revision: 230295 - rebuild for 295.40-1.mga2 * Fri Apr 06 2012 tmb <tmb> 295.33-7.mga2.nonfree + Revision: 229346 - rebuild for nvidia-current-295.33-1.mga2 * Wed Apr 04 2012 tmb <tmb> 295.20-6.mga2.nonfree + Revision: 228366 - rebuild for kernel-3.3.1-2.mga2 * Tue Apr 03 2012 tmb <tmb> 295.20-5.mga2.nonfree + Revision: 228077 - rebuild for kernel-3.3.1-1.mga2 * Sun Mar 25 2012 tmb <tmb> 295.20-4.mga2.nonfree + Revision: 226182 - rebuild for kernel-3.3.0-2.mga2 * Mon Mar 19 2012 tmb <tmb> 295.20-3.mga2.nonfree + Revision: 224369 - rebuild for kernel-3.3.0-1.mga2 * Sun Mar 11 2012 tmb <tmb> 295.20-2.mga2.nonfree + Revision: 222558 - rebuild for kernel 3.3-rc7 * Tue Mar 06 2012 tmb <tmb> 295.20-1.mga2.nonfree + Revision: 220375 - build with fixed nvidia-current - rebuild for nvidia-current-295.20-1.mga2 - rebuild for kernel-3.3.0-0.rc6.1.mga2 * Sat Mar 03 2012 tmb <tmb> 290.10-16.mga2.nonfree + Revision: 217299 - rebuild for kernel-3.2.9-2.mga2 * Thu Mar 01 2012 tmb <tmb> 290.10-15.mga2.nonfree + Revision: 216404 - rebuild for kernel-3.2.9-1.mga2 * Sat Feb 25 2012 tmb <tmb> 290.10-13.mga2.nonfree + Revision: 214773 - rebuild for kernel-3.2.7-1.mga2 * Thu Feb 16 2012 tmb <tmb> 290.10-12.mga2.nonfree + Revision: 209781 - rebuild for kernel-3.2.6-3.mga2 - compress modules with xz * Tue Feb 14 2012 tmb <tmb> 290.10-11.mga2.nonfree + Revision: 208937 - rebuild for kernel-3.2.6-2.mga2 * Sun Feb 12 2012 tmb <tmb> 290.10-10.mga2.nonfree + Revision: 208064 - rebuild for kernel-3.2.6-0.rc1.1.mga2 * Mon Feb 06 2012 tmb <tmb> 290.10-9.mga2.nonfree + Revision: 205606 - rebuild for kernel-3.2.5-1.mga2 * Thu Jan 26 2012 tmb <tmb> 290.10-8.mga2.nonfree + Revision: 201949 - rebuild for kernel-3.2.2-1.mga2 * Fri Jan 20 2012 tmb <tmb> 290.10-7.mga2.nonfree + Revision: 198865 - build with kernel-3.2.1-2.mga2 * Sun Jan 15 2012 tmb <tmb> 290.10-6.mga2.nonfree + Revision: 196456 - kernel-xen-pvops does not exist anymore - build against kernel-3.2.1-1.mga2 * Sun Jan 15 2012 tmb <tmb> 290.10-5.mga2.nonfree + Revision: 196311 - fix package name to match kernel uname -r * Thu Jan 05 2012 tmb <tmb> 290.10-4.mga2.nonfree + Revision: 191562 - build with kernel-3.2.0-1.mga2 * Thu Dec 29 2011 tmb <tmb> 290.10-3.mga2.nonfree + Revision: 188528 - build with kernel-3.2.0-0.rc7.2.mga2 - fix url * Mon Dec 26 2011 tmb <tmb> 290.10-2.mga2.nonfree + Revision: 187917 - build for kernel-3.2.0-0.rc7.1.mga2 * Mon Dec 26 2011 tmb <tmb> 290.10-1.mga2.nonfree + Revision: 187901 - imported package kmod-nvidia-current