import glibc-2.28-174.el8

This commit is contained in:
CentOS Sources 2021-12-04 06:54:40 +00:00 committed by Stepan Oksanichenko
parent 759ed1ddc8
commit e885cc3798
6 changed files with 514 additions and 28 deletions

View File

@ -159,6 +159,7 @@ en_SG/ISO-8859-1 \
en_US.UTF-8/UTF-8 \ en_US.UTF-8/UTF-8 \
en_US/ISO-8859-1 \ en_US/ISO-8859-1 \
en_US.ISO-8859-15/ISO-8859-15 \ en_US.ISO-8859-15/ISO-8859-15 \
en_US@ampm.UTF-8/UTF-8 \
en_ZA.UTF-8/UTF-8 \ en_ZA.UTF-8/UTF-8 \
en_ZA/ISO-8859-1 \ en_ZA/ISO-8859-1 \
en_ZM/UTF-8 \ en_ZM/UTF-8 \

View File

@ -0,0 +1,159 @@
From 332421312576bd7095e70589154af99b124dd2d1 Mon Sep 17 00:00:00 2001
From: Carlos O'Donell <carlos@redhat.com>
Date: Fri, 12 Mar 2021 16:44:47 +0100
Subject: elf: Always set l in _dl_init_paths (bug 23462)
After d1d5471579eb0426671bf94f2d71e61dfb204c30 ("Remove dead
DL_DST_REQ_STATIC code.") we always setup the link map l to make the
static and shared cases the same. The bug is that in elf/dl-load.c
(_dl_init_paths) we conditionally set l only in the #ifdef SHARED
case, but unconditionally use it later. The simple solution is to
remove the #ifdef SHARED conditional, because it's no longer needed,
and unconditionally setup l for both the static and shared cases. A
regression test is added to run a static binary with
LD_LIBRARY_PATH='$ORIGIN' which crashes before the fix and runs after
the fix.
Co-Authored-By: Florian Weimer <fweimer@redhat.com>
diff --git a/elf/Makefile b/elf/Makefile
--- a/elf/Makefile 2021-11-02 16:28:14.720143774 -0400
+++ b/elf/Makefile 2021-11-02 18:42:38.763843571 -0400
@@ -151,7 +151,8 @@ endif
tests-static-normal := tst-leaks1-static tst-array1-static tst-array5-static \
tst-dl-iter-static \
tst-tlsalign-static tst-tlsalign-extern-static \
- tst-linkall-static tst-env-setuid tst-env-setuid-tunables
+ tst-linkall-static tst-env-setuid tst-env-setuid-tunables \
+ tst-dst-static
tests-static-internal := tst-tls1-static tst-tls2-static \
tst-ptrguard1-static tst-stackguard1-static \
tst-tls1-static-non-pie tst-libc_dlvsym-static
@@ -1811,3 +1812,5 @@ $(objpfx)tst-glibc-hwcaps-mask.out: \
# Generic dependency for sysdeps implementation of
# tst-glibc-hwcaps-cache.
$(objpfx)tst-glibc-hwcaps-cache.out: $(objpfx)tst-glibc-hwcaps
+
+tst-dst-static-ENV = LD_LIBRARY_PATH='$$ORIGIN'
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 9e2089cfaa..376a2e64d6 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -758,50 +758,45 @@ _dl_init_paths (const char *llp, const char *source,
max_dirnamelen = SYSTEM_DIRS_MAX_LEN;
*aelem = NULL;
-#ifdef SHARED
/* This points to the map of the main object. */
l = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
- if (l != NULL)
+ assert (l->l_type != lt_loaded);
+
+ if (l->l_info[DT_RUNPATH])
+ {
+ /* Allocate room for the search path and fill in information
+ from RUNPATH. */
+ decompose_rpath (&l->l_runpath_dirs,
+ (const void *) (D_PTR (l, l_info[DT_STRTAB])
+ + l->l_info[DT_RUNPATH]->d_un.d_val),
+ l, "RUNPATH");
+ /* During rtld init the memory is allocated by the stub malloc,
+ prevent any attempt to free it by the normal malloc. */
+ l->l_runpath_dirs.malloced = 0;
+
+ /* The RPATH is ignored. */
+ l->l_rpath_dirs.dirs = (void *) -1;
+ }
+ else
{
- assert (l->l_type != lt_loaded);
+ l->l_runpath_dirs.dirs = (void *) -1;
- if (l->l_info[DT_RUNPATH])
+ if (l->l_info[DT_RPATH])
{
/* Allocate room for the search path and fill in information
- from RUNPATH. */
- decompose_rpath (&l->l_runpath_dirs,
+ from RPATH. */
+ decompose_rpath (&l->l_rpath_dirs,
(const void *) (D_PTR (l, l_info[DT_STRTAB])
- + l->l_info[DT_RUNPATH]->d_un.d_val),
- l, "RUNPATH");
- /* During rtld init the memory is allocated by the stub malloc,
- prevent any attempt to free it by the normal malloc. */
- l->l_runpath_dirs.malloced = 0;
-
- /* The RPATH is ignored. */
- l->l_rpath_dirs.dirs = (void *) -1;
+ + l->l_info[DT_RPATH]->d_un.d_val),
+ l, "RPATH");
+ /* During rtld init the memory is allocated by the stub
+ malloc, prevent any attempt to free it by the normal
+ malloc. */
+ l->l_rpath_dirs.malloced = 0;
}
else
- {
- l->l_runpath_dirs.dirs = (void *) -1;
-
- if (l->l_info[DT_RPATH])
- {
- /* Allocate room for the search path and fill in information
- from RPATH. */
- decompose_rpath (&l->l_rpath_dirs,
- (const void *) (D_PTR (l, l_info[DT_STRTAB])
- + l->l_info[DT_RPATH]->d_un.d_val),
- l, "RPATH");
- /* During rtld init the memory is allocated by the stub
- malloc, prevent any attempt to free it by the normal
- malloc. */
- l->l_rpath_dirs.malloced = 0;
- }
- else
- l->l_rpath_dirs.dirs = (void *) -1;
- }
+ l->l_rpath_dirs.dirs = (void *) -1;
}
-#endif /* SHARED */
if (llp != NULL && *llp != '\0')
{
diff --git a/elf/tst-dst-static.c b/elf/tst-dst-static.c
new file mode 100644
index 0000000000..56eb371c96
--- /dev/null
+++ b/elf/tst-dst-static.c
@@ -0,0 +1,32 @@
+/* Test DST expansion for static binaries doesn't carsh. Bug 23462.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+/* The purpose of this test is to exercise the code in elf/dl-loac.c
+ (_dl_init_paths) or thereabout and ensure that static binaries
+ don't crash when expanding DSTs.
+
+ If the dynamic loader code linked into the static binary cannot
+ handle expanding the DSTs e.g. null-deref on an incomplete link
+ map, then it will crash before reaching main, so the test harness
+ is unnecessary. */
+
+int
+main (void)
+{
+ return 0;
+}

View File

@ -0,0 +1,74 @@
From 4e6db99c665d3b82a70a3e218860ef087b1555b4 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Mon, 15 Mar 2021 10:33:43 +0100
Subject: elf: ld.so --help calls _dl_init_paths without a main map [BZ #27577]
In this case, use the link map of the dynamic loader itself as
a replacement. This is more than just a hack: if we ever support
DT_RUNPATH/DT_RPATH for the dynamic loader, reporting it for
ld.so --help (without further command line arguments) would be the
right thing to do.
Fixes commit 332421312576bd7095e70589154af99b124dd2d1 ("elf: Always
set l in _dl_init_paths (bug 23462)").
diff --git a/elf/Makefile b/elf/Makefile
index 4c9e63dac9..ba4689a7fa 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -231,7 +231,7 @@ tests += $(tests-execstack-$(have-z-execstack))
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)tst-leaks1-mem.out \
$(objpfx)tst-leaks1-static-mem.out $(objpfx)noload-mem.out \
- $(objpfx)tst-ldconfig-X.out
+ $(objpfx)tst-ldconfig-X.out $(objpfx)tst-rtld-help.out
endif
tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
@@ -409,7 +409,8 @@ endif
ifeq (yes,$(build-shared))
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out \
- $(objpfx)tst-rtld-preload.out $(objpfx)argv0test.out
+ $(objpfx)tst-rtld-preload.out $(objpfx)argv0test.out \
+ $(objpfx)tst-rtld-help.out
endif
tests-special += $(objpfx)check-textrel.out $(objpfx)check-execstack.out \
$(objpfx)check-wx-segment.out \
@@ -1814,3 +1815,16 @@ $(objpfx)list-tunables.out: tst-rtld-list-tunables.sh $(objpfx)ld.so
$(objpfx)tst-glibc-hwcaps-cache.out: $(objpfx)tst-glibc-hwcaps
tst-dst-static-ENV = LD_LIBRARY_PATH='$$ORIGIN'
+
+$(objpfx)tst-rtld-help.out: $(objpfx)ld.so
+ $(test-wrapper) $(rtld-prefix) --help > $@; \
+ status=$$?; \
+ echo "info: ld.so exit status: $$status" >> $@; \
+ if ! grep -q 'Legacy HWCAP subdirectories under library search path directories' $@; then \
+ echo "error: missing subdirectory pattern" >> $@; \
+ if test $$status -eq 0; then \
+ status=1; \
+ fi; \
+ fi; \
+ (exit $$status); \
+ $(evaluate-test)
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 376a2e64d6..2f760503c5 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -758,8 +758,14 @@ _dl_init_paths (const char *llp, const char *source,
max_dirnamelen = SYSTEM_DIRS_MAX_LEN;
*aelem = NULL;
- /* This points to the map of the main object. */
+ /* This points to the map of the main object. If there is no main
+ object (e.g., under --help, use the dynamic loader itself as a
+ stand-in. */
l = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
+#ifdef SHARED
+ if (l == NULL)
+ l = &GL (dl_rtld_map);
+#endif
assert (l->l_type != lt_loaded);
if (l->l_info[DT_RUNPATH])

View File

@ -0,0 +1,205 @@
Bug RHEL #2000374
Bugs Upstream #24046, #25923
This patch provides 12-hour time for the English language UTF-8 locale as a
new locale en_US@ampm.UTF-8.
Two upstream commits were applied to en_US to create the new file en_US@ampm:
Upstream commit: 7395f3a0efad9fc51bb54fa383ef6524702e0c49
Upstream commit: 8cde977077b3568310c743b21a905ca9ab286724
en_US remains unchanged and the new file en_US@ampm is now supported.
diff -Nrup a/localedata/locales/en_US@ampm b/localedata/locales/en_US@ampm
--- a/localedata/locales/en_US@ampm 1969-12-31 19:00:00.000000000 -0500
+++ b/localedata/locales/en_US@ampm 2021-11-17 17:19:15.338720307 -0500
@@ -0,0 +1,177 @@
+comment_char %
+escape_char /
+
+% This file is part of the GNU C Library and contains locale data.
+% The Free Software Foundation does not claim any copyright interest
+% in the locale data contained in this file. The foregoing does not
+% affect the license of the GNU C Library as a whole. It does not
+% exempt you from the conditions of the license if your use would
+% otherwise be governed by that license.
+
+% Locale for English locale in the USA
+% Contributed by Ulrich Drepper <drepper@redhat.com>, 2000
+
+LC_IDENTIFICATION
+title "English locale for the USA"
+source "Free Software Foundation, Inc."
+address "http:////www.gnu.org//software//libc//"
+contact ""
+email "bug-glibc-locales@gnu.org"
+tel ""
+fax ""
+language "American English"
+territory "United States"
+revision "1.0"
+date "2000-06-24"
+
+category "i18n:2012";LC_IDENTIFICATION
+category "i18n:2012";LC_CTYPE
+category "i18n:2012";LC_COLLATE
+category "i18n:2012";LC_TIME
+category "i18n:2012";LC_NUMERIC
+category "i18n:2012";LC_MONETARY
+category "i18n:2012";LC_MESSAGES
+category "i18n:2012";LC_PAPER
+category "i18n:2012";LC_NAME
+category "i18n:2012";LC_ADDRESS
+category "i18n:2012";LC_TELEPHONE
+category "i18n:2012";LC_MEASUREMENT
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "en_GB"
+END LC_CTYPE
+
+LC_COLLATE
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+END LC_COLLATE
+
+LC_MONETARY
+int_curr_symbol "USD "
+currency_symbol "$"
+mon_decimal_point "."
+mon_thousands_sep ","
+mon_grouping 3;3
+positive_sign ""
+negative_sign "-"
+int_frac_digits 2
+frac_digits 2
+p_cs_precedes 1
+int_p_sep_by_space 1
+p_sep_by_space 0
+n_cs_precedes 1
+int_n_sep_by_space 1
+n_sep_by_space 0
+p_sign_posn 1
+n_sign_posn 1
+%
+END LC_MONETARY
+
+LC_NUMERIC
+decimal_point "."
+thousands_sep ","
+grouping 3;3
+END LC_NUMERIC
+
+LC_TIME
+abday "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"
+day "Sunday";/
+ "Monday";/
+ "Tuesday";/
+ "Wednesday";/
+ "Thursday";/
+ "Friday";/
+ "Saturday"
+
+week 7;19971130;1
+abmon "Jan";"Feb";/
+ "Mar";"Apr";/
+ "May";"Jun";/
+ "Jul";"Aug";/
+ "Sep";"Oct";/
+ "Nov";"Dec"
+mon "January";/
+ "February";/
+ "March";/
+ "April";/
+ "May";/
+ "June";/
+ "July";/
+ "August";/
+ "September";/
+ "October";/
+ "November";/
+ "December"
+% Appropriate date and time representation (%c)
+d_t_fmt "%a %d %b %Y %r %Z"
+%
+% Appropriate date representation (%x)
+d_fmt "%m//%d//%Y"
+%
+% Appropriate time representation (%X)
+t_fmt "%r"
+%
+% Appropriate AM/PM time representation (%r)
+t_fmt_ampm "%I:%M:%S %p"
+%
+% Appropriate date and time representation for date(1). This is
+% different from d_t_fmt for historical reasons and has been different
+% since 2000 when date_fmt was added as a GNU extension. At the end
+% of 2018 it was adjusted to use 12H time (bug 24046) instead of 24H.
+date_fmt "%a %b %e %r %Z %Y"
+%
+% Strings for AM/PM
+%
+am_pm "AM";"PM"
+END LC_TIME
+
+LC_MESSAGES
+yesexpr "^[+1yY]"
+noexpr "^[-0nN]"
+yesstr "yes"
+nostr "no"
+END LC_MESSAGES
+
+LC_PAPER
+height 279
+width 216
+END LC_PAPER
+
+LC_NAME
+name_fmt "%d%t%g%t%m%t%f"
+name_miss "Miss."
+name_mr "Mr."
+name_mrs "Mrs."
+name_ms "Ms."
+END LC_NAME
+
+
+LC_ADDRESS
+postal_fmt "%a%N%f%N%d%N%b%N%h %s %e %r%N%T, %S %z%N%c%N"
+country_name "United States"
+country_post "USA"
+country_ab2 "US"
+country_ab3 "USA"
+country_num 840
+country_car "USA"
+country_isbn 0
+lang_name "English"
+lang_ab "en"
+lang_term "eng"
+lang_lib "eng"
+END LC_ADDRESS
+
+LC_TELEPHONE
+tel_int_fmt "+%c (%a) %l"
+tel_dom_fmt "(%a) %l"
+int_select "11"
+int_prefix "1"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+% US customary units.
+measurement 2
+END LC_MEASUREMENT
diff -Nrup a/localedata/SUPPORTED b/localedata/SUPPORTED
--- a/localedata/SUPPORTED 2021-11-17 17:14:33.831631483 -0500
+++ b/localedata/SUPPORTED 2021-11-17 17:21:16.418188595 -0500
@@ -159,6 +159,7 @@ en_SG/ISO-8859-1 \
en_US.UTF-8/UTF-8 \
en_US/ISO-8859-1 \
en_US.ISO-8859-15/ISO-8859-15 \
+en_US@ampm.UTF-8/UTF-8 \
en_ZA.UTF-8/UTF-8 \
en_ZA/ISO-8859-1 \
en_ZM/UTF-8 \

View File

@ -1,8 +1,6 @@
Based on the following patch posted upstream and awaiting IBM review: commit 98966749f2b418825ff2ea496a0ee89fe63d2cc8
https://sourceware.org/pipermail/libc-alpha/2021-November/132856.html
Author: Florian Weimer <fweimer@redhat.com> Author: Florian Weimer <fweimer@redhat.com>
Date: Tue Nov 9 18:50:55 2021 +0100 Date: Wed Nov 10 15:21:37 2021 +0100
s390: Use long branches across object boundaries (jgh instead of jh) s390: Use long branches across object boundaries (jgh instead of jh)
@ -11,8 +9,8 @@ Date: Tue Nov 9 18:50:55 2021 +0100
Analysis of the linker failure was carried out by Nick Clifton. Analysis of the linker failure was carried out by Nick Clifton.
Tested on a z13 and z15, s390x-linux-gnu only.
Reviewed-by: Carlos O'Donell <carlos@redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Stefan Liebler <stli@linux.ibm.com>
diff --git a/sysdeps/s390/memmem-arch13.S b/sysdeps/s390/memmem-arch13.S diff --git a/sysdeps/s390/memmem-arch13.S b/sysdeps/s390/memmem-arch13.S
index b59d60acf0f6aaa0..4faede0cd2f942e3 100644 index b59d60acf0f6aaa0..4faede0cd2f942e3 100644

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.28 %define glibcsrcdir glibc-2.28
%define glibcversion 2.28 %define glibcversion 2.28
%define glibcrelease 170%{?dist} %define glibcrelease 174%{?dist}
# Pre-release tarballs are pulled in from git using a command that is # Pre-release tarballs are pulled in from git using a command that is
# effectively: # effectively:
# #
@ -780,6 +780,9 @@ Patch602: glibc-rh1983203-1.patch
Patch603: glibc-rh1983203-2.patch Patch603: glibc-rh1983203-2.patch
Patch604: glibc-rh2021452.patch Patch604: glibc-rh2021452.patch
Patch605: glibc-rh1937515.patch Patch605: glibc-rh1937515.patch
Patch606: glibc-rh1934162-1.patch
Patch607: glibc-rh1934162-2.patch
Patch608: glibc-rh2000374.patch
############################################################################## ##############################################################################
# Continued list of core "glibc" package information: # Continued list of core "glibc" package information:
@ -809,11 +812,6 @@ Recommends: (nss_db(x86-32) if nss_db(x86-64))
BuildRequires: gd-devel libpng-devel zlib-devel BuildRequires: gd-devel libpng-devel zlib-devel
%endif %endif
%if %{with docs} %if %{with docs}
# Removing texinfo will cause check-safety.sh test to fail because it seems to
# trigger documentation generation based on dependencies. We need to fix this
# upstream in some way that doesn't depend on generating docs to validate the
# texinfo. I expect it's simply the wrong dependency for that target.
BuildRequires: texinfo >= 5.0
%endif %endif
%if %{without bootstrap} %if %{without bootstrap}
BuildRequires: libselinux-devel >= 1.33.4-3 BuildRequires: libselinux-devel >= 1.33.4-3
@ -961,6 +959,26 @@ executables.
Install glibc-devel if you are going to develop programs which will Install glibc-devel if you are going to develop programs which will
use the standard C libraries. use the standard C libraries.
##############################################################################
# glibc "doc" sub-package
##############################################################################
%if %{with docs}
%package doc
Summary: Documentation for GNU libc
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
# Removing texinfo will cause check-safety.sh test to fail because it seems to
# trigger documentation generation based on dependencies. We need to fix this
# upstream in some way that doesn't depend on generating docs to validate the
# texinfo. I expect it's simply the wrong dependency for that target.
BuildRequires: texinfo >= 5.0
%description doc
The glibc-doc package contains The GNU C Library Reference Manual in info
format. Additional package documentation is also provided.
%endif
############################################################################## ##############################################################################
# glibc "static" sub-package # glibc "static" sub-package
############################################################################## ##############################################################################
@ -1676,6 +1694,9 @@ fi
# Compress all of the info files. # Compress all of the info files.
gzip -9nvf %{glibc_sysroot}%{_infodir}/libc* gzip -9nvf %{glibc_sysroot}%{_infodir}/libc*
# Copy the debugger interface documentation over to the right location
mkdir -p %{glibc_sysroot}%{_docdir}/glibc
cp elf/rtld-debugger-interface.txt %{glibc_sysroot}%{_docdir}/glibc
%else %else
rm -f %{glibc_sysroot}%{_infodir}/dir rm -f %{glibc_sysroot}%{_infodir}/dir
rm -f %{glibc_sysroot}%{_infodir}/libc.info* rm -f %{glibc_sysroot}%{_infodir}/libc.info*
@ -1789,7 +1810,14 @@ touch -r %{SOURCE0} %{glibc_sysroot}/etc/ld.so.conf
touch -r sunrpc/etc.rpc %{glibc_sysroot}/etc/rpc touch -r sunrpc/etc.rpc %{glibc_sysroot}/etc/rpc
pushd build-%{target} pushd build-%{target}
$GCC -Os -g -static -o build-locale-archive %{SOURCE1} \ $GCC -Os -g \
%ifarch %{pie_arches}
-fPIE \
-static-pie \
%else
-static \
%endif
-o build-locale-archive %{SOURCE1} \
../build-%{target}/locale/locarchive.o \ ../build-%{target}/locale/locarchive.o \
../build-%{target}/locale/md5.o \ ../build-%{target}/locale/md5.o \
../build-%{target}/locale/record-status.o \ ../build-%{target}/locale/record-status.o \
@ -1799,12 +1827,6 @@ $GCC -Os -g -static -o build-locale-archive %{SOURCE1} \
install -m 700 build-locale-archive %{glibc_sysroot}%{_prefix}/sbin/build-locale-archive install -m 700 build-locale-archive %{glibc_sysroot}%{_prefix}/sbin/build-locale-archive
popd popd
# Lastly copy some additional documentation for the packages.
rm -rf documentation
mkdir documentation
cp timezone/README documentation/README.timezone
cp posix/gai.conf documentation/
%ifarch s390x %ifarch s390x
# Compatibility symlink # Compatibility symlink
mkdir -p %{glibc_sysroot}/lib mkdir -p %{glibc_sysroot}/lib
@ -1923,6 +1945,8 @@ ar cr %{glibc_sysroot}%{_prefix}/%{_lib}/libpthread_nonshared.a
# - Files for the nscd subpackage. # - Files for the nscd subpackage.
# * devel.filelist # * devel.filelist
# - Files for the devel subpackage. # - Files for the devel subpackage.
# * doc.filelist
# - Files for the documentation subpackage.
# * headers.filelist # * headers.filelist
# - Files for the headers subpackage. # - Files for the headers subpackage.
# * static.filelist # * static.filelist
@ -1952,6 +1976,7 @@ touch utils.filelist
touch gconv.filelist touch gconv.filelist
touch nscd.filelist touch nscd.filelist
touch devel.filelist touch devel.filelist
touch doc.filelist
touch headers.filelist touch headers.filelist
touch static.filelist touch static.filelist
touch libnsl.filelist touch libnsl.filelist
@ -2094,15 +2119,10 @@ done
# glibc-devel # glibc-devel
############################################################################### ###############################################################################
%if %{with docs}
# Put the info files into the devel file list, but exclude the generated dir.
grep '%{_infodir}' master.filelist | grep -v '%{_infodir}/dir' > devel.filelist
%endif
# Put some static files into the devel package. # Put some static files into the devel package.
grep '%{_libdir}/lib.*\.a' master.filelist \ grep '%{_libdir}/lib.*\.a' master.filelist \
| grep '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \ | grep '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \
>> devel.filelist > devel.filelist
# Put all of the object files and *.so (not the versioned ones) into the # Put all of the object files and *.so (not the versioned ones) into the
# devel package. # devel package.
@ -2116,6 +2136,16 @@ sed -i -e '\,libmemusage.so,d' \
-e '\,/libnss_[a-z]*\.so$,d' \ -e '\,/libnss_[a-z]*\.so$,d' \
devel.filelist devel.filelist
###############################################################################
# glibc-doc
###############################################################################
%if %{with docs}
# Put the info files into the doc file list, but exclude the generated dir.
grep '%{_infodir}' master.filelist | grep -v '%{_infodir}/dir' > doc.filelist
grep '%{_docdir}' master.filelist >> doc.filelist
%endif
############################################################################### ###############################################################################
# glibc-headers # glibc-headers
############################################################################### ###############################################################################
@ -2158,12 +2188,14 @@ grep '%{_prefix}/sbin' master.filelist \
# multilib-independent. # multilib-independent.
# Exceptions: # Exceptions:
# - The actual share directory, not owned by us. # - The actual share directory, not owned by us.
# - The info files which go in devel, and the info directory. # - The info files which go into doc, and the info directory.
# - All documentation files, which go into doc.
grep '%{_prefix}/share' master.filelist \ grep '%{_prefix}/share' master.filelist \
| grep -v \ | grep -v \
-e '%{_prefix}/share/info/libc.info.*' \ -e '%{_prefix}/share/info/libc.info.*' \
-e '%%dir %{prefix}/share/info' \ -e '%%dir %{prefix}/share/info' \
-e '%%dir %{prefix}/share' \ -e '%%dir %{prefix}/share' \
-e '%{_docdir}' \
>> common.filelist >> common.filelist
# Add the binary to build locales to the common subpackage. # Add the binary to build locales to the common subpackage.
@ -2652,7 +2684,6 @@ fi
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf
%doc README NEWS INSTALL elf/rtld-debugger-interface.txt
# If rpm doesn't support %license, then use %doc instead. # If rpm doesn't support %license, then use %doc instead.
%{!?_licensedir:%global license %%doc} %{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB LICENSES %license COPYING COPYING.LIB LICENSES
@ -2662,8 +2693,6 @@ fi
%dir %{_prefix}/lib/locale %dir %{_prefix}/lib/locale
%dir %{_prefix}/lib/locale/C.utf8 %dir %{_prefix}/lib/locale/C.utf8
%{_prefix}/lib/locale/C.utf8/* %{_prefix}/lib/locale/C.utf8/*
%doc documentation/README.timezone
%doc documentation/gai.conf
%files all-langpacks %files all-langpacks
%attr(0644,root,root) %verify(not md5 size mtime) %{_prefix}/lib/locale/locale-archive.tmpl %attr(0644,root,root) %verify(not md5 size mtime) %{_prefix}/lib/locale/locale-archive.tmpl
@ -2677,6 +2706,10 @@ fi
%files -f devel.filelist devel %files -f devel.filelist devel
%if %{with docs}
%files -f doc.filelist doc
%endif
%files -f static.filelist static %files -f static.filelist static
%files -f headers.filelist headers %files -f headers.filelist headers
@ -2730,6 +2763,22 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog %changelog
* Thu Nov 25 2021 Arjun Shankar <arjun@redhat.com> - 2.28-174
- Introduce new glibc-doc.noarch subpackage (#2021671)
- Move the reference manual info pages from glibc-devel to glibc-doc
- Move debugger interface documentation from glibc to glibc-doc
- Remove unnecessary README, INSTALL, NEWS files from glibc
- Remove unnecessary README.timezone and gai.conf files from glibc-common
* Wed Nov 17 2021 Patsy Griffin <patsy@redhat.com> - 2.28-173
- Add new English-language 12 hour time locale en_US@ampm.UTF-8 (#2000374)
* Tue Nov 16 2021 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.28-172
- Build build-locale-archive with -static-pie when supported (#1965377)
* Wed Nov 10 2021 DJ Delorie <dj@redhat.com> - 2.28-171
- elf: Always set link map in _dl_init_paths (#1934162)
* Wed Nov 10 2021 Arjun Shankar <arjun@redhat.com> - 2.28-170 * Wed Nov 10 2021 Arjun Shankar <arjun@redhat.com> - 2.28-170
- x86: Properly disable XSAVE related features when its use is disabled via - x86: Properly disable XSAVE related features when its use is disabled via
tunables (#1937515) tunables (#1937515)