Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=e1d7cc9b7f45c80b588f6d4e71160f958b7cf921
commit e1d7cc9b7f45c80b588f6d4e71160f958b7cf921 Author: crazy <[email protected]> Date: Fri Oct 20 23:59:36 2017 +0200 nvidia-387.12-5-x86_64 * auto-blacklist nouveau * use += style * use Fexec diff --git a/source/x11-extra/nvidia/FrugalBuild b/source/x11-extra/nvidia/FrugalBuild index f21c4a8..c9b2b35 100644 --- a/source/x11-extra/nvidia/FrugalBuild +++ b/source/x11-extra/nvidia/FrugalBuild @@ -3,7 +3,7 @@ pkgname=nvidia pkgver=387.12 -pkgrel=4 +pkgrel=5 archs=('x86_64') _F_kernelmod_scriptlet=nvidia.install Finclude kernel-module @@ -11,10 +11,10 @@ groups=('x11-extra') pkgdesc="3D accelerated display driver for Nvidia cards" url="http://www.nvidia.com/object/unix.html" up2date="Flastverdir http://download.nvidia.com/XFree86/Linux-x86/" -rodepends=("${rodepends[@]}" 'libvdpau>=1.1.1-2' 'nvidia-settings>=361.16' 'nvidia-xconfig>=361.16' 'pkgconfig' 'xorg-server>=1.19.0') -conflicts=("${conflicts[@]}" 'libgl' 'libgl-headers-mesa' 'libglx' 'libgles') -provides=("${provides[@]}" 'libgl' 'libgl-headers-mesa' 'libglx' 'libgles') -options=("${options[@]}" 'nostrip') +rodepends+=('libvdpau>=1.1.1-2' 'nvidia-settings>=361.16' 'nvidia-xconfig>=361.16' 'pkgconfig' 'xorg-server>=1.19.0') +conflicts+=('libgl' 'libgl-headers-mesa' 'libglx' 'libgles') +provides+=('libgl' 'libgl-headers-mesa' 'libglx' 'libgles') +options+=('nostrip') _F_nvidia_name="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32" source=("http://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_F_nvidia_name}.run" \ @@ -30,7 +30,7 @@ sha1sums=('4d49999e09c6562a1514d3b4644aedd666a48d1d' \ build () { cd $Fsrcdir rm -rf ${_F_nvidia_name} || Fdie - sh $_F_nvidia_name.run --extract-only || Fdie + Fexec sh $_F_nvidia_name.run --extract-only || Fdie Fcd . @@ -45,7 +45,7 @@ build () { Ffilerel nvidia-uvm.ko $_F_kernelmod_dir/kernel/drivers/video/nvidia-uvm.ko Fbuild_kernelmod_scriptlet - cd $Fsrcdir/${_F_nvidia_name} || Fdie + Fexec cd $Fsrcdir/${_F_nvidia_name} || Fdie # FIXME: Cuda and OpenCL headers are missing on the package on purpose diff --git a/source/x11-extra/nvidia/nvidia.install b/source/x11-extra/nvidia/nvidia.install index fcb02e6..af9c951 100644 --- a/source/x11-extra/nvidia/nvidia.install +++ b/source/x11-extra/nvidia/nvidia.install @@ -51,6 +51,12 @@ post_install() { /sbin/depmod -ea @_F_kernelmod_uname@ module_load + + if ! grep -q 'rd.driver.blacklist=nouveau' /etc/default/grub ; then + echo "Updating kernel cmdline to blacklist nouveau in initrd.." + sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="rd.driver.blacklist=nouveau /' /etc/default/grub + fi + if [ -f /boot/grub/grub.cfg ]; then grub-mkconfig -o /boot/grub/grub.cfg > /dev/null 2>&1 fi @@ -70,6 +76,11 @@ post_upgrade() { fi fi + if ! grep -q 'rd.driver.blacklist=nouveau' /etc/default/grub ; then + echo "Updating kernel cmdline to blacklist nouveau in initrd.." + sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="rd.driver.blacklist=nouveau /' /etc/default/grub + fi + if [ -f /boot/grub/grub.cfg ]; then grub-mkconfig -o /boot/grub/grub.cfg > /dev/null 2>&1 fi @@ -85,15 +96,18 @@ pre_remove() { grep -v '^nvidia' /etc/sysconfig/modules > /etc/sysconfig/modules.tmp mv /etc/sysconfig/modules.tmp /etc/sysconfig/modules fi - if [ -e /usr/lib/xorg/temp/libglx.so ]; then - mv /usr/lib/xorg/temp/libglx.so /usr/lib/xorg/modules/extensions/ - fi } post_remove() { /sbin/depmod -a @_F_kernelmod_uname@ echo "*** Nvidia driver is removed now. To have a working Xorg Server again run : ***" echo "*** pacman-g2 -S libgl libgl-headers libglx ****" + + if grep -q 'rd.driver.blacklist=nouveau' /etc/default/grub ; then + echo "Updating kernel cmdline..." + sed -i 's/rd.driver.blacklist=nouveau //' /etc/default/grub + fi + if [ -f /boot/grub/grub.cfg ]; then grub-mkconfig -o /boot/grub/grub.cfg > /dev/null 2>&1 fi _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
