diff --git a/.gitignore b/.gitignore index 02c019a..46eeade 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -NVIDIA-Linux-x86_64-325.08.run +NVIDIA-Linux-armv7l-gnueabihf-325.08.run NVIDIA-Linux-x86-325.08.run +NVIDIA-Linux-x86_64-325.08.run diff --git a/sources b/sources index 64a6300..e932fc2 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -f0f3361071b36543f53e3a357ae7a513 NVIDIA-Linux-x86_64-325.08.run +b2d238fd94a509a86b9ae9b70ce351ae NVIDIA-Linux-armv7l-gnueabihf-325.08.run b4545f20c4fa0716e8bfa7f732b1ff44 NVIDIA-Linux-x86-325.08.run +f0f3361071b36543f53e3a357ae7a513 NVIDIA-Linux-x86_64-325.08.run diff --git a/xorg-x11-drv-nvidia.spec b/xorg-x11-drv-nvidia.spec index e7f969b..4abad93 100644 --- a/xorg-x11-drv-nvidia.spec +++ b/xorg-x11-drv-nvidia.spec @@ -8,7 +8,7 @@ Name: xorg-x11-drv-nvidia Epoch: 1 Version: 325.08 -Release: 1%{?dist} +Release: 2%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards Group: User Interface/X Hardware Support @@ -16,32 +16,32 @@ License: Redistributable, no modification permitted URL: http://www.nvidia.com/ Source0: ftp://download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run Source1: ftp://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run -#Source4: ftp://download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-armv7l-gnueabihf-%{version}.run +Source4: ftp://download.nvidia.com/XFree86/Linux-32bit-ARM/%{version}/NVIDIA-Linux-armv7l-gnueabihf-%{version}.run Source2: 00-nvidia.conf Source3: nvidia-xorg.conf Source6: blacklist-nouveau.conf -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -%if 0%{?fedora} > 11 || 0%{?rhel} > 5 -ExclusiveArch: i686 x86_64 -%else 0%{?fedora} == 11 -ExclusiveArch: i586 x86_64 -%else -ExclusiveArch: i386 x86_64 -%endif -Requires: nvidia-xconfig -Requires: %{_nvidia_serie}-settings +BuildRequires: desktop-file-utils +Buildrequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +ExclusiveArch: i686 x86_64 armv7hl + +Obsoletes: nvidia-xconfig < 1.0-30 +Provides: nvidia-xconfig = %{version}-%{release} +Obsoletes: nvidia-settings < 1.0-34 +Provides: nvidia-settings = %{version}-%{release} +Obsoletes: nvidia-settings-desktop < 1.0-34 +Provides: nvidia-settings-desktop = %{version}-%{release} +Provides: nvidia-modprobe = %{version}-%{release} +Provides: nvidia-persistenced = %{version}-%{release} Requires: %{_nvidia_serie}-kmod >= %{?epoch}:%{version} -# Needed in all nvidia or fglrx driver packages Requires: which -#Requires: livna-config-display >= 0.0.21 -%if 0%{?fedora} > 10 || 0%{?rhel} > 5 Requires: %{name}-libs%{_isa} = %{?epoch}:%{version}-%{release} -%else -Requires: %{name}-libs-%{_target_cpu} = %{?epoch}:%{version}-%{release} -%endif Requires(post): ldconfig Requires(postun): ldconfig @@ -91,11 +91,7 @@ http://rpmfusion.org/Howto/nVidia %package devel Summary: Development files for %{name} Group: Development/Libraries -%if 0%{?fedora} > 10 || 0%{?rhel} > 5 Requires: %{name}-libs%{_isa} = %{?epoch}:%{version}-%{release} -%else -Requires: %{name}-libs-%{_target_cpu} = %{?epoch}:%{version}-%{release} -%endif %description devel This package provides the development files of the %{name} package, @@ -106,7 +102,6 @@ Summary: Libraries for %{name} Group: User Interface/X Hardware Support Requires: %{name} = %{?epoch}:%{version}-%{release} Requires: libvdpau%{_isa} >= 0.5 -Provides: %{name}-libs-%{_target_cpu} = %{?epoch}:%{version}-%{release} %description libs This package provides the shared libraries for %{name}. @@ -114,15 +109,12 @@ This package provides the shared libraries for %{name}. %prep %setup -q -c -T -sh %{SOURCE0} --extract-only --target nvidiapkg-x86 -sh %{SOURCE1} --extract-only --target nvidiapkg-x64 +sh %{SOURCE0} --extract-only --target nvidiapkg-i686 +sh %{SOURCE1} --extract-only --target nvidiapkg-x86_64 +sh %{SOURCE4} --extract-only --target nvidiapkg-armv7hl tar -cJf nvidia-kmod-data-%{version}.tar.xz nvidiapkg-*/LICENSE nvidiapkg-*/kernel -%ifarch %{ix86} -ln -s nvidiapkg-x86 nvidiapkg -%else -ln -s nvidiapkg-x64 nvidiapkg -%endif +ln -s nvidiapkg-%{_target_cpu} nvidiapkg %build # Nothing to build @@ -151,16 +143,26 @@ echo "%{_nvidia_libdir}" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia-%{_ install -m 0755 -d $RPM_BUILD_ROOT%{_prefix}/lib/modprobe.d/ install -p -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_prefix}/lib/modprobe.d/ -# OpenCL config -install -m 0755 -d $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors/ -install -p -m 0755 nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors/ - # Simple wildcard install of libs +install -m 0755 -d $RPM_BUILD_ROOT%{_nvidia_libdir} +install -p -m 0755 lib*.so.%{version} $RPM_BUILD_ROOT%{_nvidia_libdir}/ +%ifarch x86_64 i686 install -m 0755 -d $RPM_BUILD_ROOT%{_nvidia_libdir}/tls/ install -m 0755 -d $RPM_BUILD_ROOT%{_libdir}/vdpau/ -install -p -m 0755 lib*.so.%{version} $RPM_BUILD_ROOT%{_nvidia_libdir}/ -install -p -m 0755 libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/ install -p -m 0755 tls/lib*.so.%{version} $RPM_BUILD_ROOT%{_nvidia_libdir}/tls/ +%endif + +%ifarch x86_64 i686 +# OpenCL config +install -m 0755 -d $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors/ +install -p -m 0755 nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors/ +install -p -m 0755 libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/ +ln -s libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/libOpenCL.so.1 +ln -s libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/libOpenCL.so + +#Vdpau +install -p -m 0755 libvdpau*.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau +%endif # mkdir -p $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/ @@ -177,10 +179,10 @@ install -p -m 0755 libnvidia-wfb.so.%{version} $RPM_BUILD_ROOT%{_nvidia_xorgdir} %endif install -p -m 0755 libglx.so.%{version} $RPM_BUILD_ROOT%{_nvidia_xorgdir} install -p -m 0755 nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/ -install -p -m 0755 libvdpau*.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/ # Install binaries -install -p -m 0755 nvidia-{bug-report.sh,smi,cuda-mps-control,cuda-mps-server,persistenced,modprobe} $RPM_BUILD_ROOT%{_bindir} +install -p -m 0755 nvidia-{bug-report.sh,debugdump,smi,cuda-mps-control,cuda-mps-server,xconfig,settings,persistenced,modprobe} \ + $RPM_BUILD_ROOT%{_bindir} # Install headers install -m 0755 -d $RPM_BUILD_ROOT%{_includedir}/nvidia/GL/ @@ -197,9 +199,6 @@ for lib in $( find $RPM_BUILD_ROOT%{_libdir} -name lib\*.%{version} ) ; do ln -s ${lib##*/} ${lib%.%{version}}.1 done -ln -s libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/libOpenCL.so.1 -ln -s libOpenCL.so.1.0.0 $RPM_BUILD_ROOT%{_nvidia_libdir}/libOpenCL.so - # Install nvidia icon mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps @@ -215,9 +214,28 @@ sed -i -e 's|@LIBDIR@|%{_libdir}|g' $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf. touch -r %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d/00-nvidia.conf install -pm 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/X11/ +# Desktop entry for nvidia-settings +desktop-file-install --vendor "" \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications/ \ + --set-icon=nvidia-settings \ + --set-key=Exec --set-value=nvidia-settings \ + nvidia-settings.desktop + +#Workaround for self made xorg.conf using a Files section. +ln -fs ../../%{_nvidia_serie}/xorg $RPM_BUILD_ROOT%{_libdir}/xorg/modules/%{_nvidia_serie}-%{version} + +#Install the initscript +tar jxf nvidia-persistenced-init.tar.bz2 +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +install -pm 0644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template \ + $RPM_BUILD_ROOT%{_unitdir}/nvidia-persistenced.service +#Change the daemon running owner +sed -i -e "s/__USER__/root/" $RPM_BUILD_ROOT%{_unitdir}/nvidia-persistenced.service + +#Create the default nvidia config directory +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/nvidia + -%clean -rm -rf $RPM_BUILD_ROOT %post if [ "$1" -eq "1" ]; then @@ -241,6 +259,7 @@ if [ "$1" -eq "1" ]; then &>/dev/null done fi + /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi || : %triggerpostun -- xorg-x11-drv-nvidia < 1:%{version}-5 @@ -291,11 +310,22 @@ if [ "$1" -eq "0" ]; then gfxpayload=vga=normal vga=normal" &>/dev/null done fi + + /bin/systemctl --no-reload disable nvidia-persistenced.service > /dev/null 2>&1 || : + /bin/systemctl stop nvidia-persistenced.service > /dev/null 2>&1 || : + #Backup and disable previously used xorg.conf [ -f %{_sysconfdir}/X11/xorg.conf ] && \ mv %{_sysconfdir}/X11/xorg.conf %{_sysconfdir}/X11/xorg.conf.%{name}_uninstalled &>/dev/null fi ||: +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart nvidia-persistenced.service >/dev/null 2>&1 || : +fi + %postun libs -p /sbin/ldconfig %files @@ -303,24 +333,34 @@ fi ||: %doc nvidiapkg/LICENSE %doc nvidiapkg/NVIDIA_Changelog %doc nvidiapkg/README.txt +%doc nvidiapkg/nvidia-application-profiles-%{version}-rc %doc nvidiapkg/html +%ifarch x86_64 i686 %dir %{_sysconfdir}/OpenCL %dir %{_sysconfdir}/OpenCL/vendors %config %{_sysconfdir}/OpenCL/vendors/nvidia.icd +%endif +%dir %{_sysconfdir}/nvidia %config %{_sysconfdir}/X11/xorg.conf.d/00-nvidia.conf %config(noreplace) %{_prefix}/lib/modprobe.d/blacklist-nouveau.conf %config(noreplace) %{_sysconfdir}/X11/nvidia-xorg.conf +%{_unitdir}/nvidia-persistenced.service %{_bindir}/nvidia-bug-report.sh +%{_bindir}/nvidia-debugdump %{_bindir}/nvidia-smi %{_bindir}/nvidia-cuda-mps-control %{_bindir}/nvidia-cuda-mps-server %{_bindir}/nvidia-persistenced %{_bindir}/nvidia-modprobe +%{_bindir}/nvidia-settings +%{_bindir}/nvidia-xconfig # Xorg libs that do not need to be multilib %dir %{_nvidia_xorgdir} %{_nvidia_xorgdir}/*.so* %{_libdir}/xorg/modules/drivers/nvidia_drv.so +%{_libdir}/xorg/modules/%{_nvidia_serie}-%{version} #/no_multilib +%{_datadir}/applications/*nvidia-settings.desktop %{_datadir}/pixmaps/*.png %{_mandir}/man1/nvidia-smi.* %{_mandir}/man1/nvidia-cuda-mps-control.1.* @@ -330,32 +370,46 @@ fi ||: %files libs %defattr(-,root,root,-) %dir %{_nvidia_libdir} -%dir %{_nvidia_libdir}/tls %config %{_sysconfdir}/ld.so.conf.d/nvidia-%{_lib}.conf %{_nvidia_libdir}/*.so.* +%ifarch x86_64 i686 +%dir %{_nvidia_libdir}/tls %{_nvidia_libdir}/tls/*.so* %exclude %{_libdir}/vdpau/libvdpau.* %{_libdir}/vdpau/libvdpau_nvidia.so* %exclude %{_libdir}/vdpau/libvdpau_trace.so* +%endif %files devel %defattr(-,root,root,-) %exclude %{_nvidia_libdir}/libcuda.so %{_includedir}/nvidia/ +%ifarch x86_64 i686 %{_nvidia_libdir}/libOpenCL.so %{_nvidia_libdir}/libnvidia-compiler.so +%{_nvidia_libdir}/libnvidia-encode.so +%endif %{_nvidia_libdir}/libGL.so %{_nvidia_libdir}/libnvidia-glcore.so %{_nvidia_libdir}/libnvcuvid.so %{_nvidia_libdir}/libnvidia-ml.so %{_nvidia_libdir}/libnvidia-opencl.so -%{_nvidia_libdir}/libnvidia-encode.so %{_nvidia_libdir}/libnvidia-vgxcfg.so - %changelog -* Sun Jul 07 2013 leigh scott - 1:325.08-1 -- Update to 325.08 +* Sat Jul 13 2013 Nicolas Chauvet - 1:325.08-2 +- Rebased to 325.08 + +* Sat Jul 13 2013 Nicolas Chauvet - 1:319.32-3 +- Restore nvidia-settings and nvidia-xconfig - rfbz#2852 +- Add virtual provides for nvidia-modprobe/nvidia-persistenced +- Enable nvidia-persistenced systemd service + +* Sat Jul 13 2013 Nicolas Chauvet - 1:319.32-2 +- Add armhfp support +- Spec file clean-up + +* Sun Jul 07 2013 leigh scott - 1:319.32-1.1 - move .so files to devel * Thu Jun 27 2013 Nicolas Chauvet - 1:319.32-1