diff --git a/baselibs.conf b/baselibs.conf index 5840700..5d7b420 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -6,13 +6,15 @@ glibc targettype ia32 +/etc/ld.so.conf targettype ia32 "/lib/ld-linux.so.2 -> /lib/ld-linux.so.2" prereq -glibc-x86 + recommends glibc-gconv-modules- +/usr/lib/getconf/[^g] +/usr/sbin/iconvconfig -> /usr/sbin/iconvconfig- -glibc-locale-base +glibc-gconv-modules arch i586 block! +/usr/lib(64)?/gconv/gconv-modules targettype x86 -/usr/lib(64)?/gconv/gconv-modules obsoletes "glibc-locale-" + provides "glibc-locale-base-:%{_libdir}/gconv/gconv-modules" post "/usr/sbin/iconvconfig-" glibc-devel requires "glibc- = %version" diff --git a/glibc-nsswitch-usr.diff b/glibc-nsswitch-usr.diff new file mode 100644 index 0000000..0c35677 --- /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 os vendor provided one */ ++ 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..52d50d0 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Apr 23 12:02:11 UTC 2020 - Ludwig Nussel + +- install nsswitch.conf in /usr +- package gai.conf as %doc only. The default config is empty so not needed. +- move gconv modules to separate subpackage + ------------------------------------------------------------------- Mon Apr 20 12:43:19 UTC 2020 - Andreas Schwab diff --git a/glibc.spec b/glibc.spec index 361f040..68d8da8 100644 --- a/glibc.spec +++ b/glibc.spec @@ -196,6 +196,7 @@ Provides: ld-linux.so.3(GLIBC_2.4) %endif Requires(pre): filesystem Recommends: glibc-extra +Recommends: glibc-gconv-modules Provides: rtld(GNU_HASH) %endif %if %{build_utils} @@ -235,6 +236,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 @@ -351,6 +354,16 @@ Requires: glibc = %{version} Locale data for the internationalisation features of the GNU C library. This package contains only the U.S. English locale. +%package gconv-modules +Summary: Gconv data files +License: GPL-2.0-or-later AND MIT AND LGPL-2.1-or-later +Group: System/Libraries +Requires: glibc = %{version} +Provides: glibc-locale-base:%{_libdir}/gconv/gconv-modules + +%description gconv-modules +Gconv plugins for various code pages + %package locale Summary: Locale Data for Localized Programs License: GPL-2.0-or-later AND MIT AND LGPL-2.1-or-later @@ -460,6 +473,7 @@ makedb: A program to create a database for nss %patch14 -p1 %patch15 -p1 %patch19 -p1 +%patch20 -p1 %patch100 -p1 %patch102 -p1 @@ -833,8 +847,8 @@ 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}/usr/etc/nsswitch.conf +install -m 644 /dev/null %{buildroot}/etc/nsswitch.conf mkdir -p %{buildroot}/etc/default install -m 644 nis/nss %{buildroot}/etc/default/ @@ -1045,7 +1059,7 @@ end %postun -p /sbin/ldconfig -%post locale-base +%post gconv-modules /usr/sbin/iconvconfig %post info @@ -1084,8 +1098,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 +%ghost %config(noreplace) /etc/nsswitch.conf +/usr/etc/nsswitch.conf +%ghost %config(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 @@ -1228,6 +1244,9 @@ exit 0 %{_prefix}/lib/locale/C.utf8 %{_prefix}/lib/locale/en_US.utf8 %endif + +%files gconv-modules +%defattr(-,root,root) %dir %{_libdir}/gconv %{_libdir}/gconv/*.so %{_libdir}/gconv/gconv-modules