Auto-sync with upstream branch master

Upstream commit: d34d4c80226b3f5a1b51a8e5b005a52fba07d7ba

- Merge upstream nsswitch.conf and nscd.conf updates.
- Do not print backtraces on fatal glibc errors.
- elf: Self-dlopen failure with explict loader invocation (swbz#24900)
- login: Add nonstring attributes to struct utmp, struct utmpx (swbz#24899)
- login: Use struct flock64 in utmp (swbz#24880)
- login: Disarm timer after utmp lock acquisition (swbz#24879)
This commit is contained in:
Carlos O'Donell 2019-08-19 15:45:52 -04:00
parent 72195d4485
commit 7e6e06c36d
5 changed files with 69 additions and 109 deletions

View File

@ -1,30 +0,0 @@
Fedora-specific warnings about using nscd with sssd, and that
shared mappings don't show up in nscd -g statistics.
diff --git a/nscd/nscd.conf b/nscd/nscd.conf
index 3730835c50a349c4..b66faa3ca33b4b64 100644
--- a/nscd/nscd.conf
+++ b/nscd/nscd.conf
@@ -3,6 +3,9 @@
#
# An example Name Service Cache config file. This file is needed by nscd.
#
+# WARNING: Running nscd with a secondary caching service like sssd may lead to
+# unexpected behaviour, especially with how long entries are cached.
+#
# Legal entries are:
#
# logfile <file>
@@ -22,7 +25,12 @@
# suggested-size <service> <prime number>
# check-files <service> <yes|no>
# persistent <service> <yes|no>
+#
# shared <service> <yes|no>
+# NOTE: Setting 'shared' to a value of 'yes' will accelerate the lookup
+# with the help of the client, but these lookups will not be
+# counted as cache hits i.e. 'nscd -g' may show '0%'.
+#
# max-db-size <service> <number bytes>
# auto-propagate <service> <yes|no>
#

View File

@ -0,0 +1,45 @@
The Fedora /etc/nsswitch.conf is based largely on the upstream
version with minor downstream distribution modifications for
use with SSSD and systemd.
diff --git a/nss/nsswitch.conf b/nss/nsswitch.conf
index f55358811495c9f1..14c3cde8080a848c 100644
--- a/nss/nsswitch.conf
+++ b/nss/nsswitch.conf
@@ -1,7 +1,7 @@
#
# /etc/nsswitch.conf
#
-# An example Name Service Switch config file. This file should be
+# Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Valid databases are: aliases, ethers, group, gshadow, hosts,
@@ -52,18 +52,20 @@
# shadow: db files
# group: db files
-# In alphabetical order. Re-order as required to optimize peformance.
+# In order of likelihood of use to accelerate lookup.
+passwd: sss files
+shadow: files sss
+group: sss files
+hosts: files dns myhostname
+services: files sss
+netgroup: sss
+automount: files sss
+
aliases: files
ethers: files
-group: files
gshadow: files
-hosts: files dns
initgroups: files
-netgroup: files
networks: files dns
-passwd: files
protocols: files
publickey: files
rpc: files
-shadow: files
-services: files

View File

@ -1,4 +1,4 @@
%define glibcsrcdir glibc-2.30.9000-30-g341da5b4b6 %define glibcsrcdir glibc-2.30.9000-45-gd34d4c8022
%define glibcversion 2.30.9000 %define glibcversion 2.30.9000
# 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:
@ -87,7 +87,7 @@
Summary: The GNU libc libraries Summary: The GNU libc libraries
Name: glibc Name: glibc
Version: %{glibcversion} Version: %{glibcversion}
Release: 2%{?dist} Release: 3%{?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.
@ -118,11 +118,9 @@ License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptio
URL: http://www.gnu.org/software/glibc/ URL: http://www.gnu.org/software/glibc/
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.xz Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.xz
Source4: nscd.conf Source1: nscd.conf
Source7: nsswitch.conf Source2: bench.mk
Source8: power6emul.c Source3: glibc-bench-compare
Source9: bench.mk
Source10: glibc-bench-compare
# A copy of localedata/SUPPORTED in the Source0 tarball. The # A copy of localedata/SUPPORTED in the Source0 tarball. The
# SUPPORTED file is used below to generate the list of locale # SUPPORTED file is used below to generate the list of locale
# packages, using a Lua snippet. # packages, using a Lua snippet.
@ -136,7 +134,7 @@ Source12: ChangeLog.old
# - See each individual patch file for origin and upstream status. # - See each individual patch file for origin and upstream status.
# - For new patches follow template.patch format. # - For new patches follow template.patch format.
############################################################################## ##############################################################################
Patch2: glibc-fedora-nscd.patch Patch1: glibc-fedora-nscd.patch
Patch3: glibc-rh697421.patch Patch3: glibc-rh697421.patch
Patch4: glibc-fedora-linux-tcsetattr.patch Patch4: glibc-fedora-linux-tcsetattr.patch
Patch5: glibc-rh741105.patch Patch5: glibc-rh741105.patch
@ -153,13 +151,7 @@ Patch17: glibc-cs-path.patch
Patch18: glibc-c-utf8-locale.patch Patch18: glibc-c-utf8-locale.patch
Patch23: glibc-python3.patch Patch23: glibc-python3.patch
Patch28: glibc-rh1615608.patch Patch28: glibc-rh1615608.patch
Patch29: glibc-fedora-nsswitch.patch
# In progress upstream submission for nsswitch.conf changes:
# https://www.sourceware.org/ml/libc-alpha/2019-03/msg00425.html
# In progress upstream submission for nscd.conf changes:
# https://www.sourceware.org/ml/libc-alpha/2019-03/msg00436.html
Patch31: glibc-fedora-nscd-warnings.patch
############################################################################## ##############################################################################
# Continued list of core "glibc" package information: # Continued list of core "glibc" package information:
@ -1071,13 +1063,13 @@ mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist .
# Install configuration files for services # Install configuration files for services
############################################################################## ##############################################################################
install -p -m 644 %{SOURCE7} %{glibc_sysroot}/etc/nsswitch.conf install -p -m 644 nss/nsswitch.conf %{glibc_sysroot}/etc/nsswitch.conf
%ifnarch %{auxarches} %ifnarch %{auxarches}
# This is for ncsd - in glibc 2.2 # This is for ncsd - in glibc 2.2
install -m 644 nscd/nscd.conf %{glibc_sysroot}/etc install -m 644 nscd/nscd.conf %{glibc_sysroot}/etc
mkdir -p %{glibc_sysroot}%{_tmpfilesdir} mkdir -p %{glibc_sysroot}%{_tmpfilesdir}
install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir} install -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}
mkdir -p %{glibc_sysroot}/lib/systemd/system mkdir -p %{glibc_sysroot}/lib/systemd/system
install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system
%endif %endif
@ -1146,7 +1138,7 @@ popd
mkdir -p %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests mkdir -p %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests
cp $(find build-%{target}/benchtests -type f -executable) %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/ cp $(find build-%{target}/benchtests -type f -executable) %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
# ... and the makefile. # ... and the makefile.
for b in %{SOURCE9} %{SOURCE10}; do for b in %{SOURCE2} %{SOURCE3}; do
cp $b %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/ cp $b %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
done done
# .. and finally, the comparison scripts. # .. and finally, the comparison scripts.
@ -1517,7 +1509,7 @@ find build-%{target}/benchtests -type f -executable | while read b; do
echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)"
done >> benchtests.filelist done >> benchtests.filelist
# ... and the makefile. # ... and the makefile.
for b in %{SOURCE9} %{SOURCE10}; do for b in %{SOURCE2} %{SOURCE3}; do
echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist
done done
# ... and finally, the comparison scripts. # ... and finally, the comparison scripts.
@ -2016,6 +2008,18 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog %changelog
* Mon Aug 19 2019 Carlos O'Donell <carlos@redhat.com> - 2.30.9000-3
- Drop glibc-fedora-nscd-warnings.patch; applied upstream.
- Drop Source7: nsswitch.conf; applying patch to upstream.
- Add glibc-fedora-nsswitch.patch for Fedora customizations.
- Auto-sync with upstream branch master,
commit d34d4c80226b3f5a1b51a8e5b005a52fba07d7ba:
- Do not print backtraces on fatal glibc errors.
- elf: Self-dlopen failure with explict loader invocation (swbz#24900)
- login: Add nonstring attributes to struct utmp, struct utmpx (swbz#24899)
- login: Use struct flock64 in utmp (swbz#24880)
- login: Disarm timer after utmp lock acquisition (swbz#24879)
* Fri Aug 16 2019 Carlos O'Donell <carlos@redhat.com> - 2.30.9000-2 * Fri Aug 16 2019 Carlos O'Donell <carlos@redhat.com> - 2.30.9000-2
- Fix C.UTF-8 to use full code ranges. - Fix C.UTF-8 to use full code ranges.

View File

@ -1,59 +0,0 @@
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Valid entries include:
#
# nisplus Use NIS+ (NIS version 3)
# nis Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files in /etc
# db Use the pre-processed /var/db files
# compat Use /etc files plus *_compat pseudo-databases
# hesiod Use Hesiod (DNS) for user lookups
# sss Use sssd (System Security Services Daemon)
# [NOTFOUND=return] Stop searching if not found so far
#
# 'sssd' performs its own 'files'-based caching, so it should
# generally come before 'files'.
#
# WARNING: Running nscd with a secondary caching service like sssd may lead to
# unexpected behaviour, especially with how long entries are cached.
# To use 'db', install the nss_db package, and put the 'db' in front
# of 'files' for entries you want to be looked up first in the
# databases, like this:
#
# passwd: db files
# shadow: db files
# group: db files
passwd: sss files
shadow: files sss
group: sss files
hosts: files dns myhostname
bootparams: files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: sss
publickey: files
automount: files sss
aliases: files

View File

@ -1 +1 @@
SHA512 (glibc-2.30.9000-30-g341da5b4b6.tar.xz) = 34302b24edb29f841adeccd78b7b29dadae3f798f8c9a2395ac92b0cd1cb96cc62b6c98da66526cffc4714e52b4c47151d09a47f9e63b21f79242b28b90605ca SHA512 (glibc-2.30.9000-45-gd34d4c8022.tar.xz) = 51d732c5927e108559d0de4757d7c2134cfb2cd250be3118ec59f25e6180fcb749681ce31615774d226911eb29654e6ff513edc7be6320cd140d90feb662006a