Author: bapt
Date: Sun Dec 18 04:11:13 2016
New Revision: 310199
URL: https://svnweb.freebsd.org/changeset/base/310199

Log:
  Better handle posix names for locales

Modified:
  head/tools/tools/locale/tools/finalize

Modified: head/tools/tools/locale/tools/finalize
==============================================================================
--- head/tools/tools/locale/tools/finalize      Sun Dec 18 02:02:33 2016        
(r310198)
+++ head/tools/tools/locale/tools/finalize      Sun Dec 18 04:11:13 2016        
(r310199)
@@ -41,20 +41,29 @@ AWKCMD="/## PLACEHOLDER/ { \
 
 # Rename the sources with 3 components name into the POSIX version of the name 
using @modifier
 cd $old
+pwd
 for i in *_*_*.*.src; do
+       if [ "$i" = "*_*_*.*.src" ]; then
+               break
+       fi
        oldname=${i%.*}
        nname=`echo $oldname | awk '{ split($0, a, "_"); print 
a[1]"_"a[3]"@"a[2];} '`
-       mv -i ${oldname}.src ${nname}.src
+       mv -f ${oldname}.src ${nname}.src
+       sed -i '' -e "s/${oldname}/${nname}/g" Makefile
+       COLLATIONS_SPECIAL=$(echo ${COLLATIONS_SPECIAL} | sed -e 
"s/${oldname}/${nname}/g")
 done
-       sed -i '' -Ee 
"s/([a-zA-Z]{2})_([a-zA-Z]+)_([a-zA-Z]{2}).([a-zA-Z0-9-]+)/\1_\3.\4@\2/g" 
${old}/Makefile
 
 # For variable without @modifier ambiguity do not keep the @modifier
 for i in *@*.src; do
+       if [ "$i" = "*@*.src" ]; then
+               break
+       fi
        oldname=${i%.*}
        shortname=${oldname%@*}
-       if [ $(ls ${shortname}@* | wc -l) -eq 1 -a ! -f ${shortname}.src ] ; 
then
-               mv -i $i ${shortname}.src
-               sed -i '' -e "s/${oldname}/${shortname}/g" ${old}/Makefile
+       if [ $(ls ${shortname}@* | wc -l) -eq 1 ] ; then
+               mv -f $i ${shortname}.src
+               sed -i '' -e "s/${oldname}/${shortname}/g" Makefile
+               COLLATIONS_SPECIAL=$(echo ${COLLATIONS_SPECIAL} | sed -e 
"s/${oldname}/${shortname}/g")
        fi
 done
 
@@ -63,16 +72,19 @@ for i in *@Latn.src; do
        if [ "$i" = "*@Latn.src" ]; then
                break
        fi
-       mv ${i} ${i%@*}@latin.src
+       mv -f ${i} ${i%@*}@latin.src
+       sed -i '' -e "s/${i%.*}/${i%@*}@latin/g" Makefile
+       COLLATIONS_SPECIAL=$(echo ${COLLATIONS_SPECIAL} | sed -e 
"s/${i%.*}/${i%@*}@latin/g")
 done
-       sed -i '' -e "s/@Latn/@latin/g" ${old}/Makefile
+
 for i in *@Cyrl.src; do
        if [ "$i" = "*@Cyrl.src" ]; then
                break
        fi
-       mv ${i} ${i%@*}@cyrillic.src
+       mv -f ${i} ${i%@*}@cyrillic.src
+       sed -i '' -e "s/${i%.*}/${i%@*}@cyrillic/g" Makefile
+       COLLATIONS_SPECIAL=$(echo ${COLLATIONS_SPECIAL} | sed -e 
"s/${i%.*}/${i%@*}@cyrillic/g")
 done
-       sed -i '' -e "s/@Cyrl/@cyrillic/g" ${old}/Makefile
 
 # On locales with multiple modifiers rename the "default" version without the 
@modifier
 default_locales="sr_RS@cyrillic"
@@ -83,8 +95,8 @@ for i in ${default_locales}; do
                if [ "$l" = "${localename}.*@${mod}.src" ]; then
                        break
                fi
-               mv ${l} ${l%@*}.src
-               sed -i '' -e "s/${l%.*}/${l%@*}/g" ${old}/Makefile
+               mv -f ${l} ${l%@*}.src
+               sed -i '' -e "s/${l%.*}/${l%@*}/g" Makefile
        done
 done
 cd -
@@ -146,13 +158,12 @@ then
        done
        echo "" >> ${TEMP4}
        for enc in ${COLLATIONS_SPECIAL}; do
-               nname=`echo $enc | sed -e 's/_Hans//g'`
-               sed -i '' "/^.*${nname}$/d" ${TEMP4}
-               echo "LOCALES+= ${nname}" >> ${TEMP4}
+               sed -i '' "/^.*${enc}$/d" ${TEMP4}
+               echo "LOCALES+= ${enc}" >> ${TEMP4}
        done
 
        keep=$(cat ${TEMP} | awk '{ print $2 }')
-       for original in ${keep}
+       for original in ${keep} ${COLLATIONS_SPECIAL}
        do
                cp ${old}/${original}.src ${new}/
        done
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to