summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2012-06-05 15:45:40 +0200
committerDaniel Baumann <daniel@debian.org>2012-06-05 16:11:16 +0200
commit27ebf6d2b60a0ce4acac11794203c9ddc20706e2 (patch)
treee0d2d95923f6e27d1153c7c0eab54d233393eccc
parent23c2e9f4947a2d9be6b63f55cca8e633df3455a3 (diff)
downloadlive-boot-27ebf6d2b60a0ce4acac11794203c9ddc20706e2.tar.gz
live-boot-27ebf6d2b60a0ce4acac11794203c9ddc20706e2.zip
Moving out live-functions from initramfs-tools specifics.
-rw-r--r--Makefile2
-rwxr-xr-xinitramfs-tools/hooks/live3
-rwxr-xr-xinitramfs-tools/scripts/live-bottom/08persistence_excludes4
-rwxr-xr-xinitramfs-tools/scripts/live-bottom/10validateroot4
-rwxr-xr-xinitramfs-tools/scripts/live-bottom/12fstab4
-rwxr-xr-xinitramfs-tools/scripts/live-bottom/23networking4
-rwxr-xr-xscripts/boot.sh9
-rwxr-xr-x[-rw-r--r--]scripts/boot/initramfs-tools.sh (renamed from initramfs-tools/scripts/live-functions)48
-rwxr-xr-xscripts/boot/misc-helpers.sh44
9 files changed, 66 insertions, 56 deletions
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
index f3668f1..37aa0c3 100644..100755
--- 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