glibc/glibc-gconv-modules-revert.patch
Siddhesh Poyarekar 6758377541 Auto-sync and build new glibc-gconv-extra package
Auto-sync Upstream commit: ebae2f5a6f971a8f0b6c99e00f9c45ef7433924a

Changes in addition to the sync:

Add a downstream patch[1] to reinstate gconv-modules file and apply
glibc-rh697421.patch after it.  Also update spec file to create a new
package glibc-gconv-extra with iconv converter modules that are not
commonly used so that they can be removed in minimal or hardened
installations.

[1] https://sourceware.org/pipermail/libc-alpha/2021-June/127497.html

Auto-sync commits:

- Add build option to disable usage of scv on powerpc
- io: Fix sporadic test failures in io/tst-stat
- nptl: Avoid async cancellation to wrongly update __nptl_nthreads (BZ #19366)
- nptl: Use pthread_kill on pthread_cancel
- nptl: Implement raise in terms of pthread_kill
- nptl: Move cancel type out of cancelhandling
- nptl: Move cancel state out of cancelhandling
- nptl: Remove CANCELING_BITMASK
- nptl: Install cancellation handler on pthread_cancel
- nptl: Deallocate the thread stack on setup failure (BZ #19511)
- Remove stale references to libdl.a
- Fix elf/tst-tls9-static after libdl cleanups.
- iconvdata: Split out non-essential gconv module configuration
- iconvdata: Move gconv-modules configuration to gconv-modules.conf
- gconv_conf: Read configuration files in gconv-modules.d
- iconvconfig: Read configuration from gconv-modules.d subdirectory
- iconvconfig: Make file handling more general purpose
- AArch64: Add support for roundeven[f]
- configure: Replaced obsolete AC_TRY_COMPILE
- libio: Assume _IO_lock_inexpensive
- nptl: Remove exit-thread.h
- Improve test coverage of strnlen function
2021-06-14 11:15:03 +05:30

138 lines
6.0 KiB
Diff

Short description: Reinstate gconv-modules as the default configuration file
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: https://sourceware.org/pipermail/libc-alpha/2021-June/127497.html
Reinstate gconv-modules as the main file so that the configuration
files in gconv-modules.d/ become add-on configuration. With this, the
effective user visible change is that GCONV_PATH can now have
supplementary configuration in GCONV_PATH/gconv-modules.d/ in addition
to the main GCONV_PATH/gconv-modules file.
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 3c6929fb59aadaa2..bb3f621b49608b04 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -137,13 +137,12 @@ charmaps = ../localedata/charmaps
extra-modules-left := $(modules)
include extra-module.mk
-gconv-modules = gconv-modules.conf gconv-modules-extra.conf
+gconv-modules = gconv-modules gconv-modules.d/gconv-modules-extra.conf
modpfx = $(objpfx)gconv-modules.d/
extra-objs += $(modules.so)
install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
- $(addprefix $(inst_gconvdir)/gconv-modules.d/, \
- $(gconv-modules))
+ $(addprefix $(inst_gconvdir)/, $(gconv-modules))
# We can build the conversion tables for numerous charsets automatically.
@@ -185,7 +184,7 @@ generated += $(generated-modules:=.h) $(generated-modules:=.stmp) \
iconv-test.out iconv-rules tst-loading.mtrace \
mtrace-tst-loading.out tst-tables.out iconv-test.xxx
ifdef objpfx
-generated += $(addprefix gconv-modules.d/,$(gconv-modules))
+generated += $(gconv-modules)
endif
# Rules to generate the headers.
@@ -253,8 +252,8 @@ headers: $(addprefix $(objpfx), $(generated-modules:=.h))
$(addprefix $(inst_gconvdir)/, $(modules.so)): \
$(inst_gconvdir)/%: $(objpfx)% $(+force)
$(do-install-program)
-$(addprefix $(inst_gconvdir)/gconv-modules.d/, $(gconv-modules)): \
- $(inst_gconvdir)/gconv-modules.d/%: $(modpfx)% $(+force)
+$(addprefix $(inst_gconvdir)/, $(gconv-modules)): \
+ $(inst_gconvdir)/%: $(objpfx)% $(+force)
$(do-install)
ifeq (no,$(cross-compiling))
# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
@@ -307,29 +306,29 @@ $(objpfx)mtrace-tst-loading.out: $(objpfx)tst-loading.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \
$(evaluate-test)
-$(objpfx)bug-iconv1.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv1.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv2.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv2.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv3.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv3.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv5.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv5.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)tst-loading.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)tst-loading.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)tst-iconv4.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)tst-iconv4.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)tst-iconv7.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)tst-iconv7.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv10.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv10.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv12.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv12.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
-$(objpfx)bug-iconv14.out: $(addprefix $(modpfx), $(gconv-modules)) \
+$(objpfx)bug-iconv14.out: $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
$(objpfx)iconv-test.out: run-iconv-test.sh \
- $(addprefix $(modpfx), $(gconv-modules)) \
+ $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) \
$(common-objdir)/iconv/iconv_prog TESTS
iconv_modules="$(modules)" \
@@ -338,7 +337,7 @@ $(objpfx)iconv-test.out: run-iconv-test.sh \
$(evaluate-test)
$(objpfx)tst-tables.out: tst-tables.sh \
- $(addprefix $(modpfx), $(gconv-modules)) \
+ $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so)) \
$(objpfx)tst-table-from $(objpfx)tst-table-to
$(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \
@@ -357,7 +356,10 @@ $(modpfx):
$(modpfx)%: % $(modpfx)
cp $< $@
+$(objpfx)gconv-modules: gconv-modules
+ cp $^ $@
+
# Test requires BIG5HKSCS.
$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: \
- $(addprefix $(modpfx), $(gconv-modules)) \
+ $(addprefix $(objpfx), $(gconv-modules)) \
$(addprefix $(objpfx),$(modules.so))
diff --git a/iconvdata/gconv-modules.conf b/iconvdata/gconv-modules
similarity index 100%
rename from iconvdata/gconv-modules.conf
rename to iconvdata/gconv-modules
diff --git a/localedata/Makefile b/localedata/Makefile
index ff4ec4acfa2bc523..bc5a60cf3b49701a 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -183,7 +183,7 @@ install-others := $(addprefix $(inst_i18ndir)/, \
$(locales))
endif
-tests: $(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf
+tests: $(objdir)/iconvdata/gconv-modules
tests-static += tst-langinfo-newlocale-static tst-langinfo-setlocale-static
@@ -465,5 +465,5 @@ $(objpfx)mtrace-tst-leaks.out: $(objpfx)tst-leaks.out
bug-setlocale1-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8
bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only)
-$(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf:
+$(objdir)/iconvdata/gconv-modules:
$(MAKE) -C ../iconvdata subdir=iconvdata $@