From: Daniel Baumann Date: Tue, 5 Jun 2012 13:45:40 +0000 (+0200) Subject: Moving out live-functions from initramfs-tools specifics. X-Git-Tag: debian/3.0_a29-1~3 X-Git-Url: https://git.grml.org/?a=commitdiff_plain;h=27ebf6d2b60a0ce4acac11794203c9ddc20706e2;p=live-boot-grml.git Moving out live-functions from initramfs-tools specifics. --- diff --git a/Makefile b/Makefile index 25b21ba..e202f85 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SHELL := sh -e LANGUAGES = $(shell cd manpages/po && ls) -SCRIPTS = bin/* initramfs-tools/hooks/* initramfs-tools/scripts/live initramfs-tools/scripts/live-functions initramfs-tools/scripts/*/* scripts/*.sh scripts/*/* +SCRIPTS = bin/* initramfs-tools/hooks/* initramfs-tools/scripts/live initramfs-tools/scripts/*/* scripts/*.sh scripts/*/* all: build diff --git a/initramfs-tools/hooks/live b/initramfs-tools/hooks/live index f0e945f..cfe1534 100755 --- a/initramfs-tools/hooks/live +++ b/initramfs-tools/hooks/live @@ -68,9 +68,6 @@ mkdir -p "${DESTDIR}"/lib/live-boot copy_exec /usr/share/live-boot/live-reconfigure /bin copy_exec /usr/share/live-boot/live-preseed /bin -# Scripts -cp /usr/share/initramfs-tools/scripts/live-functions "${DESTDIR}"/scripts - # klibc dependencies for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr* do diff --git a/initramfs-tools/scripts/live-bottom/08persistence_excludes b/initramfs-tools/scripts/live-bottom/08persistence_excludes index 633f6ac..04c685d 100755 --- a/initramfs-tools/scripts/live-bottom/08persistence_excludes +++ b/initramfs-tools/scripts/live-bottom/08persistence_excludes @@ -31,7 +31,9 @@ then exit 0 fi -. /scripts/live-functions +# FIXME: stop hardcoding overloading of initramfs-tools functions +. /scripts/functions +. /lib/live/boot/initramfs-tools.sh # live-boot script diff --git a/initramfs-tools/scripts/live-bottom/10validateroot b/initramfs-tools/scripts/live-bottom/10validateroot index 32fcea3..3946306 100755 --- a/initramfs-tools/scripts/live-bottom/10validateroot +++ b/initramfs-tools/scripts/live-bottom/10validateroot @@ -20,7 +20,9 @@ case "${1}" in ;; esac -. /scripts/live-functions +# FIXME: stop hardcoding overloading of initramfs-tools functions +. /scripts/functions +. /lib/live/boot/initramfs-tools.sh if ! [ -d "/root/usr/share/live-boot" ] then diff --git a/initramfs-tools/scripts/live-bottom/12fstab b/initramfs-tools/scripts/live-bottom/12fstab index 7f43937..89f6e1e 100755 --- a/initramfs-tools/scripts/live-bottom/12fstab +++ b/initramfs-tools/scripts/live-bottom/12fstab @@ -21,7 +21,9 @@ esac # live-boot header -. /scripts/live-functions +# FIXME: stop hardcoding overloading of initramfs-tools functions +. /scripts/functions +. /lib/live/boot/initramfs-tools.sh if [ -n "${NOFSTAB}" ] then diff --git a/initramfs-tools/scripts/live-bottom/23networking b/initramfs-tools/scripts/live-bottom/23networking index 86d4562..7fca6ff 100755 --- a/initramfs-tools/scripts/live-bottom/23networking +++ b/initramfs-tools/scripts/live-bottom/23networking @@ -25,7 +25,9 @@ then exit 0 fi -. /scripts/live-functions +# FIXME: stop hardcoding overloading of initramfs-tools functions +. /scripts/functions +. /lib/live/boot/initramfs-tools.sh log_begin_msg "Preconfiguring networking" diff --git a/scripts/boot.sh b/scripts/boot.sh index 0b18a9c..5a64d70 100755 --- a/scripts/boot.sh +++ b/scripts/boot.sh @@ -2,6 +2,12 @@ # set -e +if [ -e /scripts/functions ] +then + # initramfs-tools specific (FIXME) + . /scripts/functions +fi + for _SCRIPT in /lib/live/boot/* do if [ -e "${_SCRIPT}" ] @@ -462,8 +468,7 @@ mountroot () tail -f boot.log >&7 & tailpid="${!}" - # Ensure 'panic' function is overridden - . /scripts/live-functions + . /live.vars Arguments diff --git a/initramfs-tools/scripts/live-functions b/scripts/boot/initramfs-tools.sh old mode 100644 new mode 100755 similarity index 60% rename from initramfs-tools/scripts/live-functions rename to scripts/boot/initramfs-tools.sh index f3668f1..37aa0c3 --- a/initramfs-tools/scripts/live-functions +++ b/scripts/boot/initramfs-tools.sh @@ -1,6 +1,6 @@ +#!/bin/sh -. /scripts/functions -. /live.vars +#set -e log_wait_msg () { @@ -14,50 +14,6 @@ log_wait_msg () _log_msg "Waiting: ${@} ... \n" } -really_export () -{ - STRING="${1}" - VALUE="$(eval echo -n \${$STRING})" - - if [ -f /live.vars ] && grep -sq "export ${STRING}" /live.vars - then - sed -i -e 's/\('${STRING}'=\).*$/\1'${VALUE}'/' /live.vars - else - echo "export ${STRING}=\"${VALUE}\"" >> /live.vars - fi - - eval export "${STRING}"="${VALUE}" -} - -lang2locale() { - langpart="${1%%_*}" - if [ "$1" != "C" ]; then - # Match the language code with 3rd field in languagelist - line=$(grep -v "^#" /usr/share/live-boot/languagelist | cut -f1,3,6 -d\; | grep -v ';C$' | grep "^$langpart;") - if [ -n "$line" ]; then - if [ "$(echo "$line" | grep -c '')" -gt 1 ]; then - # More than one match; try matching the - # country as well. - countrypart="${1#*_}" - if [ "$countrypart" = "$1" ]; then - countryline="$(echo "$line" | head -n1)" - echo "${countryline##*;}" - return - fi - countrypart="${countrypart%%[@.]*}" - countryline="$(echo "$line" | grep ";$countrypart;" | head -n1 || true)" - if [ "$countryline" ]; then - echo "${countryline##*;}" - return - fi - fi - echo "${line##*;}" - fi - else - echo "C" - fi -} - # Override maybe_break from scripts/functions maybe_break() { diff --git a/scripts/boot/misc-helpers.sh b/scripts/boot/misc-helpers.sh index fe45ee1..3f2d7fb 100755 --- a/scripts/boot/misc-helpers.sh +++ b/scripts/boot/misc-helpers.sh @@ -2,6 +2,50 @@ #set -e +really_export () +{ + STRING="${1}" + VALUE="$(eval echo -n \${$STRING})" + + if [ -f /live.vars ] && grep -sq "export ${STRING}" /live.vars + then + sed -i -e 's/\('${STRING}'=\).*$/\1'${VALUE}'/' /live.vars + else + echo "export ${STRING}=\"${VALUE}\"" >> /live.vars + fi + + eval export "${STRING}"="${VALUE}" +} + +lang2locale() { + langpart="${1%%_*}" + if [ "$1" != "C" ]; then + # Match the language code with 3rd field in languagelist + line=$(grep -v "^#" /usr/share/live-boot/languagelist | cut -f1,3,6 -d\; | grep -v ';C$' | grep "^$langpart;") + if [ -n "$line" ]; then + if [ "$(echo "$line" | grep -c '')" -gt 1 ]; then + # More than one match; try matching the + # country as well. + countrypart="${1#*_}" + if [ "$countrypart" = "$1" ]; then + countryline="$(echo "$line" | head -n1)" + echo "${countryline##*;}" + return + fi + countrypart="${countrypart%%[@.]*}" + countryline="$(echo "$line" | grep ";$countrypart;" | head -n1 || true)" + if [ "$countryline" ]; then + echo "${countryline##*;}" + return + fi + fi + echo "${line##*;}" + fi + else + echo "C" + fi +} + is_in_list_separator_helper () { local sep=${1} shift