[SCM] live-boot branch, debian-next, updated. debian/3.0_a28-1-7-gac10f82
Daniel Baumann
daniel at debian.org
Tue Jun 5 13:45:40 UTC 2012
The following commit has been merged in the debian-next branch:
commit ac10f82678fdc26cf0219420726ba1b5dc06ca28
Author: Daniel Baumann <daniel at debian.org>
Date: Tue Jun 5 15:45:40 2012 +0200
Moving out live-functions from initramfs-tools specifics.
diff --git a/Makefile b/Makefile
index cd31f05..23c6a03 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/initramfs-tools/scripts/live-functions b/initramfs-tools/scripts/live-functions
deleted file mode 100644
index f3668f1..0000000
--- a/initramfs-tools/scripts/live-functions
+++ /dev/null
@@ -1,111 +0,0 @@
-
-. /scripts/functions
-. /live.vars
-
-log_wait_msg ()
-{
- # Print a message and wait for enter
- if [ -x /bin/plymouth ] && plymouth --ping
- then
- plymouth message --text="$@"
- plymouth watch-keystroke | read nunya
- fi
-
- _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()
-{
- if [ "${break}" = "$1" ]; then
- # Call original panic
- . /scripts/functions
- panic "Spawning shell within the initramfs"
- fi
-}
-
-# Override panic from scripts/functions
-panic() {
-
- DEB_1="\033[1;31m .''\`. \033[0m"
- DEB_2="\033[1;31m: :' : \033[0m"
- DEB_3="\033[1;31m\`. \`'\` \033[0m"
- DEB_4="\033[1;31m \`- \033[0m"
-
- LIVELOG="\033[1;37m/boot.log\033[0m"
- DEBUG="\033[1;37mdebug\033[0m"
-
- # Reset redirections to avoid buffering
- exec 1>&6 6>&-
- exec 2>&7 7>&-
- kill ${tailpid}
-
- printf "\n\n"
- printf " ${DEB_1}\n"
- printf " ${DEB_2} \033[1;37mBOOT FAILED!\033[0m\n"
- printf " ${DEB_3}\n"
- printf " ${DEB_4} This Debian Live image failed to boot.\n\n"
-
- printf " Please file a bug against the 'live-boot' package or email the Debian\n"
- printf " Live mailing list at <debian-live at lists.debian.org>, making sure to note the\n"
- printf " exact version, name and distribution of the image you were attempting to boot.\n\n"
-
- printf " The file ${LIVELOG} contains some debugging information but booting with the\n"
- printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n"
- printf " extremely useful when diagnosing issues.\n\n"
-
- if [ -n "${panic}" ]; then
- printf " live-boot will now restart your system. "
- else
- printf " live-boot will now start a shell. "
- fi
- printf "The error message was:\n\n "
-
- # Call original panic
- . /scripts/functions
- panic "$@"
-}
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/scripts/boot/initramfs-tools.sh b/scripts/boot/initramfs-tools.sh
new file mode 100755
index 0000000..37aa0c3
--- /dev/null
+++ b/scripts/boot/initramfs-tools.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+#set -e
+
+log_wait_msg ()
+{
+ # Print a message and wait for enter
+ if [ -x /bin/plymouth ] && plymouth --ping
+ then
+ plymouth message --text="$@"
+ plymouth watch-keystroke | read nunya
+ fi
+
+ _log_msg "Waiting: ${@} ... \n"
+}
+
+# Override maybe_break from scripts/functions
+maybe_break()
+{
+ if [ "${break}" = "$1" ]; then
+ # Call original panic
+ . /scripts/functions
+ panic "Spawning shell within the initramfs"
+ fi
+}
+
+# Override panic from scripts/functions
+panic() {
+
+ DEB_1="\033[1;31m .''\`. \033[0m"
+ DEB_2="\033[1;31m: :' : \033[0m"
+ DEB_3="\033[1;31m\`. \`'\` \033[0m"
+ DEB_4="\033[1;31m \`- \033[0m"
+
+ LIVELOG="\033[1;37m/boot.log\033[0m"
+ DEBUG="\033[1;37mdebug\033[0m"
+
+ # Reset redirections to avoid buffering
+ exec 1>&6 6>&-
+ exec 2>&7 7>&-
+ kill ${tailpid}
+
+ printf "\n\n"
+ printf " ${DEB_1}\n"
+ printf " ${DEB_2} \033[1;37mBOOT FAILED!\033[0m\n"
+ printf " ${DEB_3}\n"
+ printf " ${DEB_4} This Debian Live image failed to boot.\n\n"
+
+ printf " Please file a bug against the 'live-boot' package or email the Debian\n"
+ printf " Live mailing list at <debian-live at lists.debian.org>, making sure to note the\n"
+ printf " exact version, name and distribution of the image you were attempting to boot.\n\n"
+
+ printf " The file ${LIVELOG} contains some debugging information but booting with the\n"
+ printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n"
+ printf " extremely useful when diagnosing issues.\n\n"
+
+ if [ -n "${panic}" ]; then
+ printf " live-boot will now restart your system. "
+ else
+ printf " live-boot will now start a shell. "
+ fi
+ printf "The error message was:\n\n "
+
+ # Call original panic
+ . /scripts/functions
+ panic "$@"
+}
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
--
live-boot
More information about the debian-live-changes
mailing list