Blame SOURCES/0023-Conditionally-create-debug-entries-when-installing-k.patch

903092
From 591c275f45202e8f0d2d8f1c719ef224a2ec325c Mon Sep 17 00:00:00 2001
903092
From: Peter Jones <pjones@redhat.com>
903092
Date: Mon, 15 Sep 2014 15:20:34 -0400
903092
Subject: [PATCH 23/41] Conditionally create debug entries when installing
903092
 kernels.
903092
903092
if /etc/sysconfig/kernel has MAKEDEBUG set to "yes", create non-default
903092
entries that have systemd.debug set.
903092
903092
Resolves: rhbz#957681
903092
Signed-off-by: Peter Jones <pjones@redhat.com>
903092
---
903092
 new-kernel-pkg | 190 ++++++++++++++++++++++++++++++++++++---------------------
903092
 1 file changed, 119 insertions(+), 71 deletions(-)
903092
903092
diff --git a/new-kernel-pkg b/new-kernel-pkg
903092
index d9a9b67..70f6118 100755
903092
--- a/new-kernel-pkg
903092
+++ b/new-kernel-pkg
903092
@@ -50,6 +50,7 @@ grubConfig=""
903092
 grub2Config=""
903092
 grub2EfiConfig=""
903092
 extlinuxConfig=""
903092
+ubootScript="/boot/boot.scr"
903092
 
903092
 ARCH=$(uname -m)
903092
 
903092
@@ -120,6 +121,7 @@ mbkernel="$HYPERVISOR"
903092
 mbargs="$HYPERVISOR_ARGS"
903092
 adddracutargs=""
903092
 addplymouthinitrd=""
903092
+DEBUGARG="systemd.debug"
903092
 
903092
 usage() {
903092
     echo "Usage: `basename $0` [-v] [--mkinitrd] [--rminitrd] [--dracut]" >&2
903092
@@ -134,6 +136,41 @@ usage() {
903092
     exit 1
903092
 }
903092
 
903092
+rungrubby() {
903092
+	if [ "$1" == "--debug" ]; then
903092
+		[ "$MAKEDEBUG" != "yes" ] && return 0
903092
+		[ -n "$verbose" ] && echo "- First, making a debug entry."
903092
+		declare -x debugtitle=" with debugging"
903092
+		declare -x debugargs="$DEBUGARG"
903092
+		shift
903092
+	else
903092
+		[ -n "$verbose" ] && echo "- Making a normal entry."
903092
+	fi
903092
+	$(eval $grubby $@)
903092
+	export -n debugargs
903092
+	export -n debugtitle
903092
+	unset debugargs
903092
+	unset debugtitle
903092
+}
903092
+
903092
+set_title() {
903092
+    if [ -n "$banner" ]; then
903092
+	if [ $ARCH = 's390' -o $ARCH = 's390x' ]; then
903092
+	    title=$(echo $banner | sed 's/ /_/g')
903092
+	else
903092
+	    title="$banner ($version)"
903092
+	fi
903092
+    elif [ $ARCH = 's390' -o $ARCH = 's390x' ]; then
903092
+	title=$(echo $version | sed 's/ /_/g')
903092
+    elif [ -f /etc/os-release ]; then
903092
+	. /etc/os-release
903092
+	title="$NAME ($version) $VERSION"
903092
+    elif [ -f /etc/redhat-release ]; then
903092
+	title="$(sed 's/ release.*$//' < /etc/redhat-release) ($version)"
903092
+    else
903092
+	title="Red Hat Linux ($version)"
903092
+    fi
903092
+}
903092
 
903092
 install() {
903092
     # XXX kernel should be able to be specified also (or work right on ia64)
903092
@@ -184,57 +221,49 @@ install() {
903092
 	cfgLilo=""
903092
     fi
903092
 
903092
-
903092
-    if [ -n "$banner" ]; then
903092
-	if [ $ARCH = 's390' -o $ARCH = 's390x' ]; then
903092
-	    title=$(echo $banner | sed 's/ /_/g')
903092
-	else
903092
-	    title="$banner ($version)"
903092
-	fi
903092
-    elif [ $ARCH = 's390' -o $ARCH = 's390x' ]; then
903092
-	title=$(echo $version | sed 's/ /_/g')
903092
-    elif [ -f /etc/os-release ]; then
903092
-	. /etc/os-release
903092
-	title="$NAME ($version) $VERSION"
903092
-    elif [ -f /etc/redhat-release ]; then
903092
-	title="$(sed 's/ release.*$//' < /etc/redhat-release) ($version)"
903092
-    else
903092
-	title="Red Hat Linux ($version)"
903092
-    fi
903092
-
903092
+    set_title
903092
 
903092
     if [ -n "$cfgGrub" ]; then
903092
 	[ -n "$verbose" ] && echo "adding $version to $grubConfig"
903092
 
903092
-	$grubby --grub -c $grubConfig \
903092
-	    --add-kernel=$kernelImage \
903092
-	    $INITRD --copy-default $makedefault --title "$title" \
903092
-	    ${mbkernel:+--add-multiboot="$mbkernel"} ${mbargs:+--mbargs="$mbargs"} \
903092
-	    --args="root=$rootdevice $kernargs" --remove-kernel="TITLE=$title"
903092
+	ARGS="--grub -c $grubConfig --add-kernel=$kernelImage $INITRD \
903092
+		${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+		${mbargs:+--mbargs=\"$mbargs\"} \
903092
+		--title=\"$title\$debugtitle\" --copy-default \
903092
+		--args=\"root=$rootdevice $kernargs \$debugargs\" \
903092
+		--remove-kernel=\"TITLE=$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS} $makedefault
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grubConfig does not exist, not running grubby for grub 0.97"
903092
     fi
903092
     if [ -n "$cfgGrub2" ]; then
903092
 	[ -n "$verbose" ] && echo "adding $version to $grub2Config"
903092
 
903092
-	$grubby --grub2 -c $grub2Config \
903092
-	    --add-kernel=$kernelImage \
903092
-	    $INITRD --copy-default $makedefault --title "$title" \
903092
-	    ${mbkernel:+--add-multiboot="$mbkernel"} \
903092
-	    ${mbargs:+--mbargs="$mbargs"} \
903092
-	    --args="root=$rootdevice $kernargs" --remove-kernel="TITLE=$title"
903092
+	ARGS="--grub2 -c $grub2Config --add-kernel=$kernelImage $INITRD \
903092
+		--copy-default --title \"$title\$debugtitle\" \
903092
+		${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+		${mbargs:+--mbargs=\"$mbargs\"} \
903092
+		--args=\"root=$rootdevice $kernargs \$debugargs\" \
903092
+		--remove-kernel=\"TITLE=$title\$debugtitle\""
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS} $makedefault
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grub2Config does not exist, not running grubby for grub 2"
903092
     fi
903092
     if [ -n "$cfgGrub2Efi" ]; then
903092
 	[ -n "$verbose" ] && echo "adding $version to $grub2EfiConfig"
903092
 
903092
-	$grubby --grub2 -c $grub2EfiConfig --efi \
903092
-	    --add-kernel=$kernelImage $DEVTREE \
903092
-	    $INITRD --copy-default $makedefault --title "$title" \
903092
-	    ${mbkernel:+--add-multiboot="$mbkernel"} \
903092
-	    ${mbargs:+--mbargs="$mbargs"} \
903092
-	    --args="root=$rootdevice $kernargs" --remove-kernel="TITLE=$title"
903092
+	ARGS="--grub2 -c $grub2EfiConfig --efi \
903092
+		--add-kernel=$kernelImage $DEVTREE $INITRD \
903092
+		--copy-default --title \"$title\$debugtitle\" \
903092
+		${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+		${mbargs:+--mbargs=\"$mbargs\"} \
903092
+		--args=\"root=$rootdevice $kernargs \$debugargs\" \
903092
+		--remove-kernel=\"TITLE=$title\$debugtitle\""
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS} $makedefault
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grub2EfiConfig does not exist, not running grubby for grub 2 with UEFI"
903092
     fi
903092
@@ -242,12 +271,15 @@ install() {
903092
     if [ -n "$cfgLilo" ]; then
903092
 	[ -n "$verbose" ] && echo "adding $version to $liloConfig"
903092
 
903092
-	$grubby --add-kernel=$kernelImage $INITRD \
903092
-		--copy-default $makedefault --title "$title" \
903092
-		${mbkernel:+--add-multiboot="$mbkernel"} ${mbargs:+--mbargs="$mbargs"} \
903092
-		--args="root=$rootdevice $kernargs" --remove-kernel="TITLE=$version" \
903092
-		--$liloFlag
903092
+	ARGS="--$liloFlag --add-kernel=$kernelImage $INITRD \
903092
+		--copy-default --title \"$title\$debugtitle\" \
903092
+		${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+		${mbargs:+--mbargs=\"$mbargs\"} \
903092
+		--args=\"root=$rootdevice $kernargs \$debugargs\" \
903092
+		--remove-kernel=\"TITLE=$version\""
903092
 
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS} $makedefault
903092
 	if [ -n "$runLilo" ]; then
903092
 	    [ -n "$verbose" ] && echo "running $lilo"
903092
 	    if [ ! -x $lilo ] ; then
903092
@@ -263,11 +295,15 @@ install() {
903092
     if [ -n "$cfgExtlinux" ]; then
903092
 	[ -n "$verbose" ] && echo "adding $version to $extlinuxConfig"
903092
 
903092
-	$grubby --extlinux -c $extlinuxConfig \
903092
-	    --add-kernel=$kernelImage \
903092
-	    $INITRD --copy-default $makedefault --title "$title" \
903092
-	    ${mbkernel:+--add-multiboot="$mbkernel"} ${mbargs:+--mbargs="$mbargs"} \
903092
-	    --args="root=$rootdevice $kernargs" --remove-kernel="TITLE=$title"
903092
+	ARGS="--extlinux -c $extlinuxConfig --add-kernel=$kernelImage \
903092
+	    $INITRD --copy-default --title \"$title\$debugtitle\" \
903092
+	    ${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+	    ${mbargs:+--mbargs=\"$mbargs\"} \
903092
+	    --args=\"root=$rootdevice $kernargs \$debugargs\" \
903092
+	    --remove-kernel=\"TITLE=$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS} $makedefault
903092
     else
903092
 	[ -n "$verbose" ] && echo "$extlinuxConfig does not exist, not running grubby for extlinux"
903092
     fi
903092
@@ -401,6 +437,8 @@ update() {
903092
 	return
903092
     fi
903092
 
903092
+    set_title
903092
+
903092
     INITRD=""
903092
     if [ -f $initrdfile ]; then
903092
 	[ -n "$verbose" ] && echo "found $initrdfile and using it with grubby"
903092
@@ -413,45 +451,53 @@ update() {
903092
 
903092
     if [ -n "$cfgGrub" ]; then
903092
 	[ -n "$verbose" ] && echo "updating $version from $grubConfig"
903092
-	$grubby --grub -c $grubConfig \
903092
-	    --update-kernel=$kernelImage \
903092
-	    $INITRD \
903092
-	    ${kernargs:+--args="$kernargs"} \
903092
-	    ${removeargs:+--remove-args="$removeargs"} \
903092
-	    ${mbkernel:+--add-multiboot="$mbkernel"}
903092
+	ARGS="--grub -c $grubConfig --update-kernel=$kernelImage $INITRD \
903092
+		${kernargs:+--args=\"$kernargs\"} \
903092
+		${removeargs:+--remove-args=\"$removeargs\"} \
903092
+		${mbkernel:+--add-multiboot=\"$mbkernel\"} \
903092
+		--title=\"$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS}
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grubConfig does not exist, not running grubby"
903092
     fi
903092
 
903092
     if [ -n "$cfgGrub2" ]; then
903092
 	[ -n "$verbose" ] && echo "updating $version from $grub2Config"
903092
-	$grubby --grub2 -c $grub2Config \
903092
-	    --update-kernel=$kernelImage \
903092
-	    $INITRD \
903092
-	    ${kernargs:+--args="$kernargs"} \
903092
-	    ${removeargs:+--remove-args="$removeargs"}
903092
+	ARGS="--grub2 -c $grub2Config --update-kernel=$kernelImage $INITRD \
903092
+		${kernargs:+--args=\"$kernargs\"} \
903092
+		${removeargs:+--remove-args=\"$removeargs\"} \
903092
+		--title=\"$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS}
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grub2Config does not exist, not running grubby"
903092
     fi
903092
 
903092
     if [ -n "$cfgGrub2Efi" ]; then
903092
 	[ -n "$verbose" ] && echo "updating $version from $grub2EfiConfig"
903092
-	$grubby --grub2 -c $grub2EfiConfig --efi \
903092
-	    --update-kernel=$kernelImage \
903092
-	    $INITRD \
903092
-	    ${kernargs:+--args="$kernargs"} \
903092
-	    ${removeargs:+--remove-args="$removeargs"}
903092
+	ARGS="--grub2 -c $grub2EfiConfig --efi --update-kernel=$kernelImage \
903092
+		$INITRD ${kernargs:+--args=\"$kernargs\"} \
903092
+		${removeargs:+--remove-args=\"$removeargs\"} \
903092
+		--title=\"$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS}
903092
     else
903092
 	[ -n "$verbose" ] && echo "$grub2EfiConfig does not exist, not running grubby"
903092
     fi
903092
 
903092
     if [ -n "$cfgLilo" ]; then
903092
 	[ -n "$verbose" ] && echo "updating $version from $liloConfig"
903092
-	$grubby --update-kernel=$kernelImage \
903092
-	    $INITRD \
903092
-	    ${kernargs:+--args="$kernargs"} \
903092
-	    ${removeargs:+--remove-args="$removeargs"}	\
903092
-		     --$liloFlag
903092
+	ARGS="--$liloFlag --update-kernel=$kernelImage $INITRD \
903092
+		${kernargs:+--args=\"$kernargs\"} \
903092
+		${removeargs:+--remove-args=\"$removeargs\"} \
903092
+		--title=\"$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS}
903092
 
903092
 	if [ -n "$runLilo" ]; then
903092
 	    [ -n "$verbose" ] && echo "running $lilo"
903092
@@ -497,11 +543,13 @@ update() {
903092
 
903092
     if [ -n "$cfgExtlinux" ]; then
903092
 	[ -n "$verbose" ] && echo "updating $version from $extlinuxConfig"
903092
-	$grubby --extlinux -c $extlinuxConfig \
903092
-	    --update-kernel=$kernelImage \
903092
-	    $INITRD \
903092
-	    ${kernargs:+--args="$kernargs"} \
903092
-	    ${removeargs:+--remove-args="$removeargs"}
903092
+	ARGS="--extlinux -c $extlinuxConfig --update-kernel=$kernelImage \
903092
+		$INITRD ${kernargs:+--args=\"$kernargs\"} \
903092
+		${removeargs:+--remove-args=\"$removeargs\"} \
903092
+		--title=\"$title\$debugtitle\""
903092
+
903092
+	rungrubby --debug ${ARGS}
903092
+	rungrubby ${ARGS}
903092
     else
903092
 	[ -n "$verbose" ] && echo "$extlinuxConfig does not exist, not running grubby"
903092
     fi
903092
-- 
903092
2.4.3
903092