From 76c640c28a161ff725b2a1607a01f59157f627b1 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Sat, 15 Jun 2019 20:39:39 +0200 Subject: Update ICU to 58.3 - This adds the new Japanese ascension era (Reiwa) - This updates timezone data to 2019a - Updated script for git instead of SVN - Regenerated locale data --- intl/update-icu.sh | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'intl/update-icu.sh') diff --git a/intl/update-icu.sh b/intl/update-icu.sh index 62af808ae..4983b6670 100755 --- a/intl/update-icu.sh +++ b/intl/update-icu.sh @@ -5,26 +5,44 @@ set -e -# Usage: update-icu.sh -# E.g., for ICU 58.1: update-icu.sh https://ssl.icu-project.org/repos/icu/icu/tags/release-58-1/ +# Update to an ICU release: +# Usage: update-icu.sh +# E.g., for ICU 62.1: update-icu.sh https://github.com/unicode-org/icu.git release-62-1 +# +# Update to an ICU maintenance branch: +# Usage: update-icu.sh +# E.g., for ICU 62.1: update-icu.sh https://github.com/unicode-org/icu.git maint/maint-62 -if [ $# -lt 1 ]; then - echo "Usage: update-icu.sh " +if [ $# -lt 2 ]; then + echo "Usage: update-icu.sh " exit 1 fi -# Ensure that $Date$ in the checked-out svn files expands timezone-agnostically, +# Ensure that $Date$ in the checked-out git files expands timezone-agnostically, # so that this script's behavior is consistent when run from any time zone. export TZ=UTC -# Also ensure SVN-INFO isn't localized. -export LANG=C +# Also ensure GIT-INFO is consistently English. +export LANG=en_US.UTF-8 +export LANGUAGE=en_US +export LC_ALL=en_US.UTF-8 icu_dir=`dirname $0`/icu # Remove intl/icu/source, then replace it with a clean export. rm -rf ${icu_dir}/source -svn export $1/source/ ${icu_dir}/source +tmpclonedir=$(mktemp -d) +git clone --depth 1 --branch $2 $1 ${tmpclonedir} +cp -r ${tmpclonedir}/icu4c/source ${icu_dir}/source + +# Record `git log`. +# (This ensures that if ICU modifications are performed properly, it's always +# possible to run the command at the top of this script and make no changes to +# the tree.) +git -C ${tmpclonedir} log -1 > ${icu_dir}/GIT-INFO + +# Clean up after ourselves. +rm -rf ${tmpclonedir} # remove layoutex, tests, and samples, but leave makefiles in place find ${icu_dir}/source/layoutex -name '*Makefile.in' -prune -or -type f -print | xargs rm @@ -47,13 +65,6 @@ rm ${icu_dir}/source/data/translit/* rm ${icu_dir}/source/data/unit/*.mk rm ${icu_dir}/source/data/unit/*.txt -# Record `svn info`, eliding the line that changes every time the entire ICU -# repository (not just the path within it we care about) receives a commit. -# (This ensures that if ICU modifications are performed properly, it's always -# possible to run the command at the top of this script and make no changes to -# the tree.) -svn info $1 | grep -v '^Revision: [[:digit:]]\+$' > ${icu_dir}/SVN-INFO - for patch in \ bug-915735 \ suppress-warnings.diff \ @@ -73,7 +84,7 @@ python ${topsrcdir}/js/src/tests/ecma_6/String/make-normalize-generateddata-inpu # build a new ICU data file. python `dirname $0`/icu_sources_data.py $topsrcdir -hg addremove ${icu_dir} ${topsrcdir}/config/external/icu +#hg addremove ${icu_dir} ${topsrcdir}/config/external/icu # Check local tzdata version. `dirname $0`/update-tzdata.sh -c -- cgit v1.2.3