1 |
tmb |
187882 |
# define driver name, version and release |
2 |
|
|
%define drvname nvidia173 |
3 |
|
|
%define drvver 173.14.31 |
4 |
|
|
%define drvrel 1.mga2.nonfree |
5 |
|
|
|
6 |
|
|
# define core kernel version we build against |
7 |
tmb |
187918 |
%define kernver 3.2.0 |
8 |
tmb |
191561 |
%define kernrel 1.mga2 |
9 |
tmb |
187882 |
|
10 |
|
|
# where to build |
11 |
|
|
%define topdir ${RPM_BUILD_DIR}/%{name}-%{_arch} |
12 |
|
|
|
13 |
|
|
# source package |
14 |
|
|
Name: kmod-%{drvname} |
15 |
|
|
Version: %{drvver} |
16 |
tmb |
196312 |
Release: %mkrel 5 |
17 |
tmb |
187882 |
Summary: Prebuilt %{drvname} modules for kernel-%{kernver}-%{kernrel} |
18 |
|
|
License: Freeware |
19 |
|
|
URL: http://www.nvidia.com/object/unix.html |
20 |
|
|
Group: System/Kernel and hardware |
21 |
|
|
ExclusiveArch: %{ix86} x86_64 |
22 |
|
|
|
23 |
|
|
BuildRequires: dkms-%{drvname} = %{drvver}-%{drvrel} |
24 |
|
|
%ifarch %{ix86} |
25 |
|
|
BuildRequires: kernel-desktop586-devel-%{kernver}-%{kernrel} |
26 |
|
|
%endif |
27 |
|
|
BuildRequires: kernel-desktop-devel-%{kernver}-%{kernrel} |
28 |
|
|
BuildRequires: kernel-netbook-devel-%{kernver}-%{kernrel} |
29 |
|
|
BuildRequires: kernel-server-devel-%{kernver}-%{kernrel} |
30 |
|
|
BuildRequires: kernel-xen-pvops-devel-%{kernver}-%{kernrel} |
31 |
|
|
|
32 |
|
|
%description |
33 |
|
|
This package creates prebuilt %{drvname} kernel modules for core kernel. |
34 |
|
|
|
35 |
|
|
|
36 |
|
|
|
37 |
|
|
##### mkflavour() ala core kernel ##### |
38 |
|
|
%define mkflavour() \ |
39 |
tmb |
196312 |
%package -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ |
40 |
tmb |
187882 |
Summary: %{drvname} driver for kernel-%{1}-%{kernver}-%{kernrel} \ |
41 |
|
|
License: Commercial \ |
42 |
tmb |
188262 |
URL: http://www.nvidia.com/object/unix.html \ |
43 |
tmb |
187882 |
Group: System/Kernel and hardware \ |
44 |
|
|
Requires(post): dkms-minimal \ |
45 |
|
|
Requires(preun): dkms-minimal \ |
46 |
|
|
Requires: kernel-%{1}-%{kernver}-%{kernrel} \ |
47 |
|
|
Requires(post): kernel-%{1}-%{kernver}-%{kernrel} \ |
48 |
|
|
Requires(preun): kernel-%{1}-%{kernver}-%{kernrel} \ |
49 |
|
|
Suggests: %{drvname}-kernel-%{1}-latest \ |
50 |
|
|
%ifarch %{ix86} \ |
51 |
|
|
Conflicts: arch(x86_64) \ |
52 |
|
|
%endif \ |
53 |
|
|
\ |
54 |
tmb |
196312 |
%description -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ |
55 |
tmb |
187882 |
Prebuilt dkms binary kernel modules for the %{drvname} driver version %{drvver} \ |
56 |
|
|
built for kernel-%{1}-%{kernver}-%{kernrel}. \ |
57 |
|
|
\ |
58 |
tmb |
196312 |
%files -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ |
59 |
tmb |
187882 |
%dir /var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel} \ |
60 |
|
|
/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-%{1}-%{kernrel}/* \ |
61 |
|
|
\ |
62 |
tmb |
196312 |
%post -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ |
63 |
tmb |
187882 |
%{_sbindir}/dkms install --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \ |
64 |
|
|
%{_sbindir}/dkms status -m %{drvname} -v %{drvver}-%{drvrel} \ |
65 |
|
|
\ |
66 |
tmb |
196312 |
%preun -n %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} \ |
67 |
tmb |
187882 |
%{_sbindir}/dkms uninstall --binary -m %{drvname} -v %{drvver}-%{drvrel} -k %{kernver}-%{1}-%{kernrel} --rpm_safe_upgrade \ |
68 |
|
|
\ |
69 |
|
|
\ |
70 |
|
|
%package -n %{drvname}-kernel-%{1}-latest \ |
71 |
|
|
Summary: Virtual rpm for latest %{drvname}-kernel-%{1} driver \ |
72 |
|
|
License: Commercial \ |
73 |
tmb |
188262 |
URL: http://www.nvidia.com/object/unix.html \ |
74 |
tmb |
187882 |
Group: System/Kernel and hardware \ |
75 |
tmb |
196312 |
Requires: %{drvname}-kernel-%{kernver}-%{1}-%{kernrel} = %{version}-%{release} \ |
76 |
tmb |
187882 |
%ifarch %{ix86} \ |
77 |
|
|
Conflicts: arch(x86_64) \ |
78 |
|
|
%endif \ |
79 |
|
|
\ |
80 |
|
|
%description -n %{drvname}-kernel-%{1}-latest \ |
81 |
|
|
This package is a virtual rpm that aims to make sure you always have the \ |
82 |
|
|
latest prebuilt %{drvname} driver for kernel-%{1}. \ |
83 |
|
|
\ |
84 |
|
|
%files -n %{drvname}-kernel-%{1}-latest |
85 |
|
|
|
86 |
|
|
%ifarch %{ix86} |
87 |
|
|
%mkflavour desktop586 |
88 |
|
|
%endif |
89 |
|
|
|
90 |
|
|
%mkflavour desktop |
91 |
|
|
%mkflavour netbook |
92 |
|
|
%mkflavour server |
93 |
|
|
%mkflavour xen-pvops |
94 |
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
|
|
%prep |
98 |
|
|
rm -rf %{topdir} |
99 |
|
|
|
100 |
|
|
%build |
101 |
|
|
%{_sbindir}/dkms add -m %{drvname} -v %{drvver}-%{drvrel} --dkmstree %{topdir}/var/lib/dkms-binary |
102 |
|
|
%ifarch %{ix86} |
103 |
|
|
%{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \ |
104 |
|
|
-k %{kernver}-desktop586-%{kernrel} --kernelsourcedir /usr/src/linux-%{kernver}-desktop586-%{kernrel} \ |
105 |
|
|
--dkmstree %{topdir}/var/lib/dkms-binary |
106 |
|
|
%endif |
107 |
|
|
for flavour in desktop netbook server xen-pvops; do |
108 |
|
|
%{_sbindir}/dkms build --no-prepare-kernel --no-clean-kernel -m %{drvname} -v %{drvver}-%{drvrel} \ |
109 |
|
|
-k %{kernver}-$flavour-%{kernrel} --kernelsourcedir /usr/src/linux-%{kernver}-$flavour-%{kernrel} \ |
110 |
|
|
--dkmstree %{topdir}/var/lib/dkms-binary |
111 |
|
|
done |
112 |
|
|
|
113 |
|
|
%install |
114 |
|
|
mkdir -p %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel} |
115 |
|
|
cp -a %{topdir}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel} \ |
116 |
|
|
%{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/ |
117 |
|
|
for dir in %{buildroot}/var/lib/dkms-binary/%{drvname}/%{drvver}-%{drvrel}/%{kernver}-*-%{kernrel}; do |
118 |
|
|
cp -a /usr/src/%{drvname}-%{drvver}-%{drvrel}/dkms.conf $dir/ |
119 |
|
|
gzip -9 $dir/*/module/%{drvname}.ko |
120 |
|
|
done |