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

Thomas De Schampheleire patrickdepinguin at gmail.com
Sun Nov 10 10:17:12 UTC 2013


Thierry Bultel <thierry.bultel at wanadoo.fr> wrote:
>Le 09/11/2013 14:47, Thomas De Schampheleire a écrit :
>> Thierry Bultel <thierry.bultel at wanadoo.fr> wrote:
>>> 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
>>> 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 <tbultel at basystemes.fr>
>>
>> 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
>

It should be straightforward to implement it based on the existing UPPERCASE macro. I justfind odd there'd be two ways of converting case. One with direct tr and the other with a make macro...






More information about the buildroot mailing list