# define driver name, version and release %define drvname fglrx %define drvver 8.961 %define drvrel 1.mga2.nonfree # define core kernel version we build against %define kernver 3.3.6 %define kernrel 2.mga2 # where to build %define topdir ${RPM_BUILD_DIR}/%{name}-%{_arch} # source package Name: kmod-%{drvname} Version: %{drvver} Release: %mkrel 4 Summary: Prebuilt %{drvname} modules for kernel-%{kernver}-%{kernrel} License: Freeware URL: http://ati.amd.com/support/driver.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://ati.amd.com/support/driver.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://ati.amd.com/support/driver.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 May 17 2012 tmb <tmb> 8.961-4.mga2 + Revision: 235856 - build for kernel-3.3.6-2.mga2 * Sun May 13 2012 tmb <tmb> 8.961-3.mga2.nonfree + Revision: 235565 - build for kernel-3.3.6-1.mga2 * Thu May 10 2012 tmb <tmb> 8.961-2.mga2.nonfree + Revision: 235202 - build for kernel-3.3.5-1.mga2 * Sat Apr 28 2012 tmb <tmb> 8.961-1.mga2.nonfree + Revision: 233917 - rebuild for fglrx-8.961 and kernel-3.3.4 * Mon Apr 23 2012 tmb <tmb> 8.951-3.mga2.nonfree + Revision: 232874 - rebuild for kernel-3.3.3-1.mga2 * Wed Apr 04 2012 tmb <tmb> 8.951-2.mga2.nonfree + Revision: 228367 - rebuild for kernel-3.3.1-2.mga2 * Tue Apr 03 2012 tmb <tmb> 8.951-1.mga2.nonfree + Revision: 228076 - rebuild for kernel-3.3.1-1.mga2 - rebuild for fglrx-8.851-1 * Sun Mar 25 2012 tmb <tmb> 8.950-4.mga2.nonfree + Revision: 226183 - rebuild for kernel-3.3.0-2.mga2 * Mon Mar 19 2012 tmb <tmb> 8.950-3.mga2.nonfree + Revision: 224373 - rebuild for kernel-3.3.0-1.mga2 * Sun Mar 11 2012 tmb <tmb> 8.950-2.mga2.nonfree + Revision: 222559 - rebuild for kernel 3.3-rc7 * Fri Mar 09 2012 fwang <fwang> 8.950-1.mga2.nonfree + Revision: 221878 - rebuild for new fglrx * Mon Mar 05 2012 tmb <tmb> 8.930-3.mga2.nonfree + Revision: 219300 - rebuild for kernel-3.3.0-0.rc6.1.mga2 * Sat Mar 03 2012 tmb <tmb> 8.930-2.mga2.nonfree + Revision: 217300 - rebuild for kernel-3.2.9-2.mga2 * Thu Mar 01 2012 tmb <tmb> 8.930-1.mga2.nonfree + Revision: 216538 - build with fixed fglrx 8.930-2 - rebuild for fglrx 8.930-1 - rebuild for kernel-3.2.9-1.mga2 * Sat Feb 25 2012 tmb <tmb> 8.920-14.mga2.nonfree + Revision: 214772 - rebuild for kernel-3.2.7-1.mga2 * Thu Feb 16 2012 tmb <tmb> 8.920-13.mga2.nonfree + Revision: 209782 - rebuild for kernel-3.2.6-3.mga2 - compress modules with xz * Tue Feb 14 2012 tmb <tmb> 8.920-12.mga2.nonfree + Revision: 208936 - rebuild for kernel-3.2.6-2.mga2 * Sun Feb 12 2012 tmb <tmb> 8.920-11.mga2.nonfree + Revision: 208063 - rebuild for kernel-3.2.6-0.rc1.1.mga2 * Mon Feb 06 2012 tmb <tmb> 8.920-10.mga2.nonfree + Revision: 205605 - rebuild for kernel-3.2.5-1.mga2 * Thu Jan 26 2012 tmb <tmb> 8.920-9.mga2.nonfree + Revision: 201950 - rebuild for kernel-3.2.2-1.mga2 * Fri Jan 20 2012 tmb <tmb> 8.920-8.mga2.nonfree + Revision: 198864 - build with kernel-3.2.1-2.mga2 * Sun Jan 15 2012 tmb <tmb> 8.920-7.mga2.nonfree + Revision: 196455 - kernel-xen-pvops does not exist anymore - build against kernel-3.2.1-1.mga2 * Sun Jan 15 2012 tmb <tmb> 8.920-6.mga2.nonfree + Revision: 196310 - fix package name to match kernel uname -r * Thu Jan 05 2012 tmb <tmb> 8.920-5.mga2.nonfree + Revision: 191563 - build with kernel-3.2.0-1.mga2 * Thu Dec 29 2011 tmb <tmb> 8.920-4.mga2.nonfree + Revision: 188527 - build with kernel-3.2.0-0.rc7.2.mga2 * Mon Dec 26 2011 tmb <tmb> 8.920-3.mga2.nonfree + Revision: 187868 - compress the prebuilt module * Mon Dec 26 2011 tmb <tmb> 8.920-2.mga2.nonfree + Revision: 187661 - build with kernel-3.2.0-0.rc7.1.mga2 * Sun Dec 25 2011 tmb <tmb> 8.920-1.mga2.nonfree + Revision: 187629 - add dkms.conf to the rpms too - fix build with rpm 4.9 - fix typo in desktop586 build - imported package kmod-fglrx