From 7e6e06c36d766c3da31360c1c465580c5dbbc8ac Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Mon, 19 Aug 2019 15:45:52 -0400 Subject: [PATCH] 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) --- glibc-fedora-nscd-warnings.patch | 30 ---------------- glibc-fedora-nsswitch.patch | 45 ++++++++++++++++++++++++ glibc.spec | 42 +++++++++++++---------- nsswitch.conf | 59 -------------------------------- sources | 2 +- 5 files changed, 69 insertions(+), 109 deletions(-) delete mode 100644 glibc-fedora-nscd-warnings.patch create mode 100644 glibc-fedora-nsswitch.patch delete mode 100644 nsswitch.conf diff --git a/glibc-fedora-nscd-warnings.patch b/glibc-fedora-nscd-warnings.patch deleted file mode 100644 index 6a77a24..0000000 --- a/glibc-fedora-nscd-warnings.patch +++ /dev/null @@ -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 -@@ -22,7 +25,12 @@ - # suggested-size - # check-files - # persistent -+# - # shared -+# 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 - # auto-propagate - # diff --git a/glibc-fedora-nsswitch.patch b/glibc-fedora-nsswitch.patch new file mode 100644 index 0000000..9101527 --- /dev/null +++ b/glibc-fedora-nsswitch.patch @@ -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 diff --git a/glibc.spec b/glibc.spec index 7e18ed3..113e131 100644 --- a/glibc.spec +++ b/glibc.spec @@ -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 # Pre-release tarballs are pulled in from git using a command that is # effectively: @@ -87,7 +87,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 2%{?dist} +Release: 3%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -118,11 +118,9 @@ License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptio URL: http://www.gnu.org/software/glibc/ Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.xz -Source4: nscd.conf -Source7: nsswitch.conf -Source8: power6emul.c -Source9: bench.mk -Source10: glibc-bench-compare +Source1: nscd.conf +Source2: bench.mk +Source3: glibc-bench-compare # A copy of localedata/SUPPORTED in the Source0 tarball. The # SUPPORTED file is used below to generate the list of locale # packages, using a Lua snippet. @@ -136,7 +134,7 @@ Source12: ChangeLog.old # - See each individual patch file for origin and upstream status. # - For new patches follow template.patch format. ############################################################################## -Patch2: glibc-fedora-nscd.patch +Patch1: glibc-fedora-nscd.patch Patch3: glibc-rh697421.patch Patch4: glibc-fedora-linux-tcsetattr.patch Patch5: glibc-rh741105.patch @@ -153,13 +151,7 @@ Patch17: glibc-cs-path.patch Patch18: glibc-c-utf8-locale.patch Patch23: glibc-python3.patch Patch28: glibc-rh1615608.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 - +Patch29: glibc-fedora-nsswitch.patch ############################################################################## # Continued list of core "glibc" package information: @@ -1071,13 +1063,13 @@ mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist . # 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} # This is for ncsd - in glibc 2.2 install -m 644 nscd/nscd.conf %{glibc_sysroot}/etc mkdir -p %{glibc_sysroot}%{_tmpfilesdir} -install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir} +install -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir} mkdir -p %{glibc_sysroot}/lib/systemd/system install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system %endif @@ -1146,7 +1138,7 @@ popd mkdir -p %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests cp $(find build-%{target}/benchtests -type f -executable) %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/ # ... and the makefile. -for b in %{SOURCE9} %{SOURCE10}; do +for b in %{SOURCE2} %{SOURCE3}; do cp $b %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/ done # .. 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)" done >> benchtests.filelist # ... and the makefile. -for b in %{SOURCE9} %{SOURCE10}; do +for b in %{SOURCE2} %{SOURCE3}; do echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist done # ... and finally, the comparison scripts. @@ -2016,6 +2008,18 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Mon Aug 19 2019 Carlos O'Donell - 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 - 2.30.9000-2 - Fix C.UTF-8 to use full code ranges. diff --git a/nsswitch.conf b/nsswitch.conf deleted file mode 100644 index ba87550..0000000 --- a/nsswitch.conf +++ /dev/null @@ -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 diff --git a/sources b/sources index e274082..e7e30ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glibc-2.30.9000-30-g341da5b4b6.tar.xz) = 34302b24edb29f841adeccd78b7b29dadae3f798f8c9a2395ac92b0cd1cb96cc62b6c98da66526cffc4714e52b4c47151d09a47f9e63b21f79242b28b90605ca +SHA512 (glibc-2.30.9000-45-gd34d4c8022.tar.xz) = 51d732c5927e108559d0de4757d7c2134cfb2cd250be3118ec59f25e6180fcb749681ce31615774d226911eb29654e6ff513edc7be6320cd140d90feb662006a