[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