diff --git a/glibc-deprecated-selinux-nscd.patch b/glibc-deprecated-selinux-nscd.patch deleted file mode 100644 index 315b6cd..0000000 --- a/glibc-deprecated-selinux-nscd.patch +++ /dev/null @@ -1,17 +0,0 @@ -This patch works around deprecated libselinux features used by nscd. - -diff --git a/nscd/selinux.c b/nscd/selinux.c -index a4ea8008e201b939..0acca4639202a75a 100644 ---- a/nscd/selinux.c -+++ b/nscd/selinux.c -@@ -17,6 +17,10 @@ - License along with the GNU C Library; if not, see - . */ - -+/* This file uses deprecated declarations from libselinux. */ -+#include -+DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations"); -+ - #include "config.h" - #include - #include diff --git a/glibc-fedora-nscd.patch b/glibc-fedora-nscd.patch deleted file mode 100644 index 6f8f764..0000000 --- a/glibc-fedora-nscd.patch +++ /dev/null @@ -1,20 +0,0 @@ -Short description: NSCD must use nscd user. -Author(s): Fedora glibc team -Origin: PATCH -Upstream status: not-needed - -Fedora-specific configuration adjustment to introduce the nscd user. -(Upstream does not assume this user exists.) - -diff -Nrup a/nscd/nscd.conf b/nscd/nscd.conf ---- a/nscd/nscd.conf 2012-06-05 07:42:49.000000000 -0600 -+++ b/nscd/nscd.conf 2012-06-07 12:15:21.818318670 -0600 -@@ -33,7 +33,7 @@ - # logfile /var/log/nscd.log - # threads 4 - # max-threads 32 --# server-user nobody -+ server-user nscd - # stat-user somebody - debug-level 0 - # reload-count 5 diff --git a/glibc-nscd-sysconfig.patch b/glibc-nscd-sysconfig.patch deleted file mode 100644 index 03dee9e..0000000 --- a/glibc-nscd-sysconfig.patch +++ /dev/null @@ -1,21 +0,0 @@ -Short description: Provide options to nscd startup. -Author(s): Fedora glibc team -Origin: PATCH -Upstream status: not-needed - -Fedora-specific nscd startup configuration file. - -diff --git a/nscd/nscd.service b/nscd/nscd.service -index b7428a3..19ba185 100644 ---- a/nscd/nscd.service -+++ b/nscd/nscd.service -@@ -5,7 +5,8 @@ Description=Name Service Cache Daemon - - [Service] - Type=forking --ExecStart=/usr/sbin/nscd -+EnvironmentFile=-/etc/sysconfig/nscd -+ExecStart=/usr/sbin/nscd $NSCD_OPTIONS - ExecStop=/usr/sbin/nscd --shutdown - ExecReload=/usr/sbin/nscd -i passwd - ExecReload=/usr/sbin/nscd -i group diff --git a/glibc.spec b/glibc.spec index 20ba1ad..4039920 100644 --- a/glibc.spec +++ b/glibc.spec @@ -151,7 +151,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 28%{?dist} +Release: 29%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -182,11 +182,10 @@ 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 -Source1: nscd.conf -Source2: bench.mk -Source3: glibc-bench-compare -Source4: glibc.req.in -Source5: glibc.attr +Source1: bench.mk +Source2: glibc-bench-compare +Source3: glibc.req.in +Source4: glibc.attr Source10: wrap-find-debuginfo.sh Source11: parse-SUPPORTED.py # Include in the source RPM for reference. @@ -216,23 +215,21 @@ rpm.define("__debug_install_post bash " .. wrapper # - See each individual patch file for origin and upstream status. # - For new patches follow template.patch format. ############################################################################## -Patch1: glibc-fedora-nscd.patch Patch4: glibc-fedora-linux-tcsetattr.patch Patch6: glibc-fedora-localedef.patch Patch8: glibc-fedora-manual-dircategory.patch Patch9: glibc-rh827510.patch Patch13: glibc-fedora-localedata-rh61908.patch Patch15: glibc-rh1070416.patch -Patch16: glibc-nscd-sysconfig.patch Patch17: glibc-cs-path.patch Patch23: glibc-python3.patch Patch30: glibc-deprecated-selinux-makedb.patch -Patch31: glibc-deprecated-selinux-nscd.patch ############################################################################## # Continued list of core "glibc" package information: ############################################################################## Obsoletes: glibc-profile < 2.4 +Obsoletes: nscd < 2.35 Provides: ldconfig # The dynamic linker supports DT_GNU_HASH @@ -257,7 +254,7 @@ Recommends: (nss_db(x86-32) if nss_db(x86-64)) Recommends: (nss_hesiod(x86-32) if nss_hesiod(x86-64)) %endif -# This is for building auxiliary programs like memusage, nscd +# This is for building auxiliary programs like memusage # For initial glibc bootstraps it can be commented out %if %{without bootstrap} BuildRequires: gd-devel libpng-devel zlib-devel @@ -283,9 +280,6 @@ BuildRequires: systemtap-sdt-devel BuildRequires: valgrind %endif -# We use systemd rpm macros for nscd -BuildRequires: systemd - # We use python for the microbenchmarks and locale data regeneration # from unicode sources (carried out manually). We choose python3 # explicitly because it supports both use cases. On some @@ -904,38 +898,6 @@ Requires: %{name}-common = %{version}-%{release} %description gconv-extra This package contains all iconv converter modules built in %{name}. -############################################################################## -# glibc "nscd" sub-package -# -# Deprecated in Fedora 34 and planned for removal in Fedora 35. -# -# systemd-resolved is now enabled by default for DNS caching in Fedora, and -# sssd is capable of caching the remaining named services that nscd handles. -# It is therefore time to retire nscd in Fedora and move to more modern named -# services caches. -# -# For details, see: -# bug 1905135: https://fedoraproject.org/wiki/Changes/DeprecateNSCD -# bug 1905142: https://fedoraproject.org/wiki/Changes/RemoveNSCD -############################################################################## -%package -n nscd -Summary: A Name Service Caching Daemon (nscd). -# Fedora 35 is planned for release on Oct 26 2021, with nscd removed -Provides: deprecated() = 20211026 -Requires: %{name} = %{version}-%{release} -%if %{without bootstrap} -Requires: libselinux >= 1.17.10-1 -%endif -Requires: audit-libs >= 1.1.3 -Requires(pre): /usr/sbin/useradd, coreutils -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd, /usr/sbin/userdel - -%description -n nscd -The nscd daemon caches name service lookups and can improve -performance with LDAP, and may help with DNS as well. - ############################################################################## # Subpackages for NSS modules except nss_files, nss_compat, nss_dns ############################################################################## @@ -1211,7 +1173,9 @@ build() %ifarch aarch64 --enable-memory-tagging \ %endif - --disable-crypt || + --disable-crypt \ + --disable-build-nscd \ + --disable-nscd || { cat config.log; false; } %make_build -r %{glibc_make_flags} @@ -1404,20 +1368,11 @@ mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist . # Install configuration files for services ############################################################################## -# 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 %{SOURCE1} %{buildroot}%{_tmpfilesdir} -mkdir -p %{glibc_sysroot}/lib/systemd/system -install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system - # Include ld.so.conf echo 'include ld.so.conf.d/*.conf' > %{glibc_sysroot}/etc/ld.so.conf truncate -s 0 %{glibc_sysroot}/etc/ld.so.cache chmod 644 %{glibc_sysroot}/etc/ld.so.conf mkdir -p %{glibc_sysroot}/etc/ld.so.conf.d -mkdir -p %{glibc_sysroot}/etc/sysconfig -truncate -s 0 %{glibc_sysroot}/etc/sysconfig/nscd truncate -s 0 %{glibc_sysroot}/etc/gai.conf # Include %{_libdir}/gconv/gconv-modules.cache @@ -1446,7 +1401,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 %{SOURCE2} %{SOURCE3}; do +for b in %{SOURCE1} %{SOURCE2}; do cp $b %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/ done # .. and finally, the comparison scripts. @@ -1471,10 +1426,6 @@ popd rm -f %{glibc_sysroot}%{_infodir}/dir %endif -mkdir -p %{glibc_sysroot}/var/{db,run}/nscd -touch %{glibc_sysroot}/var/{db,run}/nscd/{passwd,group,hosts,services} -touch %{glibc_sysroot}/var/run/nscd/{socket,nscd.pid} - # Move libpcprofile.so and libmemusage.so into the proper library directory. # They can be moved without any real consequences because users would not use # them directly. @@ -1527,8 +1478,6 @@ ar cr %{glibc_sysroot}%{_prefix}/%{_lib}/libpthread_nonshared.a # - Flies for the common subpackage. # * utils.filelist # - Files for the utils subpackage. -# * nscd.filelist -# - Files for the nscd subpackage. # * devel.filelist # - Files for the devel subpackage. # * doc.filelist @@ -1555,7 +1504,6 @@ touch glibc.filelist touch common.filelist touch utils.filelist touch gconv.filelist -touch nscd.filelist touch devel.filelist touch doc.filelist touch headers.filelist @@ -1622,7 +1570,7 @@ chmod 0444 master.filelist # Add all files with the following exceptions: # - The info files '%{_infodir}/dir' # - The partial (lib*_p.a) static libraries, include files. -# - The static files, objects, unversioned DSOs, and nscd. +# - The static files, objects, and unversioned DSOs. # - The bin, locale, some sbin, and share. # - We want iconvconfig in the main package and we do this by using # a double negation of -v and [^i] so it removes all files in @@ -1641,7 +1589,6 @@ cat master.filelist \ -e '%{_libdir}/lib.*\.so' \ -e '%{_libdir}/gconv/.*\.so$' \ -e '%{_libdir}/gconv/gconv-modules.d/gconv-modules-extra\.conf$' \ - -e 'nscd' \ -e '%{_prefix}/bin' \ -e '%{_prefix}/lib/locale' \ -e '%{_prefix}/sbin/[^i]' \ @@ -1719,12 +1666,12 @@ sed -i -e '\,libmemusage.so,d' \ %if %{glibc_autorequires} mkdir -p %{glibc_sysroot}/%{_rpmconfigdir} %{glibc_sysroot}/%{_fileattrsdir} -sed < %{SOURCE4} \ +sed < %{SOURCE3} \ -e s/@VERSION@/%{version}/ \ -e s/@RELEASE@/%{release}/ \ -e s/@SYMVER@/%{glibc_autorequires_symver}/ \ > %{glibc_sysroot}/%{_rpmconfigdir}/glibc.req -cp %{SOURCE5} %{glibc_sysroot}/%{_fileattrsdir}/glibc.attr +cp %{SOURCE4} %{glibc_sysroot}/%{_fileattrsdir}/glibc.attr %endif ############################################################################### @@ -1774,16 +1721,14 @@ grep '%{_libdir}/lib.*\.a' < master.filelist \ ############################################################################### # All of the bin and certain sbin files go into the common package except -# iconvconfig which needs to go in glibc. Likewise nscd is excluded because -# it goes in nscd. The iconvconfig binary is kept in the main glibc package -# because we use it in the post-install scriptlet to rebuild the -# gconv-modules.cache. The makedb binary is in nss_db. +# iconvconfig which needs to go in glibc. The iconvconfig binary is kept in +# the main glibc package because we use it in the post-install scriptlet to +# rebuild the gconv-modules.cache. The makedb binary is in nss_db. grep '%{_prefix}/bin' master.filelist \ | grep -v '%{_prefix}/bin/makedb' \ >> common.filelist grep '%{_prefix}/sbin' master.filelist \ - | grep -v '%{_prefix}/sbin/iconvconfig' \ - | grep -v 'nscd' >> common.filelist + | grep -v '%{_prefix}/sbin/iconvconfig' >> common.filelist # All of the files under share go into the common package since they should be # multilib-independent. # Exceptions: @@ -1798,13 +1743,6 @@ grep '%{_prefix}/share' master.filelist \ -e '%{_docdir}' \ >> common.filelist -############################################################################### -# nscd -############################################################################### - -# The nscd binary must go into the nscd subpackage. -echo '%{_prefix}/sbin/nscd' > nscd.filelist - ############################################################################### # glibc-utils ############################################################################### @@ -1858,7 +1796,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 %{SOURCE2} %{SOURCE3}; do +for b in %{SOURCE1} %{SOURCE2}; do echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist done # ... and finally, the comparison scripts. @@ -2153,24 +2091,6 @@ update_gconv_modules_cache () %glibc_post_funcs update_gconv_modules_cache () -%pre -n nscd -getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd -getent passwd nscd >/dev/null || - /usr/sbin/useradd -M -o -r -d / -s /sbin/nologin \ - -c "NSCD Daemon" -u 28 -g nscd nscd - -%post -n nscd -%systemd_post nscd.service - -%preun -n nscd -%systemd_preun nscd.service - -%postun -n nscd -if test $1 = 0; then - /usr/sbin/userdel nscd > /dev/null 2>&1 || : -fi -%systemd_postun_with_restart nscd.service - %files -f glibc.filelist %dir %{_prefix}/%{_lib}/audit %verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf @@ -2223,25 +2143,6 @@ fi %files -f gconv.filelist gconv-extra -%files -f nscd.filelist -n nscd -%config(noreplace) /etc/nscd.conf -%dir %attr(0755,root,root) /var/run/nscd -%dir %attr(0755,root,root) /var/db/nscd -/lib/systemd/system/nscd.service -/lib/systemd/system/nscd.socket -%{_tmpfilesdir}/nscd.conf -%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid -%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/passwd -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/group -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts -%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services -%ghost %config(missingok,noreplace) /etc/sysconfig/nscd - %files -f nss_db.filelist -n nss_db /var/db/Makefile %files -f nss_hesiod.filelist -n nss_hesiod @@ -2258,6 +2159,10 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Mon Dec 13 2021 Arjun Shankar - 2.34.9000-29 +- Remove nscd (#1905142) + https://fedoraproject.org/wiki/Changes/RemoveNSCD + * Fri Dec 10 2021 Pavel Březina - 2.34.9000-28 - /etc/nsswitch.conf is now owned by authselect (rhbz#2023741) diff --git a/nscd.conf b/nscd.conf deleted file mode 100644 index 8a24a78..0000000 --- a/nscd.conf +++ /dev/null @@ -1 +0,0 @@ -d /run/nscd 0755 root root