summaryrefslogtreecommitdiff
path: root/bin/bump_kernel_video_drivers
diff options
context:
space:
mode:
Diffstat (limited to 'bin/bump_kernel_video_drivers')
-rwxr-xr-xbin/bump_kernel_video_drivers33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/bump_kernel_video_drivers b/bin/bump_kernel_video_drivers
new file mode 100755
index 0000000..4fc6d97
--- /dev/null
+++ b/bin/bump_kernel_video_drivers
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# PLEASE READ:
+# This script recompiles all the kernel-dependent video drivers for
+# every currently supported kernel. You can use this script when
+# you bump kernels or xorg-server.
+
+. /kogaion/bin/kernels.inc
+
+packages="=x11-drivers/nvidia-drivers-173* =x11-drivers/nvidia-drivers-304* =x11-drivers/nvidia-drivers-313*"
+non_injected_packages="x11-drivers/nvidia-drivers x11-drivers/ati-drivers x11-drivers/xf86-video-virtualbox"
+general_purpose_packages="media-video/amdcccle"
+ETP_REPO="${ETP_REPO:-kogaion-testing}"
+
+for kernel in $kernels; do
+ mypackages="${packages}"
+ if [ "${kernel}" != "${running_kernel}" ]; then
+ mypackages="${mypackages} ${non_injected_packages}"
+ fi
+ # build for latest kernel
+ rm -rf /usr/portage/packages/x11-drivers/*
+ KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${mypackages} || exit 1
+ eit inject --to ${ETP_REPO} /usr/portage/packages/x11-drivers/*
+ echo
+done
+
+# Workout drivers for the running kernel, those non injected
+eselect kernel set "linux-${running_kernel}" || exit 1
+emerge ${non_injected_packages} ${general_purpose_packages} || exit 1
+echo -5 | etc-update
+eit add ${non_injected_packages} ${general_purpose_packages} || exit 1
+
+echo "Now you should remove old packages, if you want of course"