[packages/nvidiabl] add dkms-nvidiabl package, bcond off for now

glen glen at pld-linux.org
Tue Feb 19 23:35:16 CET 2013


commit e89566183415a08310c6291a67555878da4e3350
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Wed Feb 20 00:33:47 2013 +0200

    add dkms-nvidiabl package, bcond off for now
    
    nvidiabl kernel module can be installed via dkms

 nvidiabl-dkmsconf.patch | 20 ++++++++++++++++
 nvidiabl.spec           | 63 +++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 79 insertions(+), 4 deletions(-)
---
diff --git a/nvidiabl.spec b/nvidiabl.spec
index 7479e74..fc41c1a 100644
--- a/nvidiabl.spec
+++ b/nvidiabl.spec
@@ -1,21 +1,24 @@
 #
 # Conditional build:
 %bcond_without	dist_kernel	# allow non-distribution kernel
+%bcond_without	kernel		# don't build kernel modules
 %bcond_with	verbose		# verbose build (V=1)
+%bcond_with	dkms	# build dkms package
 
 # nothing to be placed to debuginfo package
 %define		_enable_debug_packages	0
 
 %define		rel	2
-%define		pname	nvidiabl
+%define		modname	nvidiabl
 Summary:	Linux driver for nVidia display back-lights
-Name:		%{pname}%{_alt_kernel}
+Name:		%{modname}%{_alt_kernel}
 Version:	0.81
 Release:	%{rel}
 License:	GPL v2+
 URL:		https://github.com/guillaumezin/nvidiabl
-Source0:	https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{pname}-%{version}.tgz
+Source0:	https://github.com/guillaumezin/nvidiabl/archive/v%{version}.tar.gz?/%{modname}-%{version}.tgz
 # Source0-md5:	f72d90c0fe34b36a0ff3b6d7034e99c4
+Patch0:		nvidiabl-dkmsconf.patch
 Group:		Base/Kernel
 %{?with_dist_kernel:BuildRequires:	kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
 BuildRequires:	rpmbuild(macros) >= 1.379
@@ -30,6 +33,30 @@ adjust the display backlight.
 On Apple machines this driver allows more fine-grained brightness
 adjustment than the (mbp_nvidia_bl) driver and is generally preferred.
 
+%package -n dkms-%{modname}
+Summary:	DKMS-ready driver for nVidia display back-lights
+License:	GPL v2+
+Group:		Base/Kernel
+Requires(pre):	dkms
+Requires(post):	dkms
+%if "%{_rpmversion}" >= "5"
+BuildArch:	noarch
+%endif
+
+%description -n dkms-%{modname}
+This package contains a DKMS-ready driver for nvidia laptop display
+back-lights.
+
+This driver drives the smartdimmer register found on modern mobile
+Nvidia graphics adapters such as NV40, NV41, NV43, NV44, NV46, NV47,
+NV49, NV4B, C51, G84, G86, G92, G94, G96, GT200 architectures to
+adjust the display backlight.
+
+On Apple machines this driver allows more fine-grained brightness
+adjustment than the mbp-nvidia-bl-dkms (mbp_nvidia_bl) driver and is
+generally preferred.
+
+
 %package -n kernel%{_alt_kernel}-video-nvidiabl
 Summary:	Linux driver for nVidia display back-lights
 Summary(pl.UTF-8):	Sterownik dla Linuksa do nvidiabl
@@ -56,24 +83,52 @@ Sterownik dla Linuksa do nvidiabl.
 Ten pakiet zawiera moduł jądra Linuksa.
 
 %prep
-%setup -qn %{pname}-%{version}
+%setup -qn %{modname}-%{version}
+%patch0 -p1
 
 %build
+%if %{with kernel}
 %build_kernel_modules -m nvidiabl
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
+%if %{with kernel}
 %install_kernel_modules -m nvidiabl -d misc
+%endif
+
+%if %{with dkms}
+install -d $RPM_BUILD_ROOT%{_usrsrc}/%{modname}-%{version}-%{rel}
+cp -a Makefile *.[ch] $RPM_BUILD_ROOT%{_usrsrc}/%{modname}-%{version}-%{rel}
+sed -e 's|@MODNAME@|%{modname}|g' -e 's|@MODVERSION@|%{version}-%{rel}|g' \
+	dkms.conf > $RPM_BUILD_ROOT%{_usrsrc}/%{modname}-%{version}-%{rel}/dkms.conf
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post -n dkms-%{modname}
+%{_sbindir}/dkms add -m %{modname} -v %{version}-%{rel} --rpm_safe_upgrade && \
+%{_sbindir}/dkms build -m %{modname} -v %{version}-%{rel} --rpm_safe_upgrade && \
+%{_sbindir}/dkms install -m %{modname} -v %{version}-%{rel} --rpm_safe_upgrade || :
+
+%preun -n dkms-%{modname}
+%{_sbindir}/dkms remove -m %{modname} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
+
 %post	-n kernel%{_alt_kernel}-video-nvidiabl
 %depmod %{_kernel_ver}
 
 %postun	-n kernel%{_alt_kernel}-video-nvidiabl
 %depmod %{_kernel_ver}
 
+%if %{with dkms}
+%files -n dkms-%{modname}
+%defattr(644,root,root,755)
+%{_usrsrc}/%{modname}-%{version}-%{rel}
+%endif
+
+%if %{with kernel}
 %files -n kernel%{_alt_kernel}-video-nvidiabl
 %defattr(644,root,root,755)
 /lib/modules/%{_kernel_ver}/misc/*.ko*
+%endif
diff --git a/nvidiabl-dkmsconf.patch b/nvidiabl-dkmsconf.patch
new file mode 100644
index 0000000..60faa43
--- /dev/null
+++ b/nvidiabl-dkmsconf.patch
@@ -0,0 +1,20 @@
+--- a/dkms.conf.orig	2012-04-25 16:45:00.714343002 +0200
++++ a/dkms.conf	2012-04-25 16:46:55.833343001 +0200
+@@ -1,13 +1,13 @@
+ DEST_MODULE_LOCATION[0]="/kernel/drivers/video/backlight"
+-PACKAGE_NAME="nvidiabl"
+-PACKAGE_VERSION="0.81"
++PACKAGE_NAME="@MODNAME@"
++PACKAGE_VERSION="@MODVERSION@"
+ CLEAN="make -C ${kernel_source_dir} SUBDIRS=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
+ BUILT_MODULE_NAME[0]="${PACKAGE_NAME}"
+-MODULES_CONF[0]="# Prevent conflicts with nvidiabl"
++MODULES_CONF[0]="# Prevent conflicts with @MODNAME@"
+ MODULES_CONF[1]="blacklist nvidia_bl"
+ MODULES_CONF[2]="blacklist nvbacklight"
+ MODULES_CONF[3]="blacklist mbp_nvidia_bl"
+-MODULES_CONF[4]="# End of entries added for nvidiabl"
++MODULES_CONF[4]="# End of entries added for @MODNAME@"
+ MAKE[0]="make -C ${kernel_source_dir} SUBDIRS=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build modules"
+ REMAKE_INITRD="no"
+ AUTOINSTALL="yes"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/nvidiabl.git/commitdiff/e89566183415a08310c6291a67555878da4e3350



More information about the pld-cvs-commit mailing list