3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without verbose # verbose build (V=1)
5 %bcond_without dkms # build dkms package
7 %if "%{_alt_kernel}" != "%{nil}"
8 %if 0%{?build_kernels:1}
9 %{error:alt_kernel and build_kernels are mutually exclusive}
12 %global _build_kernels %{alt_kernel}
14 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
20 %define _duplicate_files_terminate_build 0
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)
27 %define pname nvidiabl
28 Summary: Linux driver for nVidia display back-lights
29 Summary(pl.UTF-8): Sterownik dla Linuksa do podświetlania wyświetlacza dla kart firmy nVidia
30 Name: %{pname}%{_alt_kernel}
32 Release: %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
35 Source0: https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{pname}-%{version}.tgz
36 Source1: modprobe.conf
37 Patch0: nvidiabl-dkmsconf.patch
38 # Source0-md5: e9418d3e500172d79680e44ad0f85743
39 URL: https://github.com/guillaumezin/nvidiabl
40 BuildRequires: rpmbuild(macros) >= 1.678
41 %{?with_dist_kernel:%{expand:%kbrs}}
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 This driver drives the smartdimmer register found on modern mobile
46 nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,
47 NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to
48 adjust the display backlight.
50 On Apple machines this driver allows more fine-grained brightness
51 adjustment than the (mbp_nvidia_bl) driver and is generally preferred.
53 %description -l pl.UTF-8
54 Ten sterownik steruje rejestrem "smartdimmer" obecnym we współczesnych
55 mobilnych kartach graficznych firmy nVidia (takich jak architektury
56 NV40, NV41, NV43, NV44, NV46, NV47, NV49, NV4B, C51, G84, G86, G92,
57 G94, G96, GT200), służącym do regulacji podświetlenia wyświetlacza.
59 Na komputerach firmy Apple ten sterownik pozwala na dokładniejsze
60 ustawianie jasności niż sterownik mbp_nvidia_bl i ogólnie jest
63 %package -n dkms-%{pname}
64 Summary: DKMS-ready driver for nVidia display back-lights
65 Summary(pl.UTF-8): Sterownik zgodny z DKMS do podświetlania wyświetlacza dla kart firmy nVidia
68 Requires(pre,post): dkms
69 %if "%{_rpmversion}" >= "5"
73 %description -n dkms-%{pname}
74 This package contains a DKMS-ready driver for nVidia laptop display
77 This driver drives the smartdimmer register found on modern mobile
78 Nvidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,
79 NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to
80 adjust the display backlight.
82 On Apple machines this driver allows more fine-grained brightness
83 adjustment than the mbp-nvidia-bl-dkms (mbp_nvidia_bl) driver and is
86 %description -n dkms-%{pname} -l pl.UTF-8
87 Ten pakiet zawiera zgodny z DKMS sterownik do podświetlania
88 wyświetlacza laptopów z kartą graficzną firmy nVidia.
90 Ten sterownik steruje rejestrem "smartdimmer" obecnym we współczesnych
91 mobilnych kartach graficznych firmy nVidia (takich jak architektury
92 NV40, NV41, NV43, NV44, NV46, NV47, NV49, NV4B, C51, G84, G86, G92,
93 G94, G96, GT200), służącym do regulacji podświetlenia wyświetlacza.
95 Na komputerach firmy Apple ten sterownik pozwala na dokładniejsze
96 ustawianie jasności niż sterownik mbp_nvidia_bl i ogólnie jest
100 %package -n kernel%{_alt_kernel}-video-nvidiabl\
101 Summary: Linux driver for nVidia display back-lights\
102 Summary(pl.UTF-8): Sterownik dla Linuksa do podświetlania wyświetlacza dla kart firmy nVidia\
103 Release: %{rel}@%{_kernel_ver_str}\
105 Requires(post,postun): /sbin/depmod\
106 %if %{with dist_kernel}\
107 %requires_releq_kernel\
108 Requires(postun): %releq_kernel\
111 %description -n kernel%{_alt_kernel}-video-nvidiabl\
112 This driver drives the smartdimmer register found on modern mobile\
113 nVidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,\
114 NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to\
115 adjust the display backlight.\
117 On Apple machines this driver allows more fine-grained brightness\
118 adjustment than the (mbp_nvidia_bl) driver and is generally preferred.\
120 %description -n kernel%{_alt_kernel}-video-nvidiabl -l pl.UTF-8\
121 Ten sterownik steruje rejestrem "smartdimmer" obecnym we współczesnych\
122 mobilnych kartach graficznych firmy nVidia (takich jak architektury\
123 NV40, NV41, NV43, NV44, NV46, NV47, NV49, NV4B, C51, G84, G86, G92,\
124 G94, G96, GT200), służącym do regulacji podświetlenia wyświetlacza.\
126 Na komputerach firmy Apple ten sterownik pozwala na dokładniejsze\
127 ustawianie jasności niż sterownik mbp_nvidia_bl i ogólnie jest\
130 %files -n kernel%{_alt_kernel}-video-nvidiabl\
131 %defattr(644,root,root,755)\
132 /lib/modules/%{_kernel_ver}/misc/*.ko*\
133 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/%{pname}.conf\
135 %post -n kernel%{_alt_kernel}-video-nvidiabl\
136 %depmod %{_kernel_ver}\
138 %postun -n kernel%{_alt_kernel}-video-nvidiabl\
139 %depmod %{_kernel_ver}\
142 %define build_kernel_pkg()\
143 %build_kernel_modules -m nvidiabl\
144 %install_kernel_modules -D installed -m nvidiabl -d misc\
150 %setup -qn %{pname}-%{version}
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT/etc/modprobe.d
160 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
161 cp -a installed/* $RPM_BUILD_ROOT
164 install -d $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
165 cp -p Makefile *.[ch] $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}
166 sed -e 's|@pname@|%{pname}|g' -e 's|@MODVERSION@|%{version}-%{rel}|g' \
167 dkms.conf > $RPM_BUILD_ROOT%{_usrsrc}/%{pname}-%{version}-%{rel}/dkms.conf
171 rm -rf $RPM_BUILD_ROOT
173 %post -n dkms-%{pname}
174 %{_sbindir}/dkms add -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
175 %{_sbindir}/dkms build -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade && \
176 %{_sbindir}/dkms install -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade || :
178 %preun -n dkms-%{pname}
179 %{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
182 %files -n dkms-%{pname}
183 %defattr(644,root,root,755)
184 %{_usrsrc}/%{pname}-%{version}-%{rel}