From a542d52141acef0e2d2bb78253d6b5df4305dcd1 Mon Sep 17 00:00:00 2001 From: Lyndon Brown Date: Mon, 4 May 2020 18:20:02 +0100 Subject: rename binary_loopback_cfg to binary_grub_cfg when loopback support was introduced, it initially duplicated the code for generating a grub2 config, before the duplicated code was removed from the grub-pc script, effectively thus moving grub config generation to the loopback feature script. grub-efi support was added after this. this results in a misleading filename, since the `binary_loopback_cfg` script is essential for use of grub-pc|grub-efi, and actually only has a single line of code on top that's needed for adding actual loopback support on top. (when grub-pc and grub-efi are not used, the entire script is still needed for loopback support to work). so here we rename it to make better sense, and correct/clarify bits of documentation. Gbp-Dch: Short --- scripts/build/binary | 2 +- scripts/build/binary_grub-efi | 4 +- scripts/build/binary_grub-pc | 4 +- scripts/build/binary_grub_cfg | 289 ++++++++++++++++++++++++++++++++++++++ scripts/build/binary_loopback_cfg | 286 ------------------------------------- 5 files changed, 294 insertions(+), 291 deletions(-) create mode 100755 scripts/build/binary_grub_cfg delete mode 100755 scripts/build/binary_loopback_cfg (limited to 'scripts') diff --git a/scripts/build/binary b/scripts/build/binary index a759a7899..aa1d06ab2 100755 --- a/scripts/build/binary +++ b/scripts/build/binary @@ -54,7 +54,7 @@ lb binary_linux-image "${@}" lb binary_memtest "${@}" lb binary_grub-legacy "${@}" lb binary_grub-pc "${@}" -lb binary_loopback_cfg "${@}" +lb binary_grub_cfg "${@}" lb binary_syslinux "${@}" lb binary_disk "${@}" lb binary_loadlin "${@}" diff --git a/scripts/build/binary_grub-efi b/scripts/build/binary_grub-efi index 2ee26f40d..a7181bfed 100755 --- a/scripts/build/binary_grub-efi +++ b/scripts/build/binary_grub-efi @@ -31,6 +31,8 @@ fi Echo_message "Begin preparing Grub based EFI support..." +# NOTE: We rely on `binary_grub_cfg` to generate grub.cfg and other configuration files! + # Requiring stage file Require_stagefiles config bootstrap @@ -295,7 +297,5 @@ rm -rf chroot/grub-efi-temp-arm-efi rm -rf chroot/grub-efi-temp-cfg rm -rf chroot/grub-efi-temp -# We rely on: binary_loopback_cfg to generate grub.cfg and other configuration files - # Creating stage file Create_stagefile diff --git a/scripts/build/binary_grub-pc b/scripts/build/binary_grub-pc index f639b1aa1..9fca63272 100755 --- a/scripts/build/binary_grub-pc +++ b/scripts/build/binary_grub-pc @@ -31,6 +31,8 @@ fi Echo_message "Begin installing grub-pc..." +# NOTE: We rely on `binary_grub_cfg` to generate grub.cfg and other configuration files! + # Requiring stage file Require_stagefiles config bootstrap @@ -71,8 +73,6 @@ then FILES="$(echo ${FILES} | sed -e 's|chroot||g')" fi -# We rely on: binary_loopback_cfg to generate grub.cfg and other configuration files - # Copying grub cp ${FILES} binary/boot/grub/i386-pc diff --git a/scripts/build/binary_grub_cfg b/scripts/build/binary_grub_cfg new file mode 100755 index 000000000..54649e187 --- /dev/null +++ b/scripts/build/binary_grub_cfg @@ -0,0 +1,289 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2016-2020 The Debian Live team +## Copyright (C) 2006-2015 Daniel Baumann +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +set -e + +# Including common functions +[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh + +# Setting static variables +DESCRIPTION="Generates config for grub-pc and grub-efi, and installs loopback support" +USAGE="${PROGRAM} [--force]" + +# Processing arguments and configuration files +Init_config_data "${@}" + +# NOTE: This creates the config used for both grub-pc and grub-efi. +# It also installs loopback.cfg for looback support, which depends upon that +# config. Since loopback support is added unconditionally, this script is +# thus run unconditionally! +# TODO: Add an option to allow disabling loopback.cfg creation? (and thus conditionally run the script) + +Echo_message "Begin installing config for grub-pc and/or grub-pc, and loopback support..." + +# Requiring stage file +Require_stagefiles config bootstrap + +# Checking stage file +Check_stagefile + +# Acquire lock file +Acquire_lockfile + +# Check architecture +Check_architectures amd64 i386 +Check_crossarchitectures + +_TARGET="binary/boot/grub" + +# Local functions +Grub_live_menu_entry() { + local LABEL="$1" + local KERNEL="$2" + local INITRD="$3" + local APPEND="$4" + local HOTKEY="${5:+ --hotkey=$5}" + + cat >> "${LIVE_ENTRIES_TMP}" <> "${LIVE_ENTRIES_TMP}" < "${_TARGET}"/loopback.cfg + +# Creating stage file +Create_stagefile diff --git a/scripts/build/binary_loopback_cfg b/scripts/build/binary_loopback_cfg deleted file mode 100755 index 4f4e1b95d..000000000 --- a/scripts/build/binary_loopback_cfg +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/sh - -## live-build(7) - System Build Scripts -## Copyright (C) 2016-2020 The Debian Live team -## Copyright (C) 2006-2015 Daniel Baumann -## -## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. -## This is free software, and you are welcome to redistribute it -## under certain conditions; see COPYING for details. - - -set -e - -# Including common functions -[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh - -# Setting static variables -DESCRIPTION="Installs loopback.cfg into binary" -USAGE="${PROGRAM} [--force]" - -# Processing arguments and configuration files -Init_config_data "${@}" - -# We avoid checking if we need to be running this bootloader -# on purpose. The reason: You will always want to have -# a loopback.cfg file -# TODO: Add an option to be able to disable this file creation -Echo_message "Begin installing loopback.cfg..." - -# Requiring stage file -Require_stagefiles config bootstrap - -# Checking stage file -Check_stagefile - -# Acquire lock file -Acquire_lockfile - -# Check architecture -Check_architectures amd64 i386 -Check_crossarchitectures - -_TARGET="binary/boot/grub" - -# Local functions -Grub_live_menu_entry() { - local LABEL="$1" - local KERNEL="$2" - local INITRD="$3" - local APPEND="$4" - local HOTKEY="${5:+ --hotkey=$5}" - - cat >> "${LIVE_ENTRIES_TMP}" <> "${LIVE_ENTRIES_TMP}" < "${_TARGET}"/loopback.cfg - -# Creating stage file -Create_stagefile -- cgit v1.2.3