[Buildroot] [PATCH 1/1] Generation of locales: made call to tr more robust

Thierry Bultel thierry.bultel at wanadoo.fr
Fri Nov 8 16:25:16 UTC 2013

From: tbultel <tbultel at basystemes.fr>

When calling 'tr' without quoting braces, bash can make really weird things
if there are existing 'single-letter-named' directories
tbultel at laois:~/test$ echo AAA | tr [A-Z] [a-z]
tbultel at laois:~/test$ echo AAA | tr [A-Z] [a-z]

The (quick) analysis is that the callee (tr) argvs then
contain 'm' thus the translation does not work

Using quotes works around it
tbultel at laois:~/test$ echo AAA | tr '[A-Z]' '[a-z]'

Signed-off-by: tbultel <tbultel at basystemes.fr>
 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 1496bd7..7f835c0 100644
--- a/Makefile
+++ b/Makefile
@@ -548,7 +548,7 @@ target-generatelocales: host-localedef
 		I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \
 		$(HOST_DIR)/usr/bin/localedef \
 			--prefix=$(TARGET_DIR) \
-			--`echo $(BR2_ENDIAN) | tr [A-Z] [a-z]`-endian \
+			--`echo $(BR2_ENDIAN) | tr '[A-Z]' '[a-z]'`-endian \
 			-i $${inputfile} -f $${charmap} \
 			$${locale} ; \

More information about the buildroot mailing list