summaryrefslogtreecommitdiffstats
path: root/remote/modules/nvidia_libs
diff options
context:
space:
mode:
authorSimon Rettberg2014-02-24 18:59:26 +0100
committerSimon Rettberg2014-02-24 18:59:26 +0100
commitb8df389839c588b9618e6aa62c092c2cce490eb4 (patch)
tree0d06ced7a9f1cca8e478284feea5704f1e5bdb45 /remote/modules/nvidia_libs
parent[rfs-stage32] setup-slx-addons: Fix slxlog call when aufs fails, add -o ro to... (diff)
downloadtm-scripts-b8df389839c588b9618e6aa62c092c2cce490eb4.tar.gz
tm-scripts-b8df389839c588b9618e6aa62c092c2cce490eb4.tar.xz
tm-scripts-b8df389839c588b9618e6aa62c092c2cce490eb4.zip
[nvidia_libs] Refine required files/dirs, less pinfo spam
Diffstat (limited to 'remote/modules/nvidia_libs')
-rw-r--r--remote/modules/nvidia_libs/nvidia_libs.build36
-rw-r--r--remote/modules/nvidia_libs/nvidia_libs.conf32
-rw-r--r--remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu3
3 files changed, 31 insertions, 40 deletions
diff --git a/remote/modules/nvidia_libs/nvidia_libs.build b/remote/modules/nvidia_libs/nvidia_libs.build
index 7e4e86c7..49f78d5b 100644
--- a/remote/modules/nvidia_libs/nvidia_libs.build
+++ b/remote/modules/nvidia_libs/nvidia_libs.build
@@ -1,5 +1,5 @@
fetch_source() {
- mkdir -p src 2>/dev/null
+ mkdir -p src
cd src || perror "Could not change into src directory."
download "$REQUIRED_URL"
}
@@ -8,7 +8,7 @@ build() {
local KERNELSRCDIR="$MODULE_DIR/../kernel/ksrc" # kernel sources
local TEMPDIR="$MODULE_DIR/temp"
local ROOTLOWERDIR="/"
- local ROOTUPPERDIR="$MODULE_DIR/build"
+ local ROOTUPPERDIR="$MODULE_BUILD_DIR"
local ROOTBINDDIR="$TEMPDIR/rootbind"
local ROOTMOUNTDIR="$TEMPDIR/rootmount"
local BINDMOUNTS="/dev /proc /run /sys"
@@ -25,12 +25,10 @@ build() {
}
mount_dirs () {
- pinfo "Executing bind- and overlay mounts ..."
mount -o bind "$ROOTLOWERDIR" "$ROOTBINDDIR" || perror "Could not mount (bind) $ROOTLOWERDIR to $ROOTBINDDIR."
mount -o remount,ro "$ROOTBINDDIR" || perror "Could not remount $ROOTBINDDIR ro read-only."
mount -t overlayfs overlayfs -o lowerdir="$ROOTBINDDIR",upperdir="$ROOTUPPERDIR" "$ROOTMOUNTDIR" \
|| perror "Could not mount (overlayfs) $ROOTLOWERDIR, $ROOTUPPERDIR to $BINDDIR."
- pinfo "Executing bind mounts ($BINDMOUNTS) for chroot root dir ..."
for MOUNT in $BINDMOUNTS; do
mount -o bind "$MOUNT" "$ROOTMOUNTDIR/$MOUNT" || perror "Could not mount (bind) $MOUNTS into chroot root dir."
done
@@ -52,7 +50,6 @@ build() {
unpack_nvidia () {
[ -d "$NVIDIAEXTRACTDIR" ] && rm -rf "$NVIDIAEXTRACTDIR"
- pinfo "Unpacking NVidia archive ($NVIDIA) ..."
sh "$NVIDIA" --extract-only --target "$NVIDIAEXTRACTDIR" || perror "Could not extract $NVIDIA to $NVIDIAEXTRACTDIR."
}
@@ -65,12 +62,15 @@ build() {
umount "$ROOTBINDDIR" || pwarning "Could not unmount $ROOTBINDDIR!"
}
- clean_whiteouts () {
- # The case of these overlay whiteouts should be investigated instead of just killing them. But for now...
+ handle_whiteouts () {
+ local WHITEOUT_LIST="${MODULE_BUILD_DIR}/opt/openslx/etc/nvidia.whiteout"
+ rm -f -- "$WHOUTEOUT_LIST"
+ mkdir -p "$(dirname "$WHITEOUT_LIST")" || perror "Could not create $(dirname "$WHITEOUT_LIST")"
pdebug "Searching for overlayfs-whiteouts ..."
- for WHITEOUT in $(find "$MODULE_DIR/build" -lname "(overlay-whiteout)"); do
+ for WHITEOUT in $(find "$MODULE_BUILD_DIR" -lname "(overlay-whiteout)"); do
pdebug "Whiteout found: $WHITEOUT"
- rm -f "$WHITEOUT" || perror "Could not delete whiteout $WHITEOUT!"
+ echo "/./${WHITEOUT#$MODULE_BUILD_DIR}" >> "$WHITEOUT_LIST"
+ rm -f -- "$WHITEOUT" || perror "Could not delete whiteout $WHITEOUT!"
done
}
@@ -80,15 +80,15 @@ build() {
}
# Main stuff
- pinfo "Generating temporary directories ..."
+ pdebug "Generating temporary directories ..."
make_dirs
- pinfo "Mounting directories ..."
+ pdebug "Mounting directories ..."
mount_dirs
- pinfo "Injecting .bashrc into later chroot ..."
+ pdebug "Injecting .bashrc into later chroot ..."
gen_bashrc
- pinfo "Unpacking NVidia-Installer ..."
+ pdebug "Unpacking NVidia-Installer ..."
unpack_nvidia
pinfo "Ready to chroot - compiling may take some time."
@@ -103,15 +103,15 @@ build() {
pdebug "- -"
pdebug "--------------------------------------------------------------------------------"
chroot "$ROOTMOUNTDIR"
- pinfo "chroot terminated."
+ pinfo "chroot terminated, cleaning up"
- pinfo "Unmount directories ..."
+ pdebug "Unmount directories ..."
umount_dirs
- pinfo "Cleaning whiteouts ..."
- clean_whiteouts
+ pdebug "Handling whiteouts ..."
+ handle_whiteouts
- pinfo "Cleaning / deleting temp directories."
+ pdebug "Cleaning / deleting temp directories."
clean_temp
}
diff --git a/remote/modules/nvidia_libs/nvidia_libs.conf b/remote/modules/nvidia_libs/nvidia_libs.conf
index faec87ec..12748274 100644
--- a/remote/modules/nvidia_libs/nvidia_libs.conf
+++ b/remote/modules/nvidia_libs/nvidia_libs.conf
@@ -2,28 +2,16 @@ REQUIRED_VERSION="331.38"
REQUIRED_NVIDIA="NVIDIA-Linux-x86_64-$REQUIRED_VERSION.run"
REQUIRED_URL="http://download.nvidia.com/XFree86/Linux-x86_64/$REQUIRED_VERSION/$REQUIRED_NVIDIA"
-#REQUIRED_FILES="
-# /etc/OpenCL/vendors/nvidia.icd
-# /usr/share/nvidia/nvidia-application-profiles-331.38-rc
-# /usr/share/applications/nvidia-settings.desktop
-#"
-
-#REQUIRED_DIRECTORIES="
-# /usr/bin
-# /usr/lib
-# /usr/lib/vdpau
-# /usr/lib/xorg
-# /usr/lib/xorg/modules
-# /usr/lib/xorg/modules/drivers
-# /usr/lib/xorg/modules/extensions
-# /usr/lib/tls
-# /usr/lib/x86_64-linux-gnu
-# /usr/lib/x86_64-linux-gnu/mesa
-# /usr/lib32
-# /usr/lib32/vdpau
-#
-#"
+REQUIRED_FILES="
+ /etc/OpenCL/vendors/nvidia.icd
+ /usr/share/nvidia/nvidia-application-profiles-331.38-rc
+ /usr/share/applications/nvidia-settings.desktop
+ /opt/openslx/etc/nvidia.whiteout
+"
REQUIRED_DIRECTORIES="
- /
+ /usr/bin
+ /usr/lib
+ /var/lib/nvidia
"
+
diff --git a/remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu b/remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu
index 1eccb199..a3a80bee 100644
--- a/remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu
+++ b/remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu
@@ -8,3 +8,6 @@ REQUIRED_CONTENT_PACKAGES="
REQUIRED_INSTALLED_PACKAGES="
libvdpau1
"
+REQUIRED_SYSTEM_FILES+="
+ /sbin/ldconfig.real
+"