d7b8ad5c29
Drop patches that are applied upstream Fix the license checksums for changes in LICENSES file the new changes add more copyright notices that were missing earlier Moving ports is no longer needed since ports is now part of libc proper Refresh tzselect-sh.patch to accomodate upstream changes C++ headers discovery relative to target sysroot is fixed differently upstream hence we drop use-sysroot-cxx-headers.patch aarch64 support is already available in 2.17 hence drop the local patches (From OE-Core rev: 83b6fe6d91b924be5a7676e6ee973ce26b5eefc5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
157 lines
4.5 KiB
Diff
157 lines
4.5 KiB
Diff
tzselect: eliminate ksh-dependency
|
|
|
|
This is an adapted version of a patch originally
|
|
by Peter Seebach <peter.seebach@windriver.com> found here:
|
|
http://www.eglibc.org/archives/patches/msg00671.html
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
|
|
Index: libc/timezone/tzselect.ksh
|
|
===================================================================
|
|
--- libc.orig/timezone/tzselect.ksh 2012-11-17 09:50:14.000000000 -0800
|
|
+++ libc/timezone/tzselect.ksh 2013-01-03 22:46:26.423844259 -0800
|
|
@@ -1,4 +1,4 @@
|
|
-#!/bin/bash
|
|
+#!/bin/sh
|
|
|
|
PKGVERSION='(tzcode) '
|
|
TZVERSION=see_Makefile
|
|
@@ -11,23 +11,80 @@
|
|
|
|
# Porting notes:
|
|
#
|
|
-# This script requires a Posix-like shell with the extension of a
|
|
-# 'select' statement. The 'select' statement was introduced in the
|
|
-# Korn shell and is available in Bash and other shell implementations.
|
|
-# If your host lacks both Bash and the Korn shell, you can get their
|
|
-# source from one of these locations:
|
|
+# func_select allows this script to run on shells (such as busybox ash)
|
|
+# which lack the ksh "select" builtin.
|
|
#
|
|
-# Bash <http://www.gnu.org/software/bash/bash.html>
|
|
-# Korn Shell <http://www.kornshell.com/>
|
|
-# Public Domain Korn Shell <http://www.cs.mun.ca/~michael/pdksh/>
|
|
-#
|
|
-# This script also uses several features of modern awk programs.
|
|
+# This script uses several features of modern awk programs.
|
|
# If your host lacks awk, or has an old awk that does not conform to Posix,
|
|
# you can use either of the following free programs instead:
|
|
#
|
|
# Gawk (GNU awk) <http://www.gnu.org/software/gawk/>
|
|
# mawk <http://invisible-island.net/mawk/>
|
|
|
|
+# Implement ksh-style select in POSIX shell
|
|
+
|
|
+# We need a mostly-portable echo-n.
|
|
+case `echo -n "foo\c"` in
|
|
+*n*c*) func_echo_n() { echo "$*"; } ;;
|
|
+*n*) func_echo_n() { echo "$*\c"; } ;;
|
|
+*) func_echo_n() { echo -n "$*"; } ;;
|
|
+esac
|
|
+
|
|
+# Synopsis: Replace "select foo in list" with "while func_select foo in list"
|
|
+# and this works just like ksh, so far as I know.
|
|
+func_select () {
|
|
+ func_select_args=0
|
|
+ if expr "$1" : "[_a-zA-Z][_a-zA-Z0-9]*$" > /dev/null; then
|
|
+ func_select_var=$1
|
|
+ else
|
|
+ echo >&2 "func_select: '$1' is not a valid variable name."
|
|
+ return 1
|
|
+ fi
|
|
+ shift 1
|
|
+ case $1 in
|
|
+ in) shift 1;;
|
|
+ *) echo >&2 "func_select: usage: func_select var in ... (you must provide
|
|
+arguments)"; return 1;;
|
|
+ esac
|
|
+ case $# in
|
|
+ 0) echo >&2 "func_select: usage: func_select var in ..."; return 1;;
|
|
+ esac
|
|
+ for func_select_arg
|
|
+ do
|
|
+ func_select_args=`expr $func_select_args + 1`
|
|
+ eval func_select_a_$func_select_args=\$func_select_arg
|
|
+ done
|
|
+ REPLY=""
|
|
+ while :
|
|
+ do
|
|
+ if test -z "$REPLY"; then
|
|
+ func_select_i=1
|
|
+ while test $func_select_i -le $func_select_args
|
|
+ do
|
|
+ eval echo "\"\$func_select_i) \$func_select_a_$func_select_i\""
|
|
+ func_select_i=`expr $func_select_i + 1`
|
|
+ done
|
|
+ fi
|
|
+ func_echo_n "${PS3-#? }" >&2
|
|
+ if read REPLY; then
|
|
+ if test -n "${REPLY}"; then
|
|
+ if expr "$REPLY" : '[1-9][0-9]*$' > /dev/null; then
|
|
+ if test "$REPLY" -ge 1 && test "$REPLY" -le $func_select_args; then
|
|
+ eval $func_select_var=\$func_select_a_$REPLY
|
|
+ else
|
|
+ eval $func_select_var=
|
|
+ fi
|
|
+ else
|
|
+ eval $func_select_var=
|
|
+ fi
|
|
+ return 0
|
|
+ fi
|
|
+ else
|
|
+ eval $func_select_var=
|
|
+ return 1
|
|
+ fi
|
|
+ done
|
|
+}
|
|
|
|
# Specify default values for environment variables if they are unset.
|
|
: ${AWK=awk}
|
|
@@ -72,7 +129,7 @@
|
|
|
|
|
|
# Work around a bug in bash 1.14.7 and earlier, where $PS3 is sent to stdout.
|
|
-case $(echo 1 | (select x in x; do break; done) 2>/dev/null) in
|
|
+case $(echo 1 | (while func_select x in x; do break; done) 2>/dev/null) in
|
|
?*) PS3=
|
|
esac
|
|
|
|
@@ -92,7 +149,7 @@
|
|
|
|
echo >&2 'Please select a continent or ocean.'
|
|
|
|
- select continent in \
|
|
+ while func_select continent in \
|
|
Africa \
|
|
Americas \
|
|
Antarctica \
|
|
@@ -172,7 +229,7 @@
|
|
case $countries in
|
|
*"$newline"*)
|
|
echo >&2 'Please select a country.'
|
|
- select country in $countries
|
|
+ while func_select country in $countries
|
|
do
|
|
case $country in
|
|
'') echo >&2 'Please enter a number in range.';;
|
|
@@ -211,7 +268,7 @@
|
|
*"$newline"*)
|
|
echo >&2 'Please select one of the following' \
|
|
'time zone regions.'
|
|
- select region in $regions
|
|
+ while func_select region in $regions
|
|
do
|
|
case $region in
|
|
'') echo >&2 'Please enter a number in range.';;
|
|
@@ -288,7 +345,7 @@
|
|
echo >&2 "Is the above information OK?"
|
|
|
|
ok=
|
|
- select ok in Yes No
|
|
+ while func_select ok in Yes No
|
|
do
|
|
case $ok in
|
|
'') echo >&2 'Please enter 1 for Yes, or 2 for No.';;
|