From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Bultel Date: Sun, 10 Nov 2013 10:50:17 +0100 Subject: [Buildroot] [PATCH 1/1] Generation of locales: made call to tr more robust In-Reply-To: References: <1383927916-27001-1-git-send-email-thierry.bultel@wanadoo.fr> Message-ID: <527F56D9.8060809@wanadoo.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Le 09/11/2013 14:47, Thomas De Schampheleire a ?crit : > Thierry Bultel wrote: >> From: tbultel >> >> When calling 'tr' without quoting braces, bash can make really weird things >> if there are existing 'single-letter-named' directories >> eg: >> tbultel at laois:~/test$ echo AAA | tr [A-Z] [a-z] >> aaa >> tbultel at laois:~/test$ echo AAA | tr [A-Z] [a-z] >> AAA >> >> 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]' >> aaa >> >> >> Signed-off-by: tbultel > > This should be real name, not a username. > >> --- >> 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} ; \ >> done > > While there's nothing wrong with your fix itself, I wonder why this isn't using the UPPERCASE and LOWERCASE macros we have defined in package/pkg-utils.mak... > > Best regards, > Thomas > > > The LOWERCASE macro does not seem to exist