]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove redundant C locale settings.
authorJoseph Myers <joseph@codesourcery.com>
Sat, 7 Jun 2014 19:58:36 +0000 (19:58 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Sat, 7 Jun 2014 19:58:36 +0000 (19:58 +0000)
Various glibc build / install / test code has C locale settings that
are redundant with LC_ALL=C.

LC_ALL takes precedence over LANG, so anywhere that sets LC_ALL=C
(explicitly, or through it being in the default environment for
running tests) does not need to set LANG=C.  LC_ALL=C also takes
precedence over LANGUAGE, since

2001-01-02  Ulrich Drepper  <drepper@redhat.com>

* intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE
value is ignored if the selected locale is the C locale.
* intl/tst-gettext.c: Set locale for above change.
* intl/tst-translit.c: Likewise.

and so settings of LANGUAGE=C are also redundant when LC_ALL=C is
set.  One test also had LC_ALL=C in its -ENV setting, although it's
part of the default environment used for tests.

This patch removes the redundant settings.  It removes a suggestion in
install.texi of setting LANGUAGE=C LC_ALL=C for "make install"; the
Makefile.in target "install" already sets LC_ALL_C so there's no need
for the user to set it (and nor should there be any need for the user
to set it).

If some build machine tool used by "make install" uses a version of
libintl predating that 2001 change, and the user has LANGUAGE set, the
removal of LANGUAGE=C from the Makefile.in "install" rule could in
principle affect the user's installation.  However, I don't think we
need to be concerned about pre-2001 build tools.

Tested x86_64.

* Makefile (install): Don't set LANGUAGE.
* Makefile.in (install): Likewise.
* assert/Makefile (test-assert-ENV): Remove variable.
(test-assert-perr-ENV): Likewise.
* elf/Makefile (neededtest4-ENV): Likewise.
* iconvdata/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Don't set LANGUAGE.
* io/ftwtest-sh (LANG): Remove variable.
* libio/Makefile (tst-widetext-ENV): Likewise.
* manual/install.texi (Running make install): Don't refer to
environment settings for make install.
* INSTALL: Regenerated.
* nptl/tst-tls6.sh: Don't set LANG.
* posix/globtest.sh (LANG): Remove variable.
* string/Makefile (tester-ENV): Likewise.
(inl-tester-ENV): Likewise.
(noinl-tester-ENV): Likewise.
* sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Don't set LANGUAGE.
* timezone/Makefile (build-testdata): Use $(built-program-cmd)
without explicit environment settings.

localedata/ChangeLog:
* tst-fmon.sh: Don't set LANGUAGE.
* tst-locale.sh: Likewise.

18 files changed:
ChangeLog
INSTALL
Makefile
Makefile.in
assert/Makefile
elf/Makefile
iconvdata/Makefile
io/ftwtest-sh
libio/Makefile
localedata/ChangeLog
localedata/tst-fmon.sh
localedata/tst-locale.sh
manual/install.texi
nptl/tst-tls6.sh
posix/globtest.sh
string/Makefile
sysdeps/s390/s390-64/Makefile
timezone/Makefile

index 79c68fc4bcd2cb593b3980ec366ec49d43d915c1..d508d741e9f049bbc76e8921a820ad2384b0ffda 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2014-06-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile (install): Don't set LANGUAGE.
+       * Makefile.in (install): Likewise.
+       * assert/Makefile (test-assert-ENV): Remove variable.
+       (test-assert-perr-ENV): Likewise.
+       * elf/Makefile (neededtest4-ENV): Likewise.
+       * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules)
+       [$(cross-compiling) = no]: Don't set LANGUAGE.
+       * io/ftwtest-sh (LANG): Remove variable.
+       * libio/Makefile (tst-widetext-ENV): Likewise.
+       * manual/install.texi (Running make install): Don't refer to
+       environment settings for make install.
+       * INSTALL: Regenerated.
+       * nptl/tst-tls6.sh: Don't set LANG.
+       * posix/globtest.sh (LANG): Remove variable.
+       * string/Makefile (tester-ENV): Likewise.
+       (inl-tester-ENV): Likewise.
+       (noinl-tester-ENV): Likewise.
+       * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules)
+       [$(cross-compiling) = no]: Don't set LANGUAGE.
+       * timezone/Makefile (build-testdata): Use $(built-program-cmd)
+       without explicit environment settings.
+
 2014-06-06  Roland McGrath  <roland@hack.frob.com>
 
        * nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Moved ...
diff --git a/INSTALL b/INSTALL
index 63630b8bbe5a85d27ff5c852c6dd807ac31e2044..9ed42029231b1f9ae9420c2ddf3baef1d5585d4f 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -254,12 +254,12 @@ Installing the C Library
 ========================
 
 To install the library and its header files, and the Info files of the
-manual, type `env LANGUAGE=C LC_ALL=C make install'.  This will build
-things, if necessary, before installing them; however, you should still
-compile everything first.  If you are installing the GNU C Library as
-your primary C library, we recommend that you shut the system down to
-single-user mode first, and reboot afterward.  This minimizes the risk
-of breaking things when the library changes out from underneath.
+manual, type `make install'.  This will build things, if necessary,
+before installing them; however, you should still compile everything
+first.  If you are installing the GNU C Library as your primary C
+library, we recommend that you shut the system down to single-user mode
+first, and reboot afterward.  This minimizes the risk of breaking
+things when the library changes out from underneath.
 
    `make install' will do the entire job of upgrading from a previous
 installation of the GNU C Library version 2.x.  There may sometimes be
index 2eab98c3f672bcc802e61ccfd523a17141d9c397..ad180347e15371e12377998a37f45b2a67d6a4e5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -105,7 +105,7 @@ install-symbolic-link: subdir_install
        rm -f $(symbolic-link-list)
 
 install:
-       -test ! -x $(elf-objpfx)ldconfig || LC_ALL=C LANGUAGE=C \
+       -test ! -x $(elf-objpfx)ldconfig || LC_ALL=C \
          $(elf-objpfx)ldconfig $(addprefix -r ,$(install_root)) \
                                $(slibdir) $(libdir)
 ifneq (no,$(PERL))
index 945bc32d4d19e3c471f90ea473c00ca7f268be8e..710ce7e2c22991e9d5a1829d1d33da92e77d2cd3 100644 (file)
@@ -9,7 +9,7 @@ all .DEFAULT:
        $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
 
 install:
-       LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
+       LC_ALL=C; export LC_ALL; \
        $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
 
 bench bench-clean:
index 97fb476cd655d31a50c21b8baafdb21375a5caa2..3ed21be1474d5d55d363e6e65a75fca80bdb9691 100644 (file)
@@ -28,6 +28,3 @@ routines := assert assert-perr __assert
 tests := test-assert test-assert-perr
 
 include ../Rules
-
-test-assert-ENV = LANGUAGE=C
-test-assert-perr-ENV = LANGUAGE=C
index eb16c5998ce6f6c8528f62d251320a535b72f1fa..a2f5ce5c47fc65bc02ec2fc99ad3065054b699e1 100644 (file)
@@ -591,7 +591,6 @@ $(objpfx)neededtest3: $(libdl)
 $(objpfx)neededtest3.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \
                          $(objpfx)neededobj3.so $(objpfx)neededobj4.so
 
-neededtest4-ENV = LC_ALL=C LANGUAGE=C
 $(objpfx)neededtest4: $(libdl) $(objpfx)neededobj1.so
 $(objpfx)neededtest4.out: $(objpfx)neededobj5.so $(objpfx)neededobj6.so
 
index 8fb746e1d5bba54e54a6447678ae35a03d296385..424e8ee04994b24e06c1fffb6436a59a82839fce 100644 (file)
@@ -251,7 +251,7 @@ ifeq (no,$(cross-compiling))
 # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
 # if this libc has more gconv modules than the previously installed one.
        if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
-          LC_ALL=C LANGUAGE=C \
+          LC_ALL=C \
           $(elf-objpfx)ld.so --library-path $(rpath-link) \
           $(common-objpfx)iconv/iconvconfig \
             $(addprefix --prefix=,$(install_root)); \
index db1c6bcc321d5f69ca39971bec8b32e876af3f7b..3a9e8f4a6b611f6d1392921deb2ed52c30b505d2 100644 (file)
@@ -40,8 +40,6 @@ fi
 # Since we use `sort' we must make sure to use the same locale everywhere.
 LC_ALL=C
 export LC_ALL
-LANG=C
-export LANG
 
 # First create our scenario:
 tmp=${objpfx}io
index 4552360c49710fb4efc9fe98af63a8565aa322d9..56952ce74473caf1960380ffa964d714f0dedfa4 100644 (file)
@@ -148,7 +148,6 @@ CFLAGS-tst_putwc.c = -DOBJPFX=\"$(objpfx)\"
 
 tst_wprintf2-ARGS = "Some Text"
 
-tst-widetext-ENV = LANGUAGE=C
 tst-fopenloc-ENV = MALLOC_TRACE=$(objpfx)tst-fopenloc.mtrace
 
 generated += tst-fopenloc.mtrace tst-fopenloc.check
index 7d91d38314f84fa1c1ef74c2fbd2e0337f54c2c9..666b6dcbe73628cd62cca2818d668b99df32e63d 100644 (file)
@@ -1,3 +1,8 @@
+2014-06-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * tst-fmon.sh: Don't set LANGUAGE.
+       * tst-locale.sh: Likewise.
+
 2014-06-06  Joseph Myers  <joseph@codesourcery.com>
 
        * Makefile ($(addprefix $(objpfx),$(CTYPE_FILES))): Use
index 7f1b2488a2ebb759b4c87cae2a14e2e55a988b77..275428e5c26ca6c092f8de7e768b6b181fd4f9fd 100755 (executable)
@@ -37,7 +37,7 @@ for cns in `cd ./tst-fmon-locales && ls tstfmon_*`; do
     fn=charmaps/ISO-8859-1
     ${run_program_prefix_before_env} \
     ${run_program_env} \
-    I18NPATH=. LANGUAGE=C \
+    I18NPATH=. \
     ${run_program_prefix_after_env} ${common_objpfx}locale/localedef \
     --quiet -i $cn -f $fn ${common_objpfx}localedata/$cns
 done
index 7c71dcf72c9577ef525a514e1ec946363d39f74a..7942a69ac6bc3e7f83b27b3ed1da1b018eb7e71f 100755 (executable)
@@ -36,7 +36,7 @@ test_locale ()
     fi
     ${localedef_before_env} \
     ${run_program_env} \
-    I18NPATH=. LANGUAGE=C \
+    I18NPATH=. \
     ${localedef_after_env} --quiet -c -f $charmap -i $input \
       ${rep} ${common_objpfx}localedata/$out
 
index 08851e1d5b253f0eaf876019f7fbe1e4a0ab7e21..6ca3ea161a1b27a11480fac441983dc2087c000c 100644 (file)
@@ -291,7 +291,7 @@ the last assignment specified must take precedence.
 @cindex installing
 
 To install the library and its header files, and the Info files of the
-manual, type @code{env LANGUAGE=C LC_ALL=C make install}.  This will
+manual, type @code{make install}.  This will
 build things, if necessary, before installing them; however, you should
 still compile everything first.  If you are installing @theglibc{} as your
 primary C library, we recommend that you shut the system down to
index 2d31826c7fb4f1c1237ee15c60128079d901e9eb..846c3219e5bee6166c158a8c90ab50e35c4faa0b 100755 (executable)
@@ -36,7 +36,7 @@ for aligned in a e f; do
   echo "preload tst-tls5mod{$aligned,b,c,d}.so" >> $logfile
   echo "===============" >> $logfile
   ${test_wrapper_env} \
-  ${run_program_env} LANG=C \
+  ${run_program_env} \
   LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{$aligned,b,c,d}.so \
              | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
   echo >> $logfile
@@ -44,7 +44,7 @@ for aligned in a e f; do
   echo "preload tst-tls5mod{b,$aligned,c,d}.so" >> $logfile
   echo "===============" >> $logfile
   ${test_wrapper_env} \
-  ${run_program_env} LANG=C \
+  ${run_program_env} \
   LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{b,$aligned,c,d}.so \
              | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
   echo >> $logfile
@@ -52,7 +52,7 @@ for aligned in a e f; do
   echo "preload tst-tls5mod{b,c,d,$aligned}.so" >> $logfile
   echo "===============" >> $logfile
   ${test_wrapper_env} \
-  ${run_program_env} LANG=C \
+  ${run_program_env} \
   LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{b,c,d,$aligned}.so \
              | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
   echo >> $logfile
@@ -61,7 +61,7 @@ done
 echo "preload tst-tls5mod{d,a,b,c,e}" >> $logfile
 echo "===============" >> $logfile
 ${test_wrapper_env} \
-${run_program_env} LANG=C \
+${run_program_env} \
 LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,c,e}.so \
            | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
 echo >> $logfile
@@ -69,7 +69,7 @@ echo >> $logfile
 echo "preload tst-tls5mod{d,a,b,e,f}" >> $logfile
 echo "===============" >> $logfile
 ${test_wrapper_env} \
-${run_program_env} LANG=C \
+${run_program_env} \
 LD_PRELOAD="`echo ${common_objpfx}nptl/tst-tls5mod{d,a,b,e,f}.so \
            | sed 's/:$//;s/: /:/g'`" ${tst_tls5} >> $logfile || fail=1
 echo >> $logfile
index d76fc6c772e8cd44e36b760fb61dcd7d45b9294a..77f00940efd0ecb02bf522bf9703a43f02c04f75 100755 (executable)
@@ -40,8 +40,6 @@ esac
 # Since we use `sort' we must make sure to use the same locale everywhere.
 LC_ALL=C
 export LC_ALL
-LANG=C
-export LANG
 
 # Create the arena
 testdir=${common_objpfx}posix/globtest-dir
index 70b9c19b1be408e4ca05dc41e02f4a5b76bb876a..98c2961db5fc4f64c1b1288011c9d48701f41598 100644 (file)
@@ -64,9 +64,6 @@ endif
 
 include ../Rules
 
-tester-ENV = LANGUAGE=C
-inl-tester-ENV = LANGUAGE=C
-noinl-tester-ENV = LANGUAGE=C
 CFLAGS-inl-tester.c = -fno-builtin
 CFLAGS-noinl-tester.c = -fno-builtin
 CFLAGS-tst-strlen.c = -fno-builtin
index 9fee71b5159743de6313d480ed001b076830226c..4e69e9037891fa19e1d957dfcd735a680788d590 100644 (file)
@@ -76,7 +76,7 @@ ifeq (no,$(cross-compiling))
 # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
 # if this libc has more gconv modules than the previously installed one.
        if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
-          LC_ALL=C LANGUAGE=C \
+          LC_ALL=C \
           $(elf-objpfx)ld.so --library-path $(rpath-link) \
           $(common-objpfx)iconv/iconvconfig \
             $(addprefix --prefix=,$(install_root)); \
index d10c3a511e976b3e3c6b4c20d92f91015ffa13af..6e008bc95623f8de418f442a8d4fdb66dd4af8ca 100644 (file)
@@ -80,8 +80,7 @@ CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT
 # Don't add leapseconds here since test-tz made checks that work only without
 # leapseconds.
 define build-testdata
-$(built-program-cmd-before-env) $(run-program-env) LANGUAGE=C \
-  $(built-program-cmd-after-env) -d $(testdata) -y ./yearistype $<; \
+$(built-program-cmd) -d $(testdata) -y ./yearistype $<; \
 $(evaluate-test)
 endef