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

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