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