# define driver name, version and release %define drvname nvidia304 %define drvver 304.108 %define drvrel 2.mga3.nonfree # define core kernel version we build against %define kernver 3.10.54 %define kernrel 2.mga3 # where to build %define topdir ${RPM_BUILD_DIR}/%{name}-%{_arch} # source package Name: kmod-%{drvname} Version: %{drvver} Release: %mkrel 22 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-server-devel-%{kernver}-%{kernrel} %description This package creates prebuilt %{drvname} kernel modules for core kernel. # obsoletes prebuilt -netbook-latest modules with matching -desktop-latest %define latest_obsoletes_desktop %{drvname}-kernel-netbook-latest < 304.64-2 %define latest_provides_desktop %{drvname}-kernel-netbook-latest = %{drvver}-%{release} ##### 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} \ %{expand:%%{?latest_obsoletes_%{1}:Obsoletes: %{latest_obsoletes_%{1}}}} \ %{expand:%%{?latest_provides_%{1}:Provides: %{latest_provides_%{1}}}} \ %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 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 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 * Sat Sep 13 2014 tmb <tmb> 304.108-22.mga3 + Revision: 675123 - rebuild for kernel-3.10.50-1.mga3 - rebuild for kernel-3.10.49-2.mga3 - rebuild for 3.10.49-1.mga3 - rebuild for kernel-3.10.44-1.mga3 - rebuild for kernel-3.10.42-1.mga3 - rebuild for kernel-3.10.40-1.mga3 - rebuild for kernel-3.10.28-1.mga3 - rebuild for kernel-3.10.27-1.mga3 - rebuild for kernel-3.10.25-1.mga3 - rebuild for kernel-3.10.24-2.mga3 - rebuild for kernel-3.10.24-1.mga3 - rebuild for kernel-3.10.22-1.mga3 - rebuild for kernel-3.10.19-1.mga3 - rebuild for kernel-3.10.18-1.mga3 - rebuild for nvidia304-304.108-2.mga3 - rebuild for kernel-3.10.16-1.mga3 - rebuild for kernel-3.10.15-1.mga3 - rebuild for kernel-3.10.12-1.mga3 - rebuild for kernel-3.8.13.4-1.mga3 - rebuild for kernel-3.8.13.3-2.mga3 - rebuild for kernel-3.8.13.3-1.mga3 * Tue May 14 2013 tmb <tmb> 304.88-12.mga3.nonfree + Revision: 413197 - rebuild for kernel-3.8.13-1.mga3 * Fri May 10 2013 tmb <tmb> 304.88-11.mga3.nonfree + Revision: 412837 - rebuild for kernel-3.8.12-2.mga3 * Wed May 08 2013 tmb <tmb> 304.88-10.mga3.nonfree + Revision: 412679 - rebuild for kernel-3.8.12-1.mga3 * Wed May 01 2013 tmb <tmb> 304.88-9.mga3.nonfree + Revision: 411832 - rebuild for kernel-3.8.11-1.mga3 * Sat Apr 27 2013 tmb <tmb> 304.88-8.mga3.nonfree + Revision: 411365 - rebuild for kernel-3.8.10-1.mga3 * Mon Apr 22 2013 tmb <tmb> 304.88-7.mga3.nonfree + Revision: 410894 - rebuild for kernel-3.8.8-3.mga3 * Sat Apr 20 2013 tmb <tmb> 304.88-6.mga3.nonfree + Revision: 410595 - rebuild for kernel-3.8.8-2.mga3 * Wed Apr 17 2013 tmb <tmb> 304.88-5.mga3.nonfree + Revision: 410298 - rebuild for kernel-3.8.8-1.mga3 * Sat Apr 13 2013 tmb <tmb> 304.88-4.mga3.nonfree + Revision: 409937 - rebuild for kernel-3.8.7-1.mga3 * Tue Apr 09 2013 tmb <tmb> 304.88-3.mga3.nonfree + Revision: 409297 - rebuild for kernel-3.8.6-2.mga3 * Sun Apr 07 2013 tmb <tmb> 304.88-2.mga3.nonfree + Revision: 408776 - rebuild for kernel-3.8.6-1.mga3 * Sun Apr 07 2013 tmb <tmb> 304.88-1.mga3.nonfree + Revision: 408705 - rebuild for nvidia304-304.88-1.mga3 * Sat Mar 30 2013 tmb <tmb> 304.84-3.mga3.nonfree + Revision: 406637 - rebuild for kernel-3.8.5-1.mga3 * Mon Mar 18 2013 tmb <tmb> 304.84-2.mga3.nonfree + Revision: 403972 - rebuild for kernel-3.8.3-2.mga3 * Fri Mar 15 2013 tmb <tmb> 304.84-1.mga3.nonfree + Revision: 403330 - rebuild for kernel-3.8.3-1.mga3 - rebuild for nvidia304 304.84 * Sat Mar 02 2013 tmb <tmb> 304.64-15.mga3.nonfree + Revision: 401098 - rebuild for kernel-3.8.1-1.mga3 * Thu Feb 28 2013 tmb <tmb> 304.64-14.mga3.nonfree + Revision: 400597 - rebuild for kernel-3.8.0-3.mga3 * Fri Feb 22 2013 tmb <tmb> 304.64-13.mga3.nonfree + Revision: 399994 - rebuild for kernel-3.8.0-2.mga3 * Tue Feb 19 2013 tmb <tmb> 304.64-12.mga3.nonfree + Revision: 399326 - rebuild for kernel-3.8.0-1.mga3 * Sat Feb 09 2013 tmb <tmb> 304.64-11.mga3.nonfree + Revision: 397395 - rebuild for kernel-3.8.0-0.rc7.1.mga3 * Wed Feb 06 2013 tmb <tmb> 304.64-10.mga3.nonfree + Revision: 394966 - rebuild for kernel-3.8.0-0.rc6.1.mga3 * Sun Jan 27 2013 tmb <tmb> 304.64-9.mga3.nonfree + Revision: 392639 - rebuild for kernel-3.8.0-0.rc5.1.mga3 * Fri Jan 18 2013 tmb <tmb> 304.64-8.mga3.nonfree + Revision: 389520 - rebuild for kernel-3.8.0-0.rc4.1.mga3 * Wed Jan 16 2013 tmb <tmb> 304.64-7.mga3.nonfree + Revision: 388883 - rebuild for kernel-3.8.0-0.rc3.2.mga3 * Thu Jan 10 2013 tmb <tmb> 304.64-6.mga3.nonfree + Revision: 344812 - rebuild with fixed nvidia304-304.64-4.mga3 - rebuild for kernel-3.8.0-0.rc3.1.mga3 * Tue Dec 18 2012 tmb <tmb> 304.64-4.mga3.nonfree + Revision: 332491 - rebuild for kernel-3.7.1-1.mga3 * Tue Dec 11 2012 tmb <tmb> 304.64-3.mga3.nonfree + Revision: 329585 - rebuild for kernel-3.7.0-1.mga3 * Fri Dec 07 2012 tmb <tmb> 304.64-2.mga3.nonfree + Revision: 327719 - rebuild for fixed nvidia304-304.64-3.mga3 - fix obsolete version - kernel-netbook is gone, so have -netbook-latest packages update to matching -desktop-latest - rebuild for kernel-3.7.0-0.rc8.1.mga3 * Sat Nov 24 2012 tmb <tmb> 304.64-1.mga3.nonfree + Revision: 321449 - imported package kmod-nvidia304