Skip to contentSkip to conversation

bash: added option to disable locale support

PATCH Superseded Matt Weber 3 participants 6 messages Mar 9, 2015 – May 12, 2015

v1 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Matt Weber

author
#0 lore raw

PATCH 1/1 bash: added option to disable locale support

---
 package/bash/Config.in | 10 ++++++++++
 package/bash/bash.mk   |  9 +++++++++
 2 files changed, 19 insertions(+)
package/bash/Config.in +10 -0
index 2f823dc..171d2ad 100644
@@ -8,3 +8,13 @@ config BR2_PACKAGE_BASH
 	  The standard GNU Bourne again shell.
 
 	  http://tiswww.case.edu/php/chet/bash/bashtop.html
+
+if BR2_PACKAGE_BASH
+
+config BR2_PACKAGE_BASH_NO_LOCALE
+	bool "disable locale support"
+	help
+	  Disable locale support for cases where toolchain has it
+	  but target isn't setup to use it.
+
+endif
package/bash/bash.mk +9 -0
index 9865e19..67a423e 100644
@@ -21,6 +21,15 @@ BASH_CONF_ENV += \
 	bash_cv_func_sigsetjmp=present \
 	bash_cv_printf_a_format=yes
 
+
+ifeq ($(BR2_PACKAGE_BASH_NO_LOCALE),y)
+BASH_CONF_ENV += \
+	ac_cv_header_locale_h=no \
+	ac_cv_func_locale_charset=no \
+	ac_cv_func_setlocale=no \
+	ac_cv_func_localeconv=no
+endif
+
 # Parallel build sometimes fails because some of the generator tools
 # are built twice (i.e. while executing).
 BASH_MAKE = $(MAKE1)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 bash: added option to disable locale support

Dear Matt Weber,

package/bash/Config.in config BR2_PACKAGE_BASH · line 20

Quoted 9 lines · Matt Weber
package/bash/Config.in +9 -0
+if BR2_PACKAGE_BASH
+
+config BR2_PACKAGE_BASH_NO_LOCALE
+	bool "disable locale support"
+	help
+	  Disable locale support for cases where toolchain has it
+	  but target isn't setup to use it.
+
+endif

To be honest, I'm not sure we want to support such cases. What does it mean for the target to not be setup to use locales?

What is the opinion of other Buildroot developers?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 bash: added option to disable locale support

Thomas, all.

Quoted 4 lines · Thomas Petazzoni

Dear Matt Weber,

On Mon, 9 Mar 2015 16:13:15 -0500, Matt Weber wrote:

Quoted 12 lines

package/bash/Config.in config BR2_PACKAGE_BASH · line 20

Quoted 9 lines
package/bash/Config.in +9 -0
+if BR2_PACKAGE_BASH
+
+config BR2_PACKAGE_BASH_NO_LOCALE
+     bool "disable locale support"
+     help
+       Disable locale support for cases where toolchain has it
+       but target isn't setup to use it.
+
+endif

To be honest, I'm not sure we want to support such cases. What does it mean for the target to not be setup to use locales?

I should probably clarify, this disabled the runtime check of locale that bash did everytime a shell was invoked. All packages where still built with locale support. Busybox ash didn't perform this check so we never noticed it until we switched to bash. (I believe, will have to double check)Bash is running setlocale after checking for a env variable LC_xxxxx before the shell starts. Currently we don't have our env setup to by default have LC_xxxxx set. Instead we set the LC_xxxxx as part of the service/app start rcS script. (There maybe better way's of handling this I'm sure).

Thanks,
Matt

Quoted 10 lines

What is the opinion of other Buildroot developers?

Thanks,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

#3 lore raw

PATCH 1/1 bash: added option to disable locale support

Quoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Matthew" == Matthew Weber <[email protected]> writes:

Thomas, all.

Quoted 4 lines · Thomas Petazzoni

Dear Matt Weber,

On Mon, 9 Mar 2015 16:13:15 -0500, Matt Weber wrote:

Quoted 12 lines

package/bash/Config.in config BR2_PACKAGE_BASH · line 20

Quoted 9 lines
package/bash/Config.in +9 -0
+if BR2_PACKAGE_BASH
+
+config BR2_PACKAGE_BASH_NO_LOCALE
+     bool "disable locale support"
+     help
+       Disable locale support for cases where toolchain has it
+       but target isn't setup to use it.
+
+endif

To be honest, I'm not sure we want to support such cases. What does it mean for the target to not be setup to use locales?

Quoted 9 lines

I should probably clarify, this disabled the runtime check of locale that bash did everytime a shell was invoked. All packages where still built with locale support. Busybox ash didn't perform this check so we never noticed it until we switched to bash. (I believe, will have to double check)Bash is running setlocale after checking for a env variable LC_xxxxx before the shell starts. Currently we don't have our env setup to by default have LC_xxxxx set. Instead we set the LC_xxxxx as part of the service/app start rcS script. (There maybe better way's of handling this I'm sure).

So what is the impact exactly of having/not having this option?

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 bash: added option to disable locale support

All,

Quoted 32 lines · Peter Korsgaard
Quoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Matthew" == Matthew Weber <[email protected]> writes:

Thomas, all.

Quoted 4 lines · Thomas Petazzoni

Dear Matt Weber,

On Mon, 9 Mar 2015 16:13:15 -0500, Matt Weber wrote:

Quoted 12 lines

package/bash/Config.in config BR2_PACKAGE_BASH · line 20

Quoted 9 lines
package/bash/Config.in +9 -0
+if BR2_PACKAGE_BASH
+
+config BR2_PACKAGE_BASH_NO_LOCALE
+     bool "disable locale support"
+     help
+       Disable locale support for cases where toolchain has it
+       but target isn't setup to use it.
+
+endif

To be honest, I'm not sure we want to support such cases. What does it mean for the target to not be setup to use locales?

Quoted 9 lines

I should probably clarify, this disabled the runtime check of locale that bash did everytime a shell was invoked. All packages where still built with locale support. Busybox ash didn't perform this check so we never noticed it until we switched to bash. (I believe, will have to double check)Bash is running setlocale after checking for a env variable LC_xxxxx before the shell starts. Currently we don't have our env setup to by default have LC_xxxxx set. Instead we set the LC_xxxxx as part of the service/app start rcS script. (There maybe better way's of handling this I'm sure).

Quoted 1 line

So what is the impact exactly of having/not having this option?

I'd like to drop this patch at this point. I think I figured out what was happening and resolved it through additional busybox options being enabled. Pending more testing I might submit a follow on if it is really required. Should I transition it to rejected and archive it?

Signature · 8 lines
Matthew L Weber / Pr Software Engineer
Airborne Information Systems / Security Systems and Software / Secure Platforms
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA
www.rockwellcollins.com

Note: Any Export License Required Information and License Restricted
Third Party Intellectual Property (TPIP) content must be encrypted and
sent to matthew.weber at corp.rockwellcollins.com.
#5 lore raw

PATCH 1/1 bash: added option to disable locale support

Dear Matthew Weber,

Quoted 6 lines · Matthew Weber
Quoted 1 line

So what is the impact exactly of having/not having this option?

I'd like to drop this patch at this point. I think I figured out what was happening and resolved it through additional busybox options being enabled. Pending more testing I might submit a follow on if it is really required. Should I transition it to rejected and archive it?

Yes, you can manage all your patches in patchwork by yourself, as long as you have a patchwork account matching the e-mail address with which you're sending the patches. So feel free to update the status of your patches as needed, this is actually very helpful for us.

Thanks a lot,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com