summaryrefslogtreecommitdiff
path: root/bin/bump_kernel_package
diff options
context:
space:
mode:
Diffstat (limited to 'bin/bump_kernel_package')
-rwxr-xr-xbin/bump_kernel_package27
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/bump_kernel_package b/bin/bump_kernel_package
new file mode 100755
index 0000000..1a184a0
--- /dev/null
+++ b/bin/bump_kernel_package
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+. /kogaion/bin/kernels.inc
+
+if [ "${#}" -lt 1 ]; then
+ echo "${0} <package> <package> ..." >&2 /dev/null
+ echo "example: ${0} net-wireless/broadcom-sta" >&2 /dev/null
+ exit 1
+fi
+
+# build for latest kernel
+KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge "${@}" || exit 1
+echo -5 | etc-update
+eit add "${@}" || exit 1
+
+for kernel in $kernels; do
+ if [ "${kernel}" = "${running_kernel}" ]; then
+ continue
+ fi
+ rm -rf /usr/portage/packages/*
+ KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B "${@}" || { echo "ouch unable to build" && exit 1; }
+ built_pkgs=$(find /usr/portage/packages -name "*.tbz2" | xargs echo)
+ [[ -z "${built_pkgs}" ]] && echo "ouch no kernel pkgs" && exit 2
+ eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; }
+done
+
+echo "Now you should remove old packages..."