[svn] r4814 - trunk/rpms/nvidia-x11-drv
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Wed Oct 11 15:53:22 CEST 2006
Author: thias
Date: 2006-10-11 15:53:21 +0200 (Wed, 11 Oct 2006)
New Revision: 4814
Modified:
trunk/rpms/nvidia-x11-drv/nvidia-config-display
trunk/rpms/nvidia-x11-drv/nvidia-x11-drv.spec
Log:
Update to the 1.0-9625 beta drivers and major nvidia-x11-drv enhancements.
Modified: trunk/rpms/nvidia-x11-drv/nvidia-config-display
===================================================================
--- trunk/rpms/nvidia-x11-drv/nvidia-config-display 2006-10-10 13:54:31 UTC (rev 4813)
+++ trunk/rpms/nvidia-x11-drv/nvidia-config-display 2006-10-11 13:53:21 UTC (rev 4814)
@@ -76,26 +76,6 @@
files.module = string.join(newModPath, ",")
#
-# Adds a module to the Modules section.
-# The module will only be listed once.
-#
-def addModule(modules, moduleName):
- m = ixf86config.XF86ConfLoad()
- m.name = moduleName
- removeModule(modules, moduleName)
- modules.load.insert(m)
-
-#
-# Removes a module from the Modules section.
-#
-def removeModule(modules, moduleName):
- i = 0
- for m in modules.load:
- if (m.name.lower() == moduleName.lower()):
- modules.load.remove(i)
- i += 1
-
-#
# Set driver to newDriver where
# if driver is oldDriver
#
@@ -108,7 +88,7 @@
print "Error:", err
def printUsage():
- print "Usage: nvidia-config-display enable | disable"
+ print "Usage: nvidia-config-display [enable|disable]"
# ------------
# Main section
@@ -146,24 +126,18 @@
printError("Cannot write backup file")
sys.exit(1)
else:
- printError("Cannot open X config file")
+ printError("Cannot open X config file (missing or malformed)")
sys.exit(1)
try:
if (arg == "enable"):
# Enable nvidia driver:
- # Add nvidia module path, disable dri and GLcore modules
- # make sure glx is enabled and change driver to 'nvidia'
+ # Add nvidia module path and change driver to 'nvidia'
addModulePath(xconfig.files, "/extensions/nvidia")
- removeModule(xconfig.modules, "dri")
- removeModule(xconfig.modules, "GLcore")
- addModule(xconfig.modules, "glx")
toggleDriver(xconfig.device, "nv", "nvidia")
elif (arg == "disable"):
# Disable nvidia driver:
- # Remove nvidia module path, enable dri module
- # and change driver to 'nv'
+ # Remove nvidia module path and change driver to 'nv'
removeModulePath(xconfig.files, "/extensions/nvidia")
- addModule(xconfig.modules, "dri")
toggleDriver(xconfig.device, "nvidia", "nv")
else:
# This shouldn't happen, but we handle it anyway
Modified: trunk/rpms/nvidia-x11-drv/nvidia-x11-drv.spec
===================================================================
--- trunk/rpms/nvidia-x11-drv/nvidia-x11-drv.spec 2006-10-10 13:54:31 UTC (rev 4813)
+++ trunk/rpms/nvidia-x11-drv/nvidia-x11-drv.spec 2006-10-11 13:53:21 UTC (rev 4814)
@@ -3,16 +3,17 @@
# Dist: nodist
%define majmin 1.0
-%define relver 8774
+%define relver 9625
%define nvidialibdir %{_libdir}/nvidia
%define nvidialib32dir %{_prefix}/lib/nvidia
+%define desktop_vendor rpmforge
%define debug_package %{nil}
Summary: Proprietary NVIDIA hardware accelerated OpenGL driver
Name: nvidia-x11-drv
Version: %{majmin}.%{relver}
-Release: 3
+Release: 2
License: Proprietary
Group: User Interface/X Hardware Support
URL: http://www.nvidia.com/object/unix.html
@@ -29,6 +30,8 @@
Requires: gcc
Requires(post): dkms, /sbin/ldconfig
Requires(preun): dkms
+# Required by the nvidia-config-display utility/script
+Requires: pyxf86config
# Required by the NVIDIA run file
Buildrequires: tar
# Required for our build
@@ -63,6 +66,9 @@
sh %{SOURCE1} --extract-only --target pkg/
%endif
+# Fix for FC6 kernels
+%{__perl} -pi -e 's|#include <linux/config.h>||g' pkg/usr/src/nv/nv-linux.h
+
%define dkms_name nvidia
%define dkms_vers %{version}-%{release}
%define quiet -q
@@ -88,16 +94,16 @@
%{__mkdir_p} %{buildroot}/%{nvidialibdir}/
%{__install} -p -m 0755 pkg/usr/X11R6/lib/libXvMCNVIDIA.so.* \
%{buildroot}/%{nvidialibdir}/
-#{__install} -p -m 0644 pkg/usr/X11R6/lib/libXvMCNVIDIA.a \
-# %{buildroot}/%{nvidialibdir}/
+%{__install} -p -m 0644 pkg/usr/X11R6/lib/libXvMCNVIDIA.a \
+ %{buildroot}/%{nvidialibdir}/
# Install X driver and extension (is the nvidia_drv.o useful?)
-%{__mkdir_p} %{buildroot}%{_libdir}/xorg/modules/drivers/nvidia/
-%{__install} -p -m 0644 pkg/usr/X11R6/lib/modules/drivers/*.so \
+%{__mkdir_p} %{buildroot}%{_libdir}/xorg/modules/drivers/
+%{__install} -p -m 0755 pkg/usr/X11R6/lib/modules/drivers/nvidia_drv.so \
%{buildroot}%{_libdir}/xorg/modules/drivers/
%{__mkdir_p} %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia/
%{__install} -p -m 0755 pkg/usr/X11R6/lib/modules/extensions/libglx.so.%{version} \
- %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia/
+ %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia/libglx.so
# Install GL and tls libs
%{__mkdir_p} %{buildroot}/%{nvidialibdir}/tls/
@@ -107,7 +113,7 @@
%{buildroot}/%{nvidialibdir}/tls/
%ifarch x86_64
-# Install compat GL and tls libs
+# Install 32bit compat GL and tls libs
%{__mkdir_p} %{buildroot}/%{nvidialib32dir}/tls/
%{__install} -p -m 0755 pkg/usr/lib/*.so.%{version} \
%{buildroot}/%{nvidialib32dir}/
@@ -116,7 +122,6 @@
%endif
# Create .so symlinks
-# (what was that libXvMCNVIDIA_dynamic for?)
for libname in libGLcore libGL libnvidia-cfg libnvidia-tls tls/libnvidia-tls; do
%{__ln_s} `basename ${libname}`.so.%{version} \
%{buildroot}/%{nvidialibdir}/${libname}.so.1
@@ -131,8 +136,6 @@
%{buildroot}/%{nvidialib32dir}/${libname}.so
done
%endif
-%{__ln_s} libglx.so.%{version} \
- %{buildroot}/%{_libdir}/xorg/modules/extensions/nvidia/libglx.so
# Install useful nvidia tools
%{__mkdir_p} %{buildroot}%{_bindir}/
@@ -149,9 +152,15 @@
%{__install} -p -m 0644 pkg/usr/share/pixmaps/nvidia-settings.png \
%{buildroot}%{_datadir}/pixmaps/
+# Remove "__UTILS_PATH__/" before the Exec command name
+# Replace "__PIXMAP_PATH__/" with the proper pixmaps path
+%{__perl} -pi -e 's|(Exec=).*/(.*)|$1$2|g;
+ s|(Icon=).*/(.*)|$1%{_datadir}/pixmaps/$2|g' \
+ pkg/usr/share/applications/nvidia-settings.desktop
+
# Desktop entry for nvidia-settings
%{__mkdir_p} %{buildroot}%{_datadir}/applications/
-desktop-file-install --vendor none \
+desktop-file-install --vendor %{desktop_vendor} \
--dir %{buildroot}/%{_datadir}/applications/ \
--add-category System \
--add-category Application \
@@ -164,7 +173,10 @@
# Install ld.so.conf.d file
%{__mkdir_p} %{buildroot}%{_sysconfdir}/ld.so.conf.d/
-echo %{nvidialibdir} > %{buildroot}%{_sysconfdir}/ld.so.conf.d/nvidia.conf
+echo %{nvidialibdir} > %{buildroot}%{_sysconfdir}/ld.so.conf.d/nvidia.conf
+%ifarch x86_64
+echo %{nvidialib32dir} >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/nvidia.conf
+%endif
# Install profile.d files
%{__install} -D -p -m 0755 %{SOURCE2} \
@@ -183,6 +195,12 @@
%post
/sbin/ldconfig
+# Make sure we have a Files section in xorg.conf, otherwise create an empty one
+XORGCONF=/etc/X11/xorg.conf
+[ -w ${XORGCONF} ] && ! grep -q 'Section "Files"' ${XORGCONF} && \
+ echo -e 'Section "Files"\nEndSection' >> ${XORGCONF}
+# Enable the proprietary driver
+%{_sbindir}/nvidia-config-display enable || :
# Add to DKMS registry
dkms add -m %{dkms_name} -v %{dkms_vers} %{?quiet} || :
# Rebuild and make available for the currenty running kernel
@@ -192,6 +210,10 @@
%preun
# Remove all versions from DKMS registry
dkms remove -m %{dkms_name} -v %{dkms_vers} %{?quiet} --all || :
+# Last removal, disable the proprietary driver
+if [ $1 -eq 0 ]; then
+ %{_sbindir}/nvidia-config-display disable || :
+fi
%postun -p /sbin/ldconfig
@@ -202,16 +224,17 @@
# Kernel and dkms related bits
%config %{_sysconfdir}/modprobe.d/nvidia
%{_usrsrc}/%{dkms_name}-%{dkms_vers}/
-# fixme: use udev
-%attr(0600,root,root) %dev(c,195,0) /dev/nvidia0
-%attr(0600,root,root) %dev(c,195,1) /dev/nvidia1
-%attr(0600,root,root) %dev(c,195,2) /dev/nvidia2
-%attr(0600,root,root) %dev(c,195,3) /dev/nvidia3
-%attr(0600,root,root) %dev(c,195,255) /dev/nvidiactl
+# Devices for udev to copy directly
%attr(0600,root,root) %dev(c,195,0) %{_sysconfdir}/udev/devices/nvidia0
%attr(0600,root,root) %dev(c,195,1) %{_sysconfdir}/udev/devices/nvidia1
%attr(0600,root,root) %dev(c,195,2) %{_sysconfdir}/udev/devices/nvidia2
%attr(0600,root,root) %dev(c,195,3) %{_sysconfdir}/udev/devices/nvidia3
+%attr(0600,root,root) %dev(c,195,4) %{_sysconfdir}/udev/devices/nvidia4
+%attr(0600,root,root) %dev(c,195,5) %{_sysconfdir}/udev/devices/nvidia5
+%attr(0600,root,root) %dev(c,195,6) %{_sysconfdir}/udev/devices/nvidia6
+%attr(0600,root,root) %dev(c,195,7) %{_sysconfdir}/udev/devices/nvidia7
+%attr(0600,root,root) %dev(c,195,8) %{_sysconfdir}/udev/devices/nvidia8
+%attr(0600,root,root) %dev(c,195,9) %{_sysconfdir}/udev/devices/nvidia9
%attr(0600,root,root) %dev(c,195,255) %{_sysconfdir}/udev/devices/nvidiactl
# Libraries and X modules
%config %{_sysconfdir}/ld.so.conf.d/nvidia.conf
@@ -223,8 +246,8 @@
%{nvidialib32dir}/*.so.*
%{nvidialib32dir}/tls/
%endif
-%{_libdir}/xorg/modules/drivers/nvidia*
-%{_libdir}/xorg/modules/extensions/nvidia/
+%{_libdir}/xorg/modules/drivers/nvidia_drv.so
+%{_libdir}/xorg/modules/extensions/nvidia/libglx.so
# Tools and utilities
%{_sysconfdir}/profile.d/*
%{_bindir}/*
@@ -233,10 +256,10 @@
%{_datadir}/pixmaps/*
%{_mandir}/man1/*
-# Hopefully not needed devel (might violate the license not to include them)
+# Not needed devel but would violate the license not to include them
#files devel
#defattr(-,root,root,0755)
-#{nvidialibdir}/*.a
+%{nvidialibdir}/*.a
%{nvidialibdir}/*.so
%ifarch x86_64
%{nvidialib32dir}/*.so
@@ -244,6 +267,18 @@
%changelog
+* Wed Oct 11 2006 Matthias Saou <http://freshrpms.net/> 1.0.9625-2
+- Fix desktop entry.
+- Remove static dev entries, let udev take care of copying them to /dev.
+- Small fix to the driver file mode and remove the created empty directory.
+- Add %%{nvidialib32dir} to the ld.so.conf.d file on x86_64.
+- Make sure we have a Files section in xorg.conf, otherwise create an empty
+ one for the nvidia-config-display utility/script to work properly.
+- Run the nvidia-config-display utility/script in %%post.
+
+* Tue Oct 10 2006 Matthias Saou <http://freshrpms.net/> 1.0.9625-1
+- Update to the 1.0-9625 beta drivers.
+
* Tue Oct 10 2006 Matthias Saou <http://freshrpms.net/> 1.0.8774-3
- Add the rpm release to the dkms module version, to make updating the module
to a fixed same version work (--rpm_safe_upgrade doesn't work as advertised).
More information about the svn-commits
mailing list