diff options
author | Simon Rettberg | 2014-02-24 18:59:26 +0100 |
---|---|---|
committer | Simon Rettberg | 2014-02-24 18:59:26 +0100 |
commit | b8df389839c588b9618e6aa62c092c2cce490eb4 (patch) | |
tree | 0d06ced7a9f1cca8e478284feea5704f1e5bdb45 /remote/modules/nvidia_libs | |
parent | [rfs-stage32] setup-slx-addons: Fix slxlog call when aufs fails, add -o ro to... (diff) | |
download | tm-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.build | 36 | ||||
-rw-r--r-- | remote/modules/nvidia_libs/nvidia_libs.conf | 32 | ||||
-rw-r--r-- | remote/modules/nvidia_libs/nvidia_libs.conf.ubuntu | 3 |
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 +" |