gnu: glibc: Add 2.27 supported locales patch.
authorCarl Dong <contact@carldong.me>
Tue, 9 Jul 2019 01:20:17 +0000 (21:20 -0400)
committerCarl Dong <contact@carldong.me>
Tue, 9 Jul 2019 01:20:17 +0000 (21:20 -0400)
The 'glibc-supported-locales.patch' was updated for glibc 2.29, breaking
compatibility with 2.27. Add a 2.27-specific supported locales patch.

* gnu/packages/patches/glibc-2.27-supported-locales.patch: New file.
* gnu/packages/base.scm (glibc-2.27)[source](patches): Use
'glibc-2.27-supported-locales.patch' instead.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

gnu/local.mk
gnu/packages/base.scm
gnu/packages/patches/glibc-2.27-supported-locales.patch [new file with mode: 0644]

index bac1a92..f63ff1f 100644 (file)
@@ -876,6 +876,7 @@ dist_patch_DATA =                                           \
   %D%/packages/patches/glibc-2.28-supported-locales.patch      \
   %D%/packages/patches/glibc-2.29-git-updates.patch            \
   %D%/packages/patches/glibc-supported-locales.patch           \
+  %D%/packages/patches/glibc-2.27-supported-locales.patch      \
   %D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch           \
   %D%/packages/patches/glog-gcc-5-demangling.patch             \
   %D%/packages/patches/gmp-arm-asm-nothumb.patch               \
index f26145c..5878cbe 100644 (file)
@@ -854,7 +854,7 @@ with the Linux kernel.")
                                        "glibc-versioned-locpath.patch"
                                        "glibc-allow-kernel-2.6.32.patch"
                                        "glibc-reinstate-prlimit64-fallback.patch"
-                                       "glibc-supported-locales.patch"
+                                       "glibc-2.27-supported-locales.patch"
                                        "glibc-CVE-2018-11236.patch"
                                        "glibc-CVE-2018-11237.patch"))))
     (properties `((lint-hidden-cve . ("CVE-2017-18269")))))) ; glibc-2.27-git-fixes
diff --git a/gnu/packages/patches/glibc-2.27-supported-locales.patch b/gnu/packages/patches/glibc-2.27-supported-locales.patch
new file mode 100644 (file)
index 0000000..2888052
--- /dev/null
@@ -0,0 +1,33 @@
+This patch is taken from debian's glibc package (generate-supported.mk).
+It install the localedata/SUPPORTED file of the glibc. This file lists
+all the supported locales of the glibc.
+
+diff --git a/localedata/Makefile.old b/localedata/Makefile
+index 34877c0..a61d9b9 100644
+--- a/localedata/Makefile.old
++++ b/localedata/Makefile
+@@ -91,7 +91,8 @@ endif
+ # Files to install.
+ install-others := $(addprefix $(inst_i18ndir)/, \
+                             $(addsuffix .gz, $(charmaps)) \
+-                            $(locales))
++                            $(locales)) \
++                   $(inst_i18ndir)/SUPPORTED
+ tests: $(objdir)/iconvdata/gconv-modules
+@@ -195,6 +196,14 @@ endif
+ include SUPPORTED
++$(inst_i18ndir)/SUPPORTED: SUPPORTED $(+force)
++      for locale in $(SUPPORTED-LOCALES); do \
++              [ $$locale = true ] && continue; \
++              echo $$locale | sed 's,/, ,' >> LOCALES; \
++      done
++      $(make-target-directory)
++      $(INSTALL_DATA) LOCALES $@
++
+ INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
+ # Sometimes the whole collection of locale files should be installed.