[oe-commits] org.oe.dev altboot:

coredump commit openembedded-commits at lists.openembedded.org
Thu Oct 26 16:11:48 UTC 2006


altboot:
- Add altbootctl to set altboot options on a permanent or per-reboot basis
- Only remember selections for the next boot that actually make sense
- Cleanup of run_timer()
- Disabled existing kexec modules due to a planned rework

Author: coredump at openembedded.org
Branch: org.openembedded.dev
Revision: 185633f8bb0ba884443e170989d375777cc45902
ViewMTN: http://monotone.openembedded.org/revision.psp?id=185633f8bb0ba884443e170989d375777cc45902
Files:
1
packages/altboot/files/altbootctl
packages/altboot/files/altbootctl.conf
packages/altboot/altboot_0.0.0.bb
packages/altboot/files/altboot-menu/Advanced/70-install-tgz
packages/altboot/files/altboot-menu/Advanced/70-setKernel
packages/altboot/files/altboot-menu/Advanced/80-configure-kexec
packages/altboot/files/altboot-menu/Advanced/80-copyrootfs
packages/altboot/files/altboot.func
packages/altboot/files/init.altboot
mtn:execute
true
Diffs:

#
# mt diff -r292370be96ae823e50cc7a6150f75e83d93c1f58 -r185633f8bb0ba884443e170989d375777cc45902
#
# 
# 
# add_file "packages/altboot/files/altbootctl"
#  content [598131c375f63ab829de63fb559a105e6c38c72f]
# 
# add_file "packages/altboot/files/altbootctl.conf"
#  content [a609c0d2d8e4429885f585b70e10bb5413f1d51e]
# 
# patch "packages/altboot/altboot_0.0.0.bb"
#  from [e545e6817d366a2ded44822b96cddcfd4565e139]
#    to [244c72e3711fec1c4a3e752210eccc27297e19e9]
# 
# patch "packages/altboot/files/altboot-menu/Advanced/70-install-tgz"
#  from [92a063d1e3a2828d2e1f6b2249d49f5f3cf28592]
#    to [f8320c93b94c9d4a809efbee119bf4c81dd571f0]
# 
# patch "packages/altboot/files/altboot-menu/Advanced/70-setKernel"
#  from [94b21109eca41d7ce71e3e290477a703762bf561]
#    to [fb78e02d4d7b413be485d0aba9aea195d192a8d7]
# 
# patch "packages/altboot/files/altboot-menu/Advanced/80-configure-kexec"
#  from [a810c21c656e173bd90c29aa57588f079fce9730]
#    to [105e0e495a1455bdb36ed000eb0f1347e5dc4a84]
# 
# patch "packages/altboot/files/altboot-menu/Advanced/80-copyrootfs"
#  from [c0d55e4ab6b93018312ce6ed55437f0113b39781]
#    to [947efa59783050dc8ec55554d8daf087b4e8a302]
# 
# patch "packages/altboot/files/altboot.func"
#  from [6fa0ea7a84120af02ef7eceabaa59b6503f39b27]
#    to [5a124e4881c0d4938960cf04034e26f22edb8d99]
# 
# patch "packages/altboot/files/init.altboot"
#  from [b2ebebeb6c47f146fc97200691f97598de181309]
#    to [f023a757c6da95d104e6d89ac36c528b31152f05]
# 
#   set "packages/altboot/files/altbootctl"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- packages/altboot/files/altbootctl	598131c375f63ab829de63fb559a105e6c38c72f
+++ packages/altboot/files/altbootctl	598131c375f63ab829de63fb559a105e6c38c72f
@@ -0,0 +1,309 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel at hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: hentges-setup.sh
+# Date: 03-Jun-06
+
+die() {
+	echo -e "$*"
+	exit 1
+}
+
+
+PERMANENT_CFG="/etc/altboot-`uname -r | cut -c1-3`.cfg"
+TEMPORARY_CFG="/etc/altboot-`uname -r | cut -c1-3`.cfg.next-reboot"
+
+CFG="$PERMANENT_CFG"
+SCRIPT_CONFIG="/etc/altbootctl.conf"
+
+test -e "$SCRIPT_CONFIG" && . "$SCRIPT_CONFIG" || die "$SCRIPT_CONFIG not found"
+
+# $1= Setting, $2 = new value
+set_pref() {
+	
+	if ( cat "$CFG" | grep -q "$1" )
+	then
+		cat "$CFG" | sed "/^$1/s/\(.*\)\=\(.*\)/\1\=\"$2\"/" > ${CFG}_
+		mv ${CFG}_  ${CFG}
+	else
+		echo "$1=\"$2\"" >> "${CFG}"
+	fi
+}
+
+# $1= Setting
+get_pref() {
+	n="$1"
+	value="`cat "${CFG}" | sed -n "/^$n/s/\(.*\)\=\\"\(.*\)\\"/\2/p"`"
+	#echo "cat "${CFG}" | sed -n "/^$n/s/\(.*\)\=\"\(.*\)\"/\2/p""
+	test -z "$value" && die "Couldn't get value for [$n]"
+	echo "$value"
+}
+
+ask_pref() {
+	SETTING_NAME="$1"
+	
+	SETTING_TEXT_="${SETTING_NAME}_TEXT"
+	SETTING_TEXT="`eval echo -e \\$${SETTING_TEXT_}`"	
+
+	SETTING_VALUES_="${SETTING_NAME}_VALUES"
+	SETTING_VALUES="`eval echo -e \\$${SETTING_VALUES_}`"	
+	
+	SETTING_OLD_VALUE="`get_pref "$SETTING_NAME"`"
+	test -z "$SETTING_TEXT" -o -z "$SETTING_VALUES" && die "ask_pref: [$1] -> [$SETTING_TEXT] [$SETTING_VALUES]"
+	
+	#echo "[$1] -> $SETTING_OLD_VALUE"
+	#echo -e "$SETTING_TEXT"
+
+
+	if test "$SETTING_VALUES" = "<STRING>"
+	then				
+		while true
+		do
+			echo -e "\nPlease enter a new value [$SETTING_OLD_VALUE]"
+			echo -en "Your Choice: "
+			read junk
+			
+			echo ""
+						
+			while true
+			do
+				echo -n "Is the new value of [$junk] correct? [Y|n] "
+				read junk2
+				
+				case "$junk2" in
+				y|Y|"")		END_LOOP=true
+						break ;;
+				*)		END_LOOP=false
+						break ;;
+				esac
+			done
+			
+			if test "$END_LOOP" = "true"
+			then
+				SETTING_NEW_VALUE="$junk"
+				break
+			fi
+		
+		done
+		
+	else	
+		# If it's not a string, it's a fixed list of possible settings
+		echo -e "\nSelect one of the following:\n"	
+		cnt=1	
+		for val in $SETTING_VALUES
+		do
+			if test "$val" != "$SETTING_OLD_VALUE"
+			then
+				echo -e "\t[$cnt] $val"
+			else
+				echo -e "\t[$cnt] $val *"
+				SETTING_OLD_VALUE_NUM="$cnt"
+			fi
+			let cnt=$cnt+1
+		done
+
+		echo ""
+		while true
+		do
+			echo -en "Your choice [$SETTING_OLD_VALUE_NUM]: "
+			read junk		
+
+			if test -n "$junk"
+			then
+				cnt=1 ; SETTING_NEW_VALUE=""
+				for val in $SETTING_VALUES
+				do
+					if test "$junk" = "$cnt"
+					then
+						SETTING_NEW_VALUE="$val"
+						break
+					fi
+
+					let cnt=$cnt+1
+				done
+			else
+				SETTING_NEW_VALUE="$SETTING_OLD_VALUE"
+			fi
+
+			test -n "$SETTING_NEW_VALUE" && break
+		done
+		
+	fi
+		
+	
+	if test "$SETTING_NEW_VALUE" != "$SETTING_OLD_VALUE"
+	then
+		set_pref "$SETTING_NAME" "$SETTING_NEW_VALUE"
+		echo "Changed $SETTING_NAME to $SETTING_NEW_VALUE"
+	else
+		echo "$SETTING_NAME remains unchanged"
+	fi
+	echo -e "\n"
+}
+
+build_menu() {
+	for setting in $TARGETS
+	do	
+		# SETTING_MENUPOS contains $setting_MENUPOS
+		SETTING_MENUPOS_="${setting}_MENUPOS"
+		SETTING_MENUPOS="`eval echo -e \\$${SETTING_MENUPOS_}`"	
+
+		# Store all entries in variables named after the menu name
+		MENU_NAME="SUBMENU_${SETTING_MENUPOS}"
+		export "${MENU_NAME}"="`eval echo -e \\$${MENU_NAME} ` $setting"
+		
+		
+		echo "$AVAILABLE_MENUES" | grep -q "$SETTING_MENUPOS" || AVAILABLE_MENUES="$SETTING_MENUPOS $AVAILABLE_MENUES"
+						
+	done	
+	
+	#echo "[$AVAILABLE_MENUES]"
+	
+	while true
+	do
+		echo -e "\nSelect a menu:\n"
+		cnt=1
+		for menu in $AVAILABLE_MENUES Exit
+		do
+			MENU_NAME="SUBMENU_$menu"
+			echo -e "\t[$cnt] $menu"
+			let cnt=$cnt+1
+		done
+		
+		echo ""
+		
+		while true
+		do
+			echo -n "Your Choice: "
+			read junk
+
+			cnt=1 ; GET_MENU=""
+			for menu in $AVAILABLE_MENUES Exit
+			do
+				if test "$cnt" = "$junk"
+				then
+					GET_MENU="$menu"
+					break
+				fi
+				let cnt=$cnt+1
+			done
+
+			if test "$GET_MENU" = "Exit"
+			then
+				EXIT_PROG=true
+				break
+			else
+				EXIT_PROG=false
+			fi
+			
+			if test -n "$GET_MENU"
+			then
+				show_menu "$menu"
+				break
+			fi
+		done		
+		test "$EXIT_PROG" = true && break
+	done
+}
+
+show_menu() {
+	MENU_NAME="SUBMENU_$1"
+
+	
+	while true
+	do
+		echo -e "\nEntries in this menu:\n"
+		cnt=1
+		for entry in `eval echo -e \\$${MENU_NAME}` Back
+		do
+			MENU_NAME_TEXT="${entry}_TEXT" || MENU_NAME_TEXT="${entry}"
+			
+			test "$entry" != Back && tmp_="`eval echo -e \\$${MENU_NAME_TEXT}`" || tmp_="Back"
+			
+			echo -e "\t[$cnt] $tmp_"
+			let cnt=$cnt+1
+		done	
+
+		echo ""
+	
+		while true
+		do
+			echo -en "Your Choice: "
+			read junk
+
+			cnt=1 ; GET_ENTRY=""
+			for entry in `eval echo -e \\$${MENU_NAME}` Back
+			do
+				if test "$cnt" = "$junk"
+				then
+					GET_ENTRY="$entry"
+					break
+				fi
+				let cnt=$cnt+1
+			done
+
+			if test "$GET_ENTRY" = "Back"
+			then
+				EXIT_MENU=true
+				break
+			else
+				EXIT_MENU=false
+			fi
+			
+			
+			# At this point the user has selected a menuitem != "Back"
+			if test -n "$GET_ENTRY"
+			then
+				select_config
+				ask_pref "$GET_ENTRY"
+				break
+			fi
+		done	
+		
+		test "$EXIT_MENU" = true && break		
+	done
+}
+
+select_config() {
+	echo -e "\nChange this setting only for the next reboot or permanently?\n"
+
+	echo -e "Select one of the following:\n"
+
+	echo -e "\t[1] Only for the next reboot"
+	echo -e "\t[2] Permanently"
+	echo ""
+	
+	while true
+	do
+		echo -en "Your Choice: "
+		read junk
+		
+		case "$junk" in
+		2)	CFG="$PERMANENT_CFG"
+			break ;;
+		1)	CFG="$TEMPORARY_CFG"
+			break ;;
+		esac		
+	done
+	
+	# Supress error message about missing config
+	! test -e "$CFG" && touch "$CFG"
+	
+}
+
+go() {
+	build_menu
+	
+	exit 0
+	for setting in $TARGETS
+	do
+		ask_pref "$setting"
+	done
+	
+}
+
+
+! test -e "$CFG" && die "[$CFG] not found, exiting"
+go
============================================================
--- packages/altboot/files/altbootctl.conf	a609c0d2d8e4429885f585b70e10bb5413f1d51e
+++ packages/altboot/files/altbootctl.conf	a609c0d2d8e4429885f585b70e10bb5413f1d51e
@@ -0,0 +1,90 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel at hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: hentges-setup.conf
+# Date: 04-Jun-06
+
+
+TARGETS="REMEMBER_LAST_SELECTION ENABLE_ALTBOOT FSCK_IMAGES TIMEOUT INIT_RUNLEVEL NO_GUI_RL \
+	 USB_HOST_AVAILABLE USB_NETWORKING_AVAILABLE ASK_PW_ON_BOOT SD_DEVICE SD_KERNEL_MODULE \
+	 IMAGE_PATH IMAGE_TYPE ENABLE_IMAGECONF USB_STORAGE_MODULES USB_STORAGE_PARTITION \
+	 USB_STORAGE_WAIT SD_MOUNTPOINT"
+
+
+REMEMBER_LAST_SELECTION_VALUES="yes no"
+REMEMBER_LAST_SELECTION_TEXT="Remember the last selected menu item for next boot"
+REMEMBER_LAST_SELECTION_MENUPOS="Core"
+
+ENABLE_ALTBOOT_VALUES="yes no"
+ENABLE_ALTBOOT_TEXT="Enable or disable the altboot boot-manager"
+ENABLE_ALTBOOT_MENUPOS="Core"
+
+TIMEOUT_VALUES="<STRING>"
+TIMEOUT_TEXT="Altboot boot-menu timeout in seconds"
+TIMEOUT_MENUPOS="Core"
+
+INIT_RUNLEVEL_VALUES="<STRING>"
+INIT_RUNLEVEL_TEXT="Default runlevel"
+INIT_RUNLEVEL_MENUPOS="Core"
+
+NO_GUI_RL_VALUES="<STRING>"
+NO_GUI_RL_TEXT="GUI-less runlevel"
+NO_GUI_RL_MENUPOS="Core"
+
+ENABLE_DEBUG_VALUES="yes no"
+ENABLE_DEBUG_TEXT="Enable debug output"
+ENABLE_DEBUG_MENUPOS="Core"
+
+FSCK_IMAGES_VALUES="yes no"
+FSCK_IMAGES_TEXT="Automatically fsck loop-images"
+FSCK_IMAGES_MENUPOS="LoopImages"
+
+IMAGE_PATH_VALUES="<STRING>"
+IMAGE_PATH_TEXT="Subdirectory for loop-files"
+IMAGE_PATH_MENUPOS="LoopImages"
+
+IMAGE_TYPE_VALUES="<STRING>"
+IMAGE_TYPE_TEXT="Image FS type"
+IMAGE_TYPE_MENUPOS="LoopImages"
+
+ENABLE_IMAGECONF_VALUES="yes no"
+ENABLE_IMAGECONF_TEXT="Configure new loop-images on 1st boot"
+ENABLE_IMAGECONF_MENUPOS="LoopImages"
+
+USB_HOST_AVAILABLE_VALUES="yes no"
+USB_HOST_AVAILABLE_TEXT="Device supports full USB *HOST* mode"
+USB_HOST_AVAILABLE_MENUPOS="USB"
+
+USB_NETWORKING_AVAILABLE_VALUES="yes no"
+USB_NETWORKING_AVAILABLE_TEXT="USB networking is available"
+USB_NETWORKING_AVAILABLE_MENUPOS="USB"
+
+USB_STORAGE_MODULES_VALUES="<STRING>"
+USB_STORAGE_MODULES_TEXT="Kernelmodules required for USB"
+USB_STORAGE_MODULES_MENUPOS="USB"
+
+USB_STORAGE_PARTITION_VALUES="<STRING>"
+USB_STORAGE_PARTITION_TEXT="USB storage device file"
+USB_STORAGE_PARTITION_MENUPOS="USB"
+
+USB_STORAGE_WAIT_VALUES="<STRING>"
+USB_STORAGE_WAIT_TEXT="Wait x seconds before mount USB storage"
+USB_STORAGE_WAIT_MENUPOS="USB"
+
+ASK_PW_ON_BOOT_VALUES="yes no"
+ASK_PW_ON_BOOT_TEXT="Alway ask altboot password on boot"
+ASK_PW_ON_BOOT_MENUPOS="Core"
+
+SD_DEVICE_VALUES="<STRING>"
+SD_DEVICE_TEXT="The device-file for the SD card"
+SD_DEVICE_MENUPOS="SD_MMC"
+
+SD_KERNEL_MODULE_VALUES="<STRING>"
+SD_KERNEL_MODULE_TEXT="Kernelmodule required for SD operation"
+SD_KERNEL_MODULE_MENUPOS="SD_MMC"
+
+SD_MOUNTPOINT_VALUES="<STRING>"
+SD_MOUNTPOINT_TEXT="Mointpoint for the SD card"
+SD_MOUNTPOINT_MENUPOS="SD_MMC"
============================================================
--- packages/altboot/altboot_0.0.0.bb	e545e6817d366a2ded44822b96cddcfd4565e139
+++ packages/altboot/altboot_0.0.0.bb	244c72e3711fec1c4a3e752210eccc27297e19e9
@@ -20,7 +20,7 @@ RDEPENDS_${PN} = "${PN}-conf"
 
 ######################################################################################
 
-PR = "r45"
+PR = "r46"
 
 ######################################################################################
 
@@ -35,6 +35,8 @@ SRC_URI = "file://altboot-menu \
 	   file://altboot.func \	 
 	   file://init.altboot \
 	   file://altboot*.cfg \
+	   file://altbootctl.conf \
+	   file://altbootctl \
 	   file://beep.raw"
 
 # S = "${WORKDIR}/altboot/"
@@ -56,7 +58,9 @@ do_install() {
 	install -m 0644 ${WORKDIR}/beep.raw ${D}/usr/share/sounds
 	install -m 0644 ${WORKDIR}/altboot*.cfg ${D}/etc
 	install -m 0644 ${WORKDIR}/altboot.func ${D}/etc
+	install -m 0644 ${WORKDIR}/altbootctl.conf ${D}/etc
 	install -m 0755 ${WORKDIR}/init.altboot ${D}/sbin
+	install -m 0755 ${WORKDIR}/altbootctl ${D}/sbin
 	
 	install -m 0755 ${WORKDIR}/altboot-menu/*-* ${D}/etc/altboot-menu
 
============================================================
--- packages/altboot/files/altboot-menu/Advanced/70-install-tgz	92a063d1e3a2828d2e1f6b2249d49f5f3cf28592
+++ packages/altboot/files/altboot-menu/Advanced/70-install-tgz	f8320c93b94c9d4a809efbee119bf4c81dd571f0
@@ -1,6 +1,6 @@
 #!/bin/sh
-
 M_TITLE="Install RootFS from tar.gz"
+M_FLAGS="noRemember"
 
 run_module(){
 	test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"	
@@ -259,5 +259,6 @@ title)	echo "$M_TITLE";;
 
 case "$1" in
 title)	echo "$M_TITLE";;
+flags)	echo "$M_FLAGS";;
 run)	run_module "$2";;
 esac
============================================================
--- packages/altboot/files/altboot-menu/Advanced/70-setKernel	94b21109eca41d7ce71e3e290477a703762bf561
+++ packages/altboot/files/altboot-menu/Advanced/70-setKernel	fb78e02d4d7b413be485d0aba9aea195d192a8d7
@@ -1,8 +1,9 @@ M_TITLE="Choose kernel for next boot"
 # !/bin/sh
 M_TITLE="Choose kernel for next boot"
 
+# Deprecated due to altbootctl
+exit 0
 
-
 # Only kernel 2.6 offers kexec support
 uname -r | grep -q "^2.6" || exit 0
 
============================================================
--- packages/altboot/files/altboot-menu/Advanced/80-configure-kexec	a810c21c656e173bd90c29aa57588f079fce9730
+++ packages/altboot/files/altboot-menu/Advanced/80-configure-kexec	105e0e495a1455bdb36ed000eb0f1347e5dc4a84
@@ -1,6 +1,8 @@ M_TITLE="Configure kexec CMDLINE"
 # !/bin/sh
 M_TITLE="Configure kexec CMDLINE"
 
+# Deprecated due to altbootctl
+exit 0
 
 
 # Only kernel 2.6 offers kexec support
============================================================
--- packages/altboot/files/altboot-menu/Advanced/80-copyrootfs	c0d55e4ab6b93018312ce6ed55437f0113b39781
+++ packages/altboot/files/altboot-menu/Advanced/80-copyrootfs	947efa59783050dc8ec55554d8daf087b4e8a302
@@ -1,5 +1,6 @@ M_TITLE="Copy rootfs to SD/CF"
 # !/bin/sh
 M_TITLE="Copy rootfs to SD/CF"
+M_FLAGS="noRemember"
 
 # Unfinished script.
 exit 0
@@ -317,5 +318,6 @@ title)	echo "$M_TITLE";;
 
 case "$1" in
 title)	echo "$M_TITLE";;
+flags)	echo "$M_FLAGS";;
 run)	run_module;;
 esac
============================================================
--- packages/altboot/files/altboot.func	6fa0ea7a84120af02ef7eceabaa59b6503f39b27
+++ packages/altboot/files/altboot.func	5a124e4881c0d4938960cf04034e26f22edb8d99
@@ -580,11 +580,15 @@ set_pref() {
 	data_id="$2"
 	data_value="$3"
 	
-	#echo "[$1] [$2] [$3]"
+	#debug_echo "[$1] [$2] [$3]"
 	#export "${data_name}"="`eval echo -e \\$${data_name} | sed "s/\#\#\#/\#\#\#\\n/g"|sed s/^\ // | sed s/^$data_id.*//`"
 
-	export "${data_name}"="`eval echo -e \\$${data_name} `$data_id##$data_value###"
-	
+	if test -z "$3"
+	then
+		debug_echo "set_pref(): WARNING, writing empty value to $data_name / $data_id! THIS WILL BREAK THINGS"
+		#data_value=" "
+	fi
+	export "${data_name}"="`eval echo -e \\$${data_name} `$data_id##$data_value###"		
 }
 
 # $1: uniq name
@@ -602,9 +606,34 @@ dump_pref() {
 
 dump_pref() {
 	data_name="$1"	
-	echo "`eval echo -e \\$${data_name} | sed "s/\#\#\#/\#\#\#\\n/g"|sed s/^\ // `"
+	echo "`eval echo -e ${data_name} | sed "s/\#\#\#/\#\#\#\\n/g"|sed s/^\ // `"
+	
+	#echo "-- `eval echo ${data_name}` --" 
+	#debug_echo "[$menu_fileflags]"
 }
 
+# $1 = name, $2 = cache_file
+export_pref() {
+	data_name="$1"
+	echo "`eval echo -e ${data_name}`" > "$2"
+}
+
+# $1 = name, $2 = cache_file
+import_pref() {
+	data_name="$1"
+	data_id="$2"
+	
+	#debug_echo "[$1] [$2] [$3]"
+
+	if test -z "$3"
+	then
+		debug_echo "set_pref(): WARNING, writing empty value to $data_name / $data_id! THIS WILL BREAK THINGS"
+		#data_value=" "
+	fi
+	export "${data_name}"="`cat "$2"`"		
+
+}
+
 # $1: uniq name, $2 identifier, $3 out var
 get_pref() {
 	data_name="$1"
@@ -612,10 +641,11 @@ get_pref() {
 	data_out="$3"
 	data_list="`eval echo -e \\$${data_name}`"
 	
+	#echo "data_list: [$data_list]"
 	#data_value="`echo "$data_list"| sed "s/\#\#\#/\\n/g"|sed s/^\ // | grep "^$data_id##" | sed -n "s/.*\#\(.*\)$/\1/p"`"
 	#data_value="`echo "$data_list"| sed "s/\#\#\#/\\n/g"|sed s/^\ // |  sed -n "/^$data_id/s/.*\#\(.*\)$/\1/p"`"
 	data_value="`echo "$data_list"| sed "s/\#\#\#/\\n/g" | sed -n "s/^\ //;/^$data_id\#/s/.*\#\(.*\)$/\1/p"`"
-	# echo "WERT: [$data_value]"
+	#echo "WERT: [$data_value]"
 	
 	export "${data_out}"="$data_value"
 	test -n "$data_value" && return 0
=======================================%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list