diff --git a/glibc-nsswitch-usr.diff b/glibc-nsswitch-usr.diff new file mode 100644 index 0000000..ff86d7e --- /dev/null +++ b/glibc-nsswitch-usr.diff @@ -0,0 +1,15 @@ +Index: glibc-2.31/nss/nsswitch.c +=================================================================== +--- glibc-2.31.orig/nss/nsswitch.c ++++ glibc-2.31/nss/nsswitch.c +@@ -134,6 +134,10 @@ __nss_database_lookup2 (const char *data + /* Read config file. */ + service_table = nss_parse_file (_PATH_NSSWITCH_CONF); + ++ /* Retry with the OS vendor provided config file. */ ++ if (service_table == NULL) ++ service_table = nss_parse_file ("/usr" _PATH_NSSWITCH_CONF); ++ + /* Test whether configuration data is available. */ + if (service_table != NULL) + { diff --git a/glibc.changes b/glibc.changes index e4fd004..139305c 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon May 18 12:25:49 UTC 2020 - Andreas Schwab + +- glibc-nsswitch-usr.diff: read /usr/etc/nsswitch.conf if + /etc/nsswitch.conf does not exist +- Install default nsswitch.conf in /usr/etc +- Don't install gai.conf in /etc + ------------------------------------------------------------------- Mon Apr 20 12:43:19 UTC 2020 - Andreas Schwab diff --git a/glibc.spec b/glibc.spec index 361f040..491002b 100644 --- a/glibc.spec +++ b/glibc.spec @@ -235,6 +235,8 @@ Patch14: glibc-bindresvport-blacklist.diff Patch15: glibc-2.3.90-langpackdir.diff # PATCH-FEATURE-SLE Use nscd user for nscd Patch19: nscd-server-user.patch +# PATCH-FEATURE-SLE read nsswich.conf from /usr +Patch20: glibc-nsswitch-usr.diff ### Locale related patches # PATCH-FIX-OPENSUSE Add additional locales @@ -460,6 +462,7 @@ makedb: A program to create a database for nss %patch14 -p1 %patch15 -p1 %patch19 -p1 +%patch20 -p1 %patch100 -p1 %patch102 -p1 @@ -833,8 +836,7 @@ rm -rf %{buildroot}%{_datadir}/locale/*/ # Miscelanna: install -m 644 %{SOURCE7} %{buildroot}/etc -install -m 644 %{SOURCE5} %{buildroot}/etc -install -m 644 posix/gai.conf %{buildroot}/etc +install -D -m 644 %{SOURCE5} %{buildroot}%{_prefix}/etc/nsswitch.conf mkdir -p %{buildroot}/etc/default install -m 644 nis/nss %{buildroot}/etc/default/ @@ -843,8 +845,6 @@ mkdir -p %{buildroot}%{_includedir}/resolv install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/ install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/ -touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache - %if %{build_html} mkdir -p %{buildroot}%{_datadir}/doc/glibc cp -p cc-base/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc @@ -1084,8 +1084,10 @@ exit 0 %config /etc/ld.so.conf %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache %config(noreplace) /etc/rpc -%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf -%verify(not md5 size mtime) %config(noreplace) /etc/gai.conf +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/nsswitch.conf +%{_prefix}/etc/nsswitch.conf +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf +%doc posix/gai.conf %config(noreplace) /etc/default/nss %doc %{_mandir}/man1/gencat.1.gz %doc %{_mandir}/man1/getconf.1.gz