Sources Bugzilla – Bug 13853
Building libc.pot has a lot of warnings.
Last modified: 2012-11-29 15:24:12 UTC
Building the libc.pot file results in a pile of warnings. We should clean these up for 2.16 when we roll out the new libc.pot to the translation team. A quick check shows there *are* new translations required. Example of warnings output: ~~~ carlos@builder:~/build/glibc-2.15$ make -r PARALLELMFLAGS="" -C ../../src/glibc-2.15/po objdir=`pwd` libc.pot make: Entering directory `/home/carlos/src/glibc-2.15/po' ../scripts/list-sources.sh .. | sed -n '/\/tst-/d;/\.[ch]\(\.in\)*$/p; /\.cxx\(\.in\)*$/p; /\.sh\(\.in\)*$/p; /\.ksh\(\.in\)*$/p; /\.bash\(\.in\)*$/p;' > libc.pot.files.new mv -f libc.pot.files.new libc.pot.files set `date -R`; disp="$6"; \ sed -e 's/VERSION/2.15/' \ -e "s/DATE/`date +'%Y-%m-%d %H:%M'$disp`/" \ header.pot > libc.pot.new egrep -v '\.ksh$' libc.pot.files > /home/carlos/build/glibc-2.15/tmp-libc.pot-files cd ..; xgettext --keyword=_ --keyword=N_ \ --add-comments=TRANS --flag=error:3:c-format \ --flag=f_print:2:c-format \ --sort-by-file --omit-header -E -n -d - \ -f /home/carlos/build/glibc-2.15/tmp-libc.pot-files >> po/libc.pot.new debug/xtrace.sh:27: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:33: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:39: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:45: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:46: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:58: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:66: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:70: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:127: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:140: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:148: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead debug/xtrace.sh:152: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:39: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:43: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:48: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:56: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:82: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:89: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:90: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:127: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:128: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:150: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:153: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:156: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:185: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:193: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/ldd.bash.in:198: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:27: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:33: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:39: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:65: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:73: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:77: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:101: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:193: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:202: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead malloc/memusage.sh:215: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead catgets/gencat.c:119: warning: internationalized messages should not contain the `\v' escape sequence egrep '\.ksh$' libc.pot.files > /home/carlos/build/glibc-2.15/tmp-libc.pot-files cd ..; xgettext --add-comments=TRANS --language=Shell \ --sort-by-file --omit-header -E -n -o po/libc.pot.new -j \ -f /home/carlos/build/glibc-2.15/tmp-libc.pot-files po/libc.pot.new po/libc.pot.new: warning: Charset "CHARSET" is not a portable encoding name. Message conversion to user's charset might not work. elf/sotruss.ksh:33: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:47: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:50: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:57: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:58: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:63: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:69: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:77: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:81: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:88: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:136: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead elf/sotruss.ksh:137: warning: the syntax $"..." is deprecated due to security reasons; use eval_gettext instead po/libc.pot.new:126: warning: internationalized messages should not contain the `\v' escape sequence rm /home/carlos/build/glibc-2.15/tmp-libc.pot-files mv -f libc.pot.new libc.pot make: Leaving directory `/home/carlos/src/glibc-2.15/po' carlos@builder:~/build/glibc-2.15$ make -r PARALLELMFLAGS="" -C ../../src/glibc-2.15/po objdir=`pwd` libc.pot^C ~~~
Moving this to 2.17. The changes are too invasive to make for 2.16 and we're already in the code freeze. With the attached WIP patch I now get: ~~~ carloso@build4-lucid-cs:/scratch/carloso/build4-lucid-cs/build/glibc$ make -r PARALLELMFLAGS="" -C /scratch/carloso/build4-lucid-cs/src/glibc/po objdir=`pwd` libc.pot make: Entering directory `/scratch/carloso/build4-lucid-cs/src/glibc/po' ../scripts/list-sources.sh .. | sed -n '/\/tst-/d;/\.[ch]\(\.in\)*$/p; /\.cxx\(\.in\)*$/p; /\.sh\(\.in\)*$/p; /\.ksh\(\.in\)*$/p; /\.bash\(\.in\)*$/p;' > libc.pot.files.new mv -f libc.pot.files.new libc.pot.files set `date -R`; disp="$6"; \ sed -e 's/VERSION/2.15.90/' \ -e "s/DATE/`date +'%Y-%m-%d %H:%M'$disp`/" \ -e "s/CHARSET/UTF-8/" \ header.pot > libc.pot.new egrep -v '\.ksh$' libc.pot.files > /scratch/carloso/build4-lucid-cs/build/glibc/tmp-libc.pot-files cd ..; xgettext --keyword=_ --keyword=N_ \ --add-comments=TRANS --flag=error:3:c-format \ --flag=f_print:2:c-format \ --sort-by-file --omit-header -E -n -d - \ -f /scratch/carloso/build4-lucid-cs/build/glibc/tmp-libc.pot-files >> po/libc.pot.new catgets/gencat.c:118: internationalized messages should not contain the `\v' escape sequence egrep '\.ksh$' libc.pot.files > /scratch/carloso/build4-lucid-cs/build/glibc/tmp-libc.pot-files cd ..; xgettext --add-comments=TRANS --language=Shell \ --sort-by-file --omit-header -E -n -o po/libc.pot.new -j \ -f /scratch/carloso/build4-lucid-cs/build/glibc/tmp-libc.pot-files po/libc.pot.new po/libc.pot.new:126: internationalized messages should not contain the `\v' escape sequence rm /scratch/carloso/build4-lucid-cs/build/glibc/tmp-libc.pot-files mv -f libc.pot.new libc.pot make: Leaving directory `/scratch/carloso/build4-lucid-cs/src/glibc/po' carloso@build4-lucid-cs:/scratch/carloso/build4-lucid-cs/build/glibc$ ~~~ So I've fixed all of the script warnings with the exception of the `\v' usage in catgets/gencat.c:118. The `\v' in catgets/gencat.c sparked some discussion on the list in 2007 here: http://sources.redhat.com/ml/libc-alpha/2007-08/msg00007.html So it looks like fixing `\v' is going to involve some code restructuring to take it out of the translated text stream.
Created attachment 6447 [details] WIP: Use eval_gettext "..." instead of printf $"..."
There has been recent discussion about this fix here: http://sourceware.org/ml/libc-alpha/2012-11/msg00708.html Needs some more review.