]>
Commit | Line | Data |
---|---|---|
4ce7c5cd ER |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without dist_kernel # allow non-distribution kernel | |
4 | %bcond_with verbose # verbose build (V=1) | |
e8956618 | 5 | %bcond_with dkms # build dkms package |
4ce7c5cd | 6 | |
0406611b JR |
7 | %if "%{_alt_kernel}" != "%{nil}" |
8 | %if 0%{?build_kernels:1} | |
9 | %{error:alt_kernel and build_kernels are mutually exclusive} | |
10 | exit 1 | |
11 | %endif | |
12 | %global _build_kernels %{alt_kernel} | |
13 | %else | |
14 | %global _build_kernels %{?build_kernels:,%{?build_kernels}} | |
15 | %endif | |
16 | ||
4ce7c5cd ER |
17 | # nothing to be placed to debuginfo package |
18 | %define _enable_debug_packages 0 | |
19 | ||
0406611b JR |
20 | %define _duplicate_files_terminate_build 0 |
21 | ||
22 | %define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done) | |
23 | %define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done) | |
24 | %define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done) | |
25 | ||
26 | %define rel 29 | |
27 | %define pname nvidiabl | |
4ce7c5cd | 28 | Summary: Linux driver for nVidia display back-lights |
0406611b | 29 | Name: %{pname}%{_alt_kernel} |
4ce7c5cd | 30 | Version: 0.81 |
0406611b | 31 | Release: %{rel}%{?_pld_builder:@%{_kernel_ver_str}} |
4ce7c5cd ER |
32 | License: GPL v2+ |
33 | URL: https://github.com/guillaumezin/nvidiabl | |
0406611b | 34 | Source0: https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{pname}-%{version}.tgz |
4ce7c5cd | 35 | # Source0-md5: f72d90c0fe34b36a0ff3b6d7034e99c4 |
b08319f7 | 36 | Source1: modprobe.conf |
e8956618 | 37 | Patch0: nvidiabl-dkmsconf.patch |
4ce7c5cd | 38 | Group: Base/Kernel |
0406611b JR |
39 | BuildRequires: rpmbuild(macros) >= 1.678 |
40 | %{?with_dist_kernel:%{expand:%kbrs}} | |
4ce7c5cd ER |
41 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
42 | ||
43 | %description | |
44 | This driver drives the smartdimmer register found on modern mobile | |
45 | nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47, | |
46 | NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to | |
47 | adjust the display backlight. | |
48 | ||
49 | On Apple machines this driver allows more fine-grained brightness | |
50 | adjustment than the (mbp_nvidia_bl) driver and is generally preferred. | |
51 | ||
0406611b | 52 | %package -n dkms-%{pname} |
e8956618 ER |
53 | Summary: DKMS-ready driver for nVidia display back-lights |
54 | License: GPL v2+ | |
55 | Group: Base/Kernel | |
56 | Requires(pre): dkms | |
57 | Requires(post): dkms | |
58 | %if "%{_rpmversion}" >= "5" | |
59 | BuildArch: noarch | |
60 | %endif | |
61 | ||
0406611b | 62 | %description -n dkms-%{pname} |
e8956618 ER |
63 | This package contains a DKMS-ready driver for nvidia laptop display |
64 | back-lights. | |
65 | ||
66 | This driver drives the smartdimmer register found on modern mobile | |
67 | Nvidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47, | |
68 | NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to | |
69 | adjust the display backlight. | |
70 | ||
71 | On Apple machines this driver allows more fine-grained brightness | |
72 | adjustment than the mbp-nvidia-bl-dkms (mbp_nvidia_bl) driver and is | |
73 | generally preferred. | |
74 | ||
0406611b JR |
75 | %define kernel_pkg()\ |
76 | %package -n kernel%{_alt_kernel}-video-nvidiabl\ | |
77 | Summary: Linux driver for nVidia display back-lights\ | |
78 | Summary(pl.UTF-8): Sterownik dla Linuksa do nvidiabl\ | |
79 | Release: %{rel}@%{_kernel_ver_str}\ | |
80 | Group: Base/Kernel\ | |
81 | Requires(post,postun): /sbin/depmod\ | |
82 | %if %{with dist_kernel}\ | |
83 | %requires_releq_kernel\ | |
84 | Requires(postun): %releq_kernel\ | |
85 | %endif\ | |
86 | \ | |
87 | %description -n kernel%{_alt_kernel}-video-nvidiabl\ | |
88 | This driver drives the smartdimmer register found on modern mobile\ | |
89 | nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,\ | |
90 | NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to\ | |
91 | adjust the display backlight.\ | |
92 | \ | |
93 | On Apple machines this driver allows more fine-grained brightness\ | |
94 | adjustment than the (mbp_nvidia_bl) driver and is generally preferred.\ | |
95 | \ | |
96 | %description -n kernel%{_alt_kernel}-video-nvidiabl -l pl.UTF-8\ | |
97 | Sterownik dla Linuksa do nvidiabl.\ | |
98 | \ | |
99 | Ten pakiet zawiera moduł jądra Linuksa.\ | |
100 | \ | |
101 | %files -n kernel%{_alt_kernel}-video-nvidiabl\ | |
102 | %defattr(644,root,root,755)\ | |
103 | /lib/modules/%{_kernel_ver}/misc/*.ko*\ | |
104 | %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/%{pname}.conf\ | |
105 | \ | |
106 | %post -n kernel%{_alt_kernel}-video-nvidiabl\ | |
107 | %depmod %{_kernel_ver}\ | |
108 | \ | |
109 | %postun -n kernel%{_alt_kernel}-video-nvidiabl\ | |
110 | %depmod %{_kernel_ver}\ | |
111 | %{nil} | |
112 | ||
113 | %define build_kernel_pkg()\ | |
114 | %build_kernel_modules -m nvidiabl\ | |
115 | %install_kernel_modules -D installed -m nvidiabl -d misc\ | |
116 | %{nil} | |
117 | ||
118 | %{expand:%kpkg} | |
4ce7c5cd ER |
119 | |
120 | %prep | |
0406611b | 121 | %setup -qn %{pname}-%{version} |
e8956618 | 122 | %patch0 -p1 |
4ce7c5cd ER |
123 | |
124 | %build | |
0406611b | 125 | %{expand:%bkpkg} |
4ce7c5cd ER |
126 | |
127 | %install | |
128 | rm -rf $RPM_BUILD_ROOT | |
2b4d907b | 129 | install -d $RPM_BUILD_ROOT/etc/modprobe.d |
0406611b JR |
130 | |
131 | cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf | |
132 | cp -a installed/* $RPM_BUILD_ROOT | |
e8956618 ER |
133 | |
134 | %if %{with dkms} | |
0406611b JR |
135 | install -d $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel} |
136 | cp -p Makefile *.[ch] $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel} | |
137 | sed -e 's|@pname@|%{pname}|g' -e 's|@MODVERSION@|%{version}-%{rel}|g' \ | |
138 | dkms.conf > $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}/dkms.conf | |
e8956618 | 139 | %endif |
4ce7c5cd ER |
140 | |
141 | %clean | |
142 | rm -rf $RPM_BUILD_ROOT | |
143 | ||
0406611b JR |
144 | %post -n dkms-%{pname} |
145 | %{_sbindir}/dkms add -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \ | |
146 | %{_sbindir}/dkms build -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \ | |
147 | %{_sbindir}/dkms install -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade || : | |
4ce7c5cd | 148 | |
0406611b JR |
149 | %preun -n dkms-%{pname} |
150 | %{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || : | |
4ce7c5cd | 151 | |
e8956618 | 152 | %if %{with dkms} |
0406611b | 153 | %files -n dkms-%{pname} |
4ce7c5cd | 154 | %defattr(644,root,root,755) |
0406611b | 155 | %{_usrsrc}/%{pname}-%{version}-%{rel} |
e8956618 | 156 | %endif |