forked from rpms/glibc
Import glibc-2.34-28.fc35 from f35
* Tue Mar 08 2022 Arjun Shankar <arjun@redhat.com> - 2.34-28 - Reduce installed size of some langpacks by de-duplicating LC_CTYPE (#2054789) - Fix localedef so it can handle symbolic links when generating locale-archive. - Drop glibc-fedora-localedef.patch and adjust locale installation accordingly so that installed content remains unchanged. Resolves: #2054789
This commit is contained in:
parent
e5be379cb0
commit
d6cd878dc9
@ -1,21 +0,0 @@
|
|||||||
Short description: Fedora-specific glibc install locale changes.
|
|
||||||
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
|
|
||||||
Origin: PATCH
|
|
||||||
Upstream status: not-needed
|
|
||||||
|
|
||||||
The Fedora glibc build and install does not need the normal install
|
|
||||||
behaviour which updates the locale archive. The Fedora install phase
|
|
||||||
in the spec file of the rpm will handle this manually.
|
|
||||||
|
|
||||||
diff --git a/localedata/Makefile b/localedata/Makefile
|
|
||||||
index 0eea396ad86da956..54caabda33728207 100644
|
|
||||||
--- a/localedata/Makefile
|
|
||||||
+++ b/localedata/Makefile
|
|
||||||
@@ -413,6 +413,7 @@ define build-one-locale
|
|
||||||
echo -n '...'; \
|
|
||||||
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
|
|
||||||
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
|
|
||||||
+ --no-archive \
|
|
||||||
-i locales/$$input -f charmaps/$$charset \
|
|
||||||
$(addprefix --prefix=,$(install_root)) $$locale \
|
|
||||||
&& echo ' done';
|
|
27
glibc-rh2054789.patch
Normal file
27
glibc-rh2054789.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
commit ea89d5bbd9e5e514b606045d909e6ab87d851c88
|
||||||
|
Author: Arjun Shankar <arjun@redhat.com>
|
||||||
|
Date: Thu Feb 24 21:43:09 2022 +0100
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
|
||||||
|
index f38e835c52e4a967..d79278b6ed7340bf 100644
|
||||||
|
--- a/locale/programs/locarchive.c
|
||||||
|
+++ b/locale/programs/locarchive.c
|
||||||
|
@@ -1391,7 +1391,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);
|
31
glibc.spec
31
glibc.spec
@ -148,7 +148,7 @@ end \
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 27%{?dist}
|
Release: 28%{?dist}
|
||||||
|
|
||||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||||
# libraries.
|
# libraries.
|
||||||
@ -215,7 +215,6 @@ rpm.define("__debug_install_post bash " .. wrapper
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
Patch1: glibc-fedora-nscd.patch
|
Patch1: glibc-fedora-nscd.patch
|
||||||
Patch4: glibc-fedora-linux-tcsetattr.patch
|
Patch4: glibc-fedora-linux-tcsetattr.patch
|
||||||
Patch6: glibc-fedora-localedef.patch
|
|
||||||
Patch8: glibc-fedora-manual-dircategory.patch
|
Patch8: glibc-fedora-manual-dircategory.patch
|
||||||
Patch9: glibc-rh827510.patch
|
Patch9: glibc-rh827510.patch
|
||||||
Patch13: glibc-fedora-localedata-rh61908.patch
|
Patch13: glibc-fedora-localedata-rh61908.patch
|
||||||
@ -378,6 +377,7 @@ Patch173: glibc-upstream-2.34-107.patch
|
|||||||
Patch174: glibc-rh2058224-1.patch
|
Patch174: glibc-rh2058224-1.patch
|
||||||
Patch175: glibc-rh2058224-2.patch
|
Patch175: glibc-rh2058224-2.patch
|
||||||
Patch176: glibc-rh2058230.patch
|
Patch176: glibc-rh2058230.patch
|
||||||
|
Patch177: glibc-rh2054789.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Continued list of core "glibc" package information:
|
# Continued list of core "glibc" package information:
|
||||||
@ -1412,11 +1412,11 @@ done
|
|||||||
pushd build-%{target}
|
pushd build-%{target}
|
||||||
%make_build install_root=%{glibc_sysroot} install
|
%make_build install_root=%{glibc_sysroot} install
|
||||||
%make_build install_root=%{glibc_sysroot} \
|
%make_build install_root=%{glibc_sysroot} \
|
||||||
install-locales -C ../localedata objdir=`pwd`
|
install-locale-files -C ../localedata objdir=`pwd`
|
||||||
popd
|
popd
|
||||||
# Locale creation may produce different groups of hardlinks in an
|
# Locale creation via install-locale-files does not group identical files
|
||||||
# unpredictable manner. Re-grouping makes those differences go away.
|
# via hardlinks, so we must group them ourselves.
|
||||||
hardlink %{glibc_sysroot}/usr/lib/locale
|
hardlink -c %{glibc_sysroot}/usr/lib/locale
|
||||||
|
|
||||||
# install_different:
|
# install_different:
|
||||||
# Install all core libraries into DESTDIR/SUBDIR. Either the file is
|
# Install all core libraries into DESTDIR/SUBDIR. Either the file is
|
||||||
@ -1538,6 +1538,19 @@ $olddir/build-%{target}/elf/ld.so \
|
|||||||
# glibc-all-langpacks versions)
|
# glibc-all-langpacks versions)
|
||||||
ln locale-archive locale-archive.real
|
ln locale-archive locale-archive.real
|
||||||
|
|
||||||
|
# Almost half the LC_CTYPE files in langpacks are identical to the C.utf8
|
||||||
|
# variant which is installed by default. When we keep them as hardlinks,
|
||||||
|
# each langpack ends up retaining a copy. If we convert these to symbolic
|
||||||
|
# links instead, we save ~350K each when they get installed that way.
|
||||||
|
#
|
||||||
|
# LC_MEASUREMENT and LC_PAPER also have several duplicates but we don't
|
||||||
|
# bother with these because they are only ~30 bytes each.
|
||||||
|
pushd %{glibc_sysroot}/usr/lib/locale
|
||||||
|
for f in $(find eo *_* -samefile C.utf8/LC_CTYPE); do
|
||||||
|
rm $f && ln -s '../C.utf8/LC_CTYPE' $f
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
# Create the file lists for the language specific sub-packages:
|
# Create the file lists for the language specific sub-packages:
|
||||||
for i in eo *_*
|
for i in eo *_*
|
||||||
do
|
do
|
||||||
@ -2421,6 +2434,12 @@ fi
|
|||||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 08 2022 Arjun Shankar <arjun@redhat.com> - 2.34-28
|
||||||
|
- Reduce installed size of some langpacks by de-duplicating LC_CTYPE (#2054789)
|
||||||
|
- Fix localedef so it can handle symbolic links when generating locale-archive.
|
||||||
|
- Drop glibc-fedora-localedef.patch and adjust locale installation
|
||||||
|
accordingly so that installed content remains unchanged.
|
||||||
|
|
||||||
* Mon Feb 28 2022 Florian Weimer <fweimer@redhat.com> - 2.34-27
|
* Mon Feb 28 2022 Florian Weimer <fweimer@redhat.com> - 2.34-27
|
||||||
- Fix regression (ldd crash) during dependency sorting in ld.so (#2058230)
|
- Fix regression (ldd crash) during dependency sorting in ld.so (#2058230)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user