localedef: Handle symbolic links when generating locale-archive

This commit is contained in:
liqingqing_1229 2022-04-08 09:13:59 +08:00
parent 392ce5abce
commit a99a5d915f
2 changed files with 38 additions and 1 deletions

View File

@ -66,7 +66,7 @@
##############################################################################
Name: glibc
Version: 2.34
Release: 72
Release: 73
Summary: The GNU libc libraries
License: %{all_license}
URL: http://www.gnu.org/software/glibc/
@ -208,6 +208,7 @@ Patch122: malloc-hugepage-0004-malloc-Add-Huge-Page-support-for-mmap.patch
Patch123: malloc-hugepage-0005-malloc-Add-Huge-Page-support-to-arenas.patch
Patch124: malloc-hugepage-0006-malloc-Move-MORECORE-fallback-mmap-to-sysmalloc_mmap.patch
Patch125: malloc-hugepage-0007-malloc-Enable-huge-page-support-on-main-arena.patch
Patch126: localedef-Handle-symbolic-links-when-generating-loca.patch
Patch9000: turn-default-value-of-x86_rep_stosb_threshold_form_2K_to_1M.patch
Patch9001: delete-no-hard-link-to-avoid-all_language-package-to.patch
@ -1301,6 +1302,9 @@ fi
%endif
%changelog
* Fri Apr 8 2022 Qingqing Li <liqingqing3@huawei.com> - 2.34-73
- localedef: Handle symbolic links when generating locale-archive
* Wed Mar 30 2022 Lv Ying <lvying6@huawei.com> - 2.34-72
- use mlock to determine hugepage RLIMIT_MEMLOCK soft resource limit is valid

View File

@ -0,0 +1,33 @@
From ea89d5bbd9e5e514b606045d909e6ab87d851c88 Mon Sep 17 00:00:00 2001
From: Arjun Shankar <arjun@redhat.com>
Date: Thu, 24 Feb 2022 21:43:09 +0100
Subject: [PATCH] localedef: Handle symbolic links when generating
locale-archive
Whenever locale data for any locale included symbolic links, localedef
would throw the error "incomplete set of locale files" and exclude it
from the generated locale archive. This commit fixes that.
Co-authored-by: Florian Weimer <fweimer@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
---
locale/programs/locarchive.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 45408c2..eeb2fa6 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -1397,7 +1397,7 @@ add_locales_to_archive (size_t nlist, char *list[], bool replace)
{
char fullname[fnamelen + 2 * strlen (d->d_name) + 7];
- if (d_type == DT_UNKNOWN)
+ if (d_type == DT_UNKNOWN || d_type == DT_LNK)
{
strcpy (stpcpy (stpcpy (fullname, fname), "/"),
d->d_name);
--
1.8.3.1