3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_with verbose # verbose build (V=1)
5 %bcond_with 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 Name: %{pname}%{_alt_kernel}
31 Release: %{rel}%{?_pld_builder:@%{_kernel_ver_str}}
33 URL: https://github.com/guillaumezin/nvidiabl
34 Source0: https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{pname}-%{version}.tgz
35 # Source0-md5: f72d90c0fe34b36a0ff3b6d7034e99c4
36 Source1: modprobe.conf
37 Patch0: nvidiabl-dkmsconf.patch
39 BuildRequires: rpmbuild(macros) >= 1.678
40 %{?with_dist_kernel:%{expand:%kbrs}}
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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.
49 On Apple machines this driver allows more fine-grained brightness
50 adjustment than the (mbp_nvidia_bl) driver and is generally preferred.
52 %package -n dkms-%{pname}
53 Summary: DKMS-ready driver for nVidia display back-lights
58 %if "%{_rpmversion}" >= "5"
62 %description -n dkms-%{pname}
63 This package contains a DKMS-ready driver for nvidia laptop display
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.
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
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}\
81 Requires(post,postun): /sbin/depmod\
82 %if %{with dist_kernel}\
83 %requires_releq_kernel\
84 Requires(postun): %releq_kernel\
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.\
93 On Apple machines this driver allows more fine-grained brightness\
94 adjustment than the (mbp_nvidia_bl) driver and is generally preferred.\
96 %description -n kernel%{_alt_kernel}-video-nvidiabl -l pl.UTF-8\
97 Sterownik dla Linuksa do nvidiabl.\
99 Ten pakiet zawiera moduł jądra Linuksa.\
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\
106 %post -n kernel%{_alt_kernel}-video-nvidiabl\
107 %depmod %{_kernel_ver}\
109 %postun -n kernel%{_alt_kernel}-video-nvidiabl\
110 %depmod %{_kernel_ver}\
113 %define build_kernel_pkg()\
114 %build_kernel_modules -m nvidiabl\
115 %install_kernel_modules -D installed -m nvidiabl -d misc\
121 %setup -qn %{pname}-%{version}
128 rm -rf $RPM_BUILD_ROOT
129 install -d $RPM_BUILD_ROOT/etc/modprobe.d
131 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/modprobe.d/%{pname}.conf
132 cp -a installed/* $RPM_BUILD_ROOT
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
142 rm -rf $RPM_BUILD_ROOT
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 || :
149 %preun -n dkms-%{pname}
150 %{_sbindir}/dkms remove -m %{pname} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
153 %files -n dkms-%{pname}
154 %defattr(644,root,root,755)
155 %{_usrsrc}/%{pname}-%{version}-%{rel}