908de082ce
Also make sure directories are copied to the same place and not in the already existing directory. https://bugzilla.redhat.com/show_bug.cgi?id=129901
75 lines
2.9 KiB
Diff
75 lines
2.9 KiB
Diff
From 019766177baf70d5a4f688adb768b07f28fd90a9 Mon Sep 17 00:00:00 2001
|
|
From: Harald Hoyer <harald@redhat.com>
|
|
Date: Tue, 14 Jan 2014 17:48:08 -0500
|
|
Subject: [PATCH] kernel-install: add fedora specific callouts to
|
|
new-kernel-pkg
|
|
|
|
---
|
|
src/kernel-install/kernel-install | 47 +++++++++++++++++++++++++++++++++++++++
|
|
1 file changed, 47 insertions(+)
|
|
mode change 100644 => 100755 src/kernel-install/kernel-install
|
|
|
|
diff --git a/src/kernel-install/kernel-install b/src/kernel-install/kernel-install
|
|
old mode 100644
|
|
new mode 100755
|
|
index 3ae1d77..041f526
|
|
--- a/src/kernel-install/kernel-install
|
|
+++ b/src/kernel-install/kernel-install
|
|
@@ -71,6 +71,53 @@ fi
|
|
KERNEL_VERSION="$1"
|
|
KERNEL_IMAGE="$2"
|
|
|
|
+if [[ -x /sbin/new-kernel-pkg ]]; then
|
|
+ KERNEL_DIR="${KERNEL_IMAGE%/*}"
|
|
+ [[ "$KERNEL_VERSION" == *\+* ]] && flavor=-"${KERNEL_VERSION##*+}"
|
|
+ case "$COMMAND" in
|
|
+ add)
|
|
+ if [[ "${KERNEL_DIR}" != "/boot" ]]; then
|
|
+ for i in \
|
|
+ "$KERNEL_IMAGE" \
|
|
+ "$KERNEL_DIR"/System.map \
|
|
+ "$KERNEL_DIR"/config \
|
|
+ "$KERNEL_DIR"/zImage.stub \
|
|
+ "$KERNEL_DIR"/dtb \
|
|
+ ; do
|
|
+ [[ -e "$i" ]] || continue
|
|
+ if [ -d "$i" ]; then
|
|
+ cp -a "$i" -t "/boot/${i##*/}-${KERNEL_VERSION}"
|
|
+ else
|
|
+ cp -a "$i" "/boot/${i##*/}-${KERNEL_VERSION}"
|
|
+ fi
|
|
+ command -v restorecon &>/dev/null && \
|
|
+ restorecon -R "/boot/${i##*/}-${KERNEL_VERSION}"
|
|
+ done
|
|
+ # hmac is .vmlinuz-<version>.hmac so needs a special treatment
|
|
+ i="$KERNEL_DIR/.${KERNEL_IMAGE##*/}.hmac"
|
|
+ if [[ -e "$i" ]]; then
|
|
+ cp -a "$i" "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
|
|
+ command -v restorecon &>/dev/null && \
|
|
+ restorecon "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
|
|
+ fi
|
|
+ fi
|
|
+ /sbin/new-kernel-pkg --package "kernel${flavor}" --install "$KERNEL_VERSION" || exit $?
|
|
+ /sbin/new-kernel-pkg --package "kernel${flavor}" --mkinitrd --dracut --depmod --update "$KERNEL_VERSION" || exit $?
|
|
+ /sbin/new-kernel-pkg --package "kernel${flavor}" --rpmposttrans "$KERNEL_VERSION" || exit $?
|
|
+ ;;
|
|
+ remove)
|
|
+ /sbin/new-kernel-pkg --package "kernel${flavor+-$flavor}" --rminitrd --rmmoddep --remove "$KERNEL_VERSION" || exit $?
|
|
+ ;;
|
|
+ *)
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
+ # exit, if we can't find a boot loader spec conforming setup
|
|
+ if ! [[ -d /boot/loader/entries || -L /boot/loader/entries ]]; then
|
|
+ exit 0
|
|
+ fi
|
|
+fi
|
|
+
|
|
if [[ -f /etc/machine-id ]]; then
|
|
read MACHINE_ID < /etc/machine-id
|
|
fi
|
|
--
|
|
2.7.0
|
|
|