diff options
author | Stefan Kuhn <Wuodan0@gmail.com> | 2015-01-06 16:15:30 +0100 |
---|---|---|
committer | Stefan Kuhn <Wuodan0@gmail.com> | 2015-01-06 16:15:30 +0100 |
commit | dfb07e48b4158aa16dc80dc063065a6eeb236675 (patch) | |
tree | 2afdf78584e0f324624a9b2a9ffe8f5ae0ae8d41 /sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak | |
parent | www-servers/apache: raised EAPI to make eclass happy, no tests ;) (diff) | |
download | wuodan-dfb07e48b4158aa16dc80dc063065a6eeb236675.tar.gz wuodan-dfb07e48b4158aa16dc80dc063065a6eeb236675.tar.bz2 wuodan-dfb07e48b4158aa16dc80dc063065a6eeb236675.zip |
sys-libs/timezone-data: added 'dialog' USE flag
Diffstat (limited to 'sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak')
-rw-r--r-- | sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak | 348 |
1 files changed, 0 insertions, 348 deletions
diff --git a/sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak b/sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak deleted file mode 100644 index 56506be..0000000 --- a/sys-libs/timezone-data/files/timezone-data-2014j-dialog.patch.bak +++ /dev/null @@ -1,348 +0,0 @@ -tzselect: User input/output through one function - -Which can be 'overriden' in the calling process as $SHOWDIALOG -With this, tzselect can be used by other scripts with a customized -user dialog. Better solutions are welcome! - -Example call: -SHOWDIALOG=$PWD/tzselect_dialog tzselect - -where tzselect_dialog imitates the function showdialog() of tzselect. - -see: https://github.com/Wuodan/tz/commit/5297b9ca06f79c334b9492713ce388b590e436e3 - -diff --git a/tzselect.ksh b/tzselect.ksh -index 3acdebd..1816f9f 100644 ---- a/tzselect.ksh -+++ b/tzselect.ksh -@@ -36,6 +36,7 @@ REPORT_BUGS_TO=tz@iana.org - # Specify default values for environment variables if they are unset. - : ${AWK=awk} - : ${TZDIR=`pwd`} -+: ${SHOWDIALOG=showdialog} - - # Check for awk Posix compliance. - ($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1 -@@ -73,9 +74,10 @@ Options: - Report bugs to $REPORT_BUGS_TO." - - # Ask the user to select from the function's arguments, --# and assign the selected argument to the variable 'select_result'. -+# and print selected argument - # Exit on EOF or I/O error. Use the shell's 'select' builtin if available, - # falling back on a less-nice but portable substitute otherwise. -+# First argument is the message preceeding the selection - if - case $BASH_VERSION in - ?*) : ;; -@@ -88,11 +90,15 @@ then - # even though it is never executed. - eval ' - doselect() { -+ # print message first -+ echo >&2 "${1}" -+ shift - select select_result - do - case $select_result in - "") echo >&2 "Please enter a number in range." ;; -- ?*) break -+ # print result -+ ?*) echo "${select_result}"; break - esac - done || exit - } -@@ -107,6 +113,9 @@ then - ' - else - doselect() { -+ # print message first -+ echo >&2 "${1}" -+ shift - # Field width of the prompt numbers. - select_width=`expr $# : '.*'` - -@@ -128,6 +137,8 @@ else - if test 1 -le $select_i && test $select_i -le $#; then - shift `expr $select_i - 1` - select_result=$1 -+ # print result -+ echo "${select_result}" - break - fi - echo >&2 'Please enter a number in range.' -@@ -140,6 +151,38 @@ else - } - fi - -+# showdialog() -+# All normal user input/output goes through this function -+# -+# The user dialog of this script can be altered by setting -+# the SHOWDIALOG variable as in: -+# SHOWDIALOG=$PWD/tzselect_dialog tzselect -+# where 'tzselect_dialog' imitates this function -+# -+# Arguments: -+# Type: one of: menu, yesno, msgbox, inputbox -+# Message: text to display -+# Options: menu-options, only for types menu and yesno -+# -+showdialog() { -+ # action depends on first argument -+ case "${1}" in -+ menu|yesno) -+ shift -+ doselect "${@}" -+ return $? ;; -+ msgbox) -+ echo >&2 "${2}" -+ return 0 ;; -+ inputbox) -+ echo >&2 "${2}" -+ read INPUTBOX -+ echo "${INPUTBOX}" -+ return 0 ;; -+ esac -+ return 1 -+} -+ - while getopts c:n:t:-: opt - do - case $opt$OPTARG in -@@ -270,8 +313,7 @@ output_distances=' - # Begin the main loop. We come back here if the user wants to retry. - while - -- echo >&2 'Please identify a location' \ -- 'so that time zone rules can be set correctly.' -+ dialogtext='Please identify a location so that time zone rules can be set correctly.' - - continent= - country= -@@ -284,7 +326,8 @@ while - - # Ask the user for continent or ocean. - -- echo >&2 'Please select a continent, ocean, "coord", or "TZ".' -+ dialogtext="${dialogtext} -+Please select a continent, ocean, \"coord\", or \"TZ\"." - - quoted_continents=` - $AWK ' -@@ -304,10 +347,9 @@ while - ` - - eval ' -- doselect '"$quoted_continents"' \ -+ continent=`"${SHOWDIALOG}" menu '\'"${dialogtext}"\'' '"$quoted_continents"' \ - "coord - I want to use geographical coordinates." \ -- "TZ - I want to specify the time zone using the Posix TZ format." -- continent=$select_result -+ "TZ - I want to specify the time zone using the Posix TZ format."` || exit $? - case $continent in - Americas) continent=America;; - *" "*) continent=`expr "$continent" : '\''\([^ ]*\)'\''` -@@ -319,11 +361,9 @@ while - TZ) - # Ask the user for a Posix TZ string. Check that it conforms. - while -- echo >&2 'Please enter the desired value' \ -- 'of the TZ environment variable.' -- echo >&2 'For example, GST-10 is a zone named GST' \ -- 'that is 10 hours ahead (east) of UTC.' -- read TZ -+ TZ=`"${SHOWDIALOG}" inputbox \ -+ 'Please enter the desired value of the TZ environment variable. -+For example, GST-10 is a zone named GST that is 10 hours ahead (east) of UTC.'` || exit $? - $AWK -v TZ="$TZ" 'BEGIN { - tzname = "[^-+,0-9][^-+,0-9][^-+,0-9]+" - time = "[0-2]?[0-9](:[0-5][0-9](:[0-5][0-9])?)?" -@@ -336,8 +376,8 @@ while - exit 0 - }' - do -- echo >&2 "'$TZ' is not a conforming" \ -- 'Posix time zone string.' -+ "${SHOWDIALOG}" msgbox \ -+ "'$TZ' is not a conforming Posix time zone string." - done - TZ_for_date=$TZ;; - *) -@@ -345,12 +385,10 @@ while - coord) - case $coord in - '') -- echo >&2 'Please enter coordinates' \ -- 'in ISO 6709 notation.' -- echo >&2 'For example, +4042-07403 stands for' -- echo >&2 '40 degrees 42 minutes north,' \ -- '74 degrees 3 minutes west.' -- read coord;; -+ coord=`"${SHOWDIALOG}" inputbox \ -+ 'Please enter coordinates in ISO 6709 notation. -+For example, +4042-07403 stands for -+40 degrees 42 minutes north, 74 degrees 3 minutes west.'` || exit $? - esac - distance_table=`$AWK \ - -v coord="$coord" \ -@@ -363,12 +401,10 @@ while - BEGIN { FS = "\t" } - { print $NF } - '` -- echo >&2 'Please select one of the following' \ -- 'time zone regions,' -- echo >&2 'listed roughly in increasing order' \ -- "of distance from $coord". -- doselect $regions -- region=$select_result -+ region=`"${SHOWDIALOG}" menu \ -+ "Please select one of the following time zone regions, -+listed roughly in increasing order of distance from $coord." \ -+ $regions` || exit $? - TZ=`echo "$distance_table" | $AWK -v region="$region" ' - BEGIN { FS="\t" } - $NF == region { print $4 } -@@ -405,10 +441,9 @@ while - # If there's more than one country, ask the user which one. - case $countries in - *"$newline"*) -- echo >&2 'Please select a country' \ -- 'whose clocks agree with yours.' -- doselect $countries -- country=$select_result;; -+ country=`"${SHOWDIALOG}" menu \ -+ 'Please select a country whose clocks agree with yours.' \ -+ $countries` || exit $?;; - *) - country=$countries - esac -@@ -436,10 +471,9 @@ while - # If there's more than one region, ask the user which one. - case $regions in - *"$newline"*) -- echo >&2 'Please select one of the following' \ -- 'time zone regions.' -- doselect $regions -- region=$select_result;; -+ region=`"${SHOWDIALOG}" menu \ -+ 'Please select one of the following time zone regions.' \ -+ $regions` || exit $?;; - *) - region=$regions - esac -@@ -495,23 +529,24 @@ Universal Time is now: $UTdate." - - - # Output TZ info and ask the user to confirm. -+ infomsg=' -+The following information has been given: -+ -+' - -- echo >&2 "" -- echo >&2 "The following information has been given:" -- echo >&2 "" - case $country%$region%$coord in -- ?*%?*%) echo >&2 " $country$newline $region";; -- ?*%%) echo >&2 " $country";; -- %?*%?*) echo >&2 " coord $coord$newline $region";; -- %%?*) echo >&2 " coord $coord";; -- *) echo >&2 " TZ='$TZ'" -+ ?*%?*%) infomsg="${infomsg} $country$newline $region";; -+ ?*%%) infomsg="${infomsg} $country";; -+ %?*%?*) infomsg="${infomsg} coord $coord$newline $region";; -+ %%?*) infomsg="${infomsg} coord $coord";; -+ *) infomsg="${infomsg} TZ='$TZ'" - esac -- echo >&2 "" -- echo >&2 "Therefore TZ='$TZ' will be used.$extra_info" -- echo >&2 "Is the above information OK?" -+ infomsg="${infomsg} -+ -+Therefore TZ='$TZ' will be used.$extra_info -+Is the above information OK?" - -- doselect Yes No -- ok=$select_result -+ ok=`"${SHOWDIALOG}" yesno "${infomsg}" Yes No` || exit $? - case $ok in - Yes) break - esac -diff --git a/tzselect_dialog b/tzselect_dialog -new file mode 100755 -index 0000000..a352694 ---- /dev/null -+++ b/tzselect_dialog -@@ -0,0 +1,71 @@ -+#!/bin/bash -+# This script is released under the GNU General Public License 3.0 -+ -+# sample dialog handler for tzselect -+# MUST have same input/output as the showdialog() function in tzselect -+ -+# showdialog() -+# All normal user input/output goes through this function -+# -+# The user dialog of this script can be altered by setting -+# the SHOWDIALOG variable as in: -+# SHOWDIALOG=$PWD/tzselect_dialog tzselect -+# where 'tzselect_dialog' imitates this function -+# -+# Arguments: -+# Type: one of: menu, yesno, msgbox, inputbox -+# Message: text to display -+# Options: menu-options, only for types menu and yesno -+ -+WHICHDIALOG=dialog -+# let's support Xdialog for the fun of it -+if [ ! $(type "Xdialog" &> /dev/null) ] && [ -v 'DISPLAY' ] && [ -n "${DISPLAY}" ]; then -+ WHICHDIALOG=Xdialog -+fi -+ -+# get type and message first -+TYPE="${1}" -+shift -+MSG="${1}" -+shift -+MENU_ITEMS=() -+RET_DIALOG= -+ -+case "${TYPE}" in -+ # prepare arguments to dialog/Xdialog --menu -+ menu) -+ # add menu-height: auto -+ MENU_ITEMS+=(0) -+ # add value and description -+ while [ $# -gt 0 ]; do -+ MENU_ITEMS+=("$(( ( ${#MENU_ITEMS[@]} +1 ) / 2 ))" "${1}") -+ shift -+ done ;; -+esac -+ -+# use dialog/Xdialog -+ANSWER=$("${WHICHDIALOG}" \ -+ --no-cancel \ -+ "--${TYPE}" \ -+ "${MSG}" 0 0 \ -+ "${MENU_ITEMS[@]}" \ -+ 9>&1 1>&2 2>&9) -+RET_DIALOG=$? -+ -+# exit on cancel unless it's a yesno -+[ "${TYPE}" != 'yesno' ] && [ "${RET_DIALOG}" -ne 0 ] && exit "${RET_DIALOG}" -+ -+case "${TYPE}" in -+ yesno) -+ if [ "${RET_DIALOG}" -eq 0 ]; then -+ ANSWER=$([ -n "${1}" ] && echo "${1}" || echo Yes) -+ else -+ ANSWER=$([ -n "${2}" ] && echo "${2}" || echo No) -+ fi ;; -+ # get string from index -+ menu) -+ ANSWER="${MENU_ITEMS[(($ANSWER * 2))]}" || exit $? ;; -+esac -+# print result -+echo "${ANSWER}" -+exit 0 |