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

Reply via email to