summaryrefslogtreecommitdiffstats
path: root/remote/modules/nvidia_libs
diff options
context:
space:
mode:
authorJonathan Bauer2014-03-25 15:24:04 +0100
committerJonathan Bauer2014-03-25 15:24:04 +0100
commit3d1235af060955e271be68240c0ca46bc6d81b03 (patch)
treeef02dcc4bb8476cfeef07e2df6a38b4c29d350df /remote/modules/nvidia_libs
parent[rootfs-stage32] /var/log/openslx in tmpfiles.d (diff)
downloadtm-scripts-3d1235af060955e271be68240c0ca46bc6d81b03.tar.gz
tm-scripts-3d1235af060955e271be68240c0ca46bc6d81b03.tar.xz
tm-scripts-3d1235af060955e271be68240c0ca46bc6d81b03.zip
[modules] new module naming convention
rename $MODULE.{conf,build} to module.{conf,build}
Diffstat (limited to 'remote/modules/nvidia_libs')
-rw-r--r--remote/modules/nvidia_libs/module.build56
-rw-r--r--remote/modules/nvidia_libs/module.conf17
-rw-r--r--remote/modules/nvidia_libs/module.conf.ubuntu13
3 files changed, 86 insertions, 0 deletions
diff --git a/remote/modules/nvidia_libs/module.build b/remote/modules/nvidia_libs/module.build
new file mode 100644
index 00000000..38f60d09
--- /dev/null
+++ b/remote/modules/nvidia_libs/module.build
@@ -0,0 +1,56 @@
+fetch_source() {
+ mkdir -p src
+ cd src || perror "Could not change into src directory."
+ download "$REQUIRED_URL"
+}
+
+build() {
+ local KERNELSRCDIR="$MODULE_DIR/../kernel/ksrc" # kernel sources
+ local NVIDIA="$MODULE_DIR/src/$REQUIRED_NVIDIA"
+ local NVIDIAEXTRACTDIR="$MODULE_BUILD_DIR/NVIDIA"
+
+ pdebug "Unpacking NVidia-Installer ..."
+ [ -d "$NVIDIAEXTRACTDIR" ] && rm -rf "$NVIDIAEXTRACTDIR"
+ sh "$NVIDIA" --extract-only --target "$NVIDIAEXTRACTDIR" || perror "Could not extract $NVIDIA to $NVIDIAEXTRACTDIR."
+
+ pinfo "Ready to chroot - may take some time."
+ pdebug "--- chroot ---------------------------------------------------------------------"
+ pdebug "- -"
+ pdebug "- Notice: This may take a while! -"
+ pdebug "- -"
+ pdebug "- Please keep note the Nvidia installer _will_ complain about -"
+ pdebug "- several warnings and errors. It will do this in any case. -"
+ pdebug "- -"
+ pdebug "- This does _not_ mean the library module compilation was unsuccessful! -"
+ pdebug "- -"
+ pdebug "--------------------------------------------------------------------------------"
+
+ chroot_run "${MODULE_BUILD_DIR}" <<-EOF
+ /NVIDIA/nvidia-installer --no-nouveau-check --no-network --no-backup --no-rpms --no-runlevel-check --no-distro-scripts --no-cc-version-check --no-x-check --no-precompiled-interface --silent --no-kernel-module
+ EOF
+ pinfo "chroot terminated, cleaning up"
+
+ # move whiteout list to its /opt/openslx/etc/nvidia.whiteout
+ if [ -e "${MODULE_BUILD_DIR}/overlay.whiteout.list" ]; then
+ mkdir -p "${MODULE_BUILD_DIR}/opt/openslx/etc"
+ mv "${MODULE_BUILD_DIR}/overlay.whiteout.list" "${MODULE_BUILD_DIR}/opt/openslx/etc/nvidia.whiteout"
+ fi
+
+ #pdebug "Handling 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_BUILD_DIR" -lname "(overlay-whiteout)"); do
+# pdebug "Whiteout found: $WHITEOUT"
+# echo "/./${WHITEOUT#$MODULE_BUILD_DIR}" >> "$WHITEOUT_LIST"
+# rm -f -- "$WHITEOUT" || perror "Could not delete whiteout $WHITEOUT!"
+# done
+
+ rm -rf "$MODULE_BUILD_DIR/NVIDIA"
+}
+
+post_copy() {
+ :
+}
+
diff --git a/remote/modules/nvidia_libs/module.conf b/remote/modules/nvidia_libs/module.conf
new file mode 100644
index 00000000..12748274
--- /dev/null
+++ b/remote/modules/nvidia_libs/module.conf
@@ -0,0 +1,17 @@
+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
+ /opt/openslx/etc/nvidia.whiteout
+"
+
+REQUIRED_DIRECTORIES="
+ /usr/bin
+ /usr/lib
+ /var/lib/nvidia
+"
+
diff --git a/remote/modules/nvidia_libs/module.conf.ubuntu b/remote/modules/nvidia_libs/module.conf.ubuntu
new file mode 100644
index 00000000..a3a80bee
--- /dev/null
+++ b/remote/modules/nvidia_libs/module.conf.ubuntu
@@ -0,0 +1,13 @@
+# libvdpau: While nvidia delivers a linvdpau within it's driver package, nvidia
+# itself recommends using a distribution package if available. So, here we go.
+
+REQUIRED_CONTENT_PACKAGES="
+ libvdpau1
+"
+
+REQUIRED_INSTALLED_PACKAGES="
+ libvdpau1
+"
+REQUIRED_SYSTEM_FILES+="
+ /sbin/ldconfig.real
+"