Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > nonfree-backports > by-pkgid > 6dc3e109ae644b91a0f1554ba26f1e06 > scriptlet

x11-driver-video-nvidia-current-367.57-1.1.mga5.nonfree.x86_64.rpm

PRETRANS

/bin/sh
# Migrate old non-alternativeszificated datadir
if ! [ -L /usr/share/nvidia ] && [ -d /usr/share/nvidia ]; then
	if ! [ -e /usr/share/nvidia-alt-nvidia-current ]; then
		mv -T /usr/share/nvidia /usr/share/nvidia-alt-nvidia-current
	else
		# should not really be encountered
		mv -T /usr/share/nvidia /usr/share/nvidia.${RANDOM}
	fi
fi

POSTIN

/bin/sh
# XFdrake used to generate an nvidia.conf file
[ -L /etc/modprobe.d/nvidia.conf ] || rm -f /etc/modprobe.d/nvidia.conf

current_glconf="$(readlink -e /etc/ld.so.conf.d/GL.conf)"

# owned by libvdpau1, created in case libvdpau1 is installed only just after
# this package
mkdir -p /usr/lib64/vdpau

/usr/sbin/update-alternatives \
	--install /etc/ld.so.conf.d/GL.conf gl_conf /etc/nvidia-current/ld.so.conf 9700 \
	--slave /usr/share/man/man1/nvidia-settings.1.xz man_nvidiasettings.xz /usr/share/man/man1/alt-nvidia-current-settings.1.xz \
	--slave /usr/share/man/man1/nvidia-xconfig.1.xz man_nvidiaxconfig.xz /usr/share/man/man1/alt-nvidia-current-xconfig.1.xz \
	--slave /usr/share/man/man1/nvidia-smi.1.xz nvidia-smi.1.xz /usr/share/man/man1/alt-nvidia-current-smi.1.xz \
	--slave /usr/share/man/man1/nvidia-cuda-mps-control.1.xz nvidia-cuda-mps-control.1.xz /usr/share/man/man1/alt-nvidia-current-cuda-mps-control.1.xz \
	--slave /usr/share/applications/mageia-nvidia-settings.desktop nvidia_desktop /usr/share/nvidia-current/mageia-nvidia-settings.desktop \
	--slave /usr/bin/nvidia-settings nvidia_settings /usr/lib64/nvidia-current/bin/nvidia-settings \
	--slave /usr/bin/nvidia-smi nvidia_smi /usr/lib64/nvidia-current/bin/nvidia-smi \
	--slave /usr/bin/nvidia-xconfig nvidia_xconfig /usr/lib64/nvidia-current/bin/nvidia-xconfig \
	--slave /usr/bin/nvidia-debugdump nvidia-debugdump /usr/lib64/nvidia-current/bin/nvidia-debugdump \
	--slave /usr/bin/nvidia-bug-report.sh nvidia_bug_report /usr/lib64/nvidia-current/bin/nvidia-bug-report.sh \
	--slave /usr/bin/nvidia-cuda-mps-control nvidia-cuda-mps-control /usr/lib64/nvidia-current/bin/nvidia-cuda-mps-control \
	--slave /usr/bin/nvidia-cuda-mps-server nvidia-cuda-mps-server /usr/lib64/nvidia-current/bin/nvidia-cuda-mps-server \
	--slave /usr/bin/nvidia-modprobe nvidia-modprobe /usr/lib64/nvidia-current/bin/nvidia-modprobe \
	--slave /usr/bin/nvidia-persistenced nvidia-persistenced /usr/lib64/nvidia-current/bin/nvidia-persistenced \
	--slave /etc/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit /etc/nvidia-current/nvidia-settings.xinit \
	--slave /usr/lib64/vdpau/libvdpau_nvidia.so.1 lib64vdpau_nvidia.so.1 /usr/lib64/nvidia-current/vdpau/libvdpau_nvidia.so.367.57 \
	--slave /etc/modprobe.d/display-driver.conf display-driver.conf /etc/nvidia-current/modprobe.conf \
	--slave /etc/OpenCL/vendors/nvidia.icd nvidia.icd /etc/nvidia-current/nvidia.icd \
	--slave /usr/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 /usr/lib/nvidia-current/vdpau/libvdpau_nvidia.so.367.57 \
	--slave /usr/lib64/xorg/extra-modules xorg_extra_modules /usr/lib64/nvidia-current/xorg \
	--slave /usr/share/nvidia nvidia_datadir /usr/share/nvidia-alt-nvidia-current \

if [ "${current_glconf}" = "/etc/nvidia97xx/ld.so.conf" ]; then
	# Adapt for the renaming of the driver. X.org config still has the old ModulePaths
	# but they do not matter as we are using alternatives for libglx.so now.
	/usr/sbin/update-alternatives --set gl_conf /etc/nvidia-current/ld.so.conf
fi
# explicit /sbin/ldconfig due to alternatives
/sbin/ldconfig -X

POSTUN

/bin/sh
if [ ! -f /etc/nvidia-current/ld.so.conf ]; then
  /usr/sbin/update-alternatives --remove gl_conf /etc/nvidia-current/ld.so.conf
fi
# explicit /sbin/ldconfig due to alternatives
/sbin/ldconfig -X

POSTTRANS

/bin/sh
# When upgrading 340 => 346, the alternativeszification of /usr/share/nvidia may
# cause uninstallation of 340 (during upgrade) to remove these files through
# the /usr/share/nvidia symlink. Restore them.
for file in /usr/share/nvidia-alt-nvidia-current/pci.ids /usr/share/nvidia-alt-nvidia-current/monitoring.conf; do
	backupfile="/usr/share/nvidia-current/$(basename "$file").mga"
	if ! [ -e $file ] && [ -e "$backupfile" ]; then
		ln -T "$backupfile" "$file"
	fi
done