diff --git a/glibc-2.8-getconf.diff b/glibc-2.8-getconf.diff index 9c0879e..fdf9c05 100644 --- a/glibc-2.8-getconf.diff +++ b/glibc-2.8-getconf.diff @@ -1,4 +1,6 @@ -This is required for too noisy rpmlint. +This is required for too noisy rpmlint: +glibc.i586: E: hardlink-across-partition (Badness: 10000) /usr/lib/getconf/POSIX_V7_ILP32_OFFBIG /usr/bin/getconf + Index: posix/Makefile =================================================================== diff --git a/glibc-ppc64-vdso-time.diff b/glibc-ppc64-vdso-time.diff deleted file mode 100644 index bba82b6..0000000 --- a/glibc-ppc64-vdso-time.diff +++ /dev/null @@ -1,28 +0,0 @@ -2010-03-04 Carlos Eduardo Seo - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c: New file. - -Index: src/sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ src/sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c 2010-03-04 20:02:23.000000000 -0300 -@@ -0,0 +1,19 @@ -+/* Copyright (C) 2010 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include diff --git a/glibc-statfs64-ia64.diff b/glibc-statfs64-ia64.diff deleted file mode 100644 index 1804a68..0000000 --- a/glibc-statfs64-ia64.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- sysdeps/unix/sysv/linux/statfs64.c~ 2010-01-27 02:47:32.884315000 +0100 -+++ sysdeps/unix/sysv/linux/statfs64.c 2010-01-27 02:49:17.943657000 +0100 -@@ -24,6 +24,9 @@ - #include - #include - -+/* On IA64, ia32el does not provide wrapper for statfs64() for some reason. -+ Force the compatibility code to get compiled in. [bnc#534828] */ -+#undef __ASSUME_STATFS64 - - # if __ASSUME_STATFS64 == 0 - int __no_statfs64 attribute_hidden; diff --git a/glibc.changes b/glibc.changes index 3798767..c05d086 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Jul 6 08:24:45 UTC 2011 - lnussel@suse.de + +- enable glibc-2.8-getconf.diff again to fix build failure + +------------------------------------------------------------------- +Tue Jul 5 20:22:50 UTC 2011 - aj@suse.de + +- Add systemd configuration for nscd. + +------------------------------------------------------------------- +Tue Jul 5 08:03:26 UTC 2011 - aj@suse.de + +- Remove glibc-statfs64-ia64.diff since current ia32el has the bug + fixed. +- Remove glibc-ppc64-vdso-time.diff (bnc#590216). + ------------------------------------------------------------------- Mon Jul 4 10:00:46 UTC 2011 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 52e4021..8585efd 100644 --- a/glibc.spec +++ b/glibc.spec @@ -77,7 +77,7 @@ Obsoletes: glibc-64bit Obsoletes: glibc-32bit %endif Version: 2.13 -Release: 21 +Release: 5 Url: http://www.gnu.org/software/libc/libc.html Source: glibc-%{version}-996cf2ef0727.tar.bz2 Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2 @@ -90,6 +90,11 @@ Source10: bindresvport.blacklist Source12: glibc_post_upgrade.c Source15: glibc.rpmlintrc Source16: baselibs.conf +# For systemd +Source20: nscd.conf +Source21: nscd.service +Source22: nscd.socket + Requires(pre): filesystem Provides: rtld(GNU_HASH) BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -101,11 +106,11 @@ NoSource: 0 # # PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de Patch0: glibc-testsuite.patch -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE handle glibc binaries Patch1: glibc-2.3.90-noversion.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch2: glibc-fnmatch-multibyte.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change Patch3: glibc-resolv-reload.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch4: glibc-2.3.locales.diff.bz2 @@ -131,7 +136,7 @@ Patch18: glibc-2.3.3-amd64-s_ceil.diff Patch20: glibc-2.4-china.diff # PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080 Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE Handle Patch22: glibc-2.4.90-nscd.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch23: glibc-2.3.3-nscd-db-path.diff @@ -141,9 +146,9 @@ Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff Patch25: glibc-2.3.90-langpackdir.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch27: glibc-2.6-configure.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 Patch28: glibc-2.2-sunrpc.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-OPENSUSE Do not generate hardlink for getconf Patch29: glibc-2.8-getconf.diff # PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697, bnc#684534 Patch30: getaddrinfo-ipv6-sanity.diff @@ -161,13 +166,9 @@ Patch38: glibc-cpusetsize.diff Patch40: libm-x86-64-exceptions.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch41: glibc-uio-cell.diff -# PATCH-FIX-SLE -- Do not assume statfs64 exists for ia64's ia32 layer bnc#534828 -Patch42: glibc-statfs64-ia64.diff # PATCH-FIX-UPSTREAM -- add missing includes aj@suse.de Patch43: missing-include-build-fix.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch44: glibc-ppc64-vdso-time.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch45: glibc-gai-private4.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch46: glibc-resolv-mdnshint.diff @@ -177,7 +178,7 @@ Patch47: glibc-nscd-hconf.diff Patch48: glibc-malloc-arena-max.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch49: glibc-fini-unwind.diff -# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +# PATCH-FIX-UPSTREAM install gconv-modules aj@suse.de Patch50: glibc-gconvcache-s390.diff # PATCH-FIX-UPSTREAM - Fix alloca argument bso#12445 aj@suse.de Patch51: glibc-vfprintf-positional.diff @@ -219,6 +220,7 @@ Group: Documentation/Other Requires(post): %{install_info_prereq} Requires(postun): %{install_info_prereq} + %description info This package contains the documentation for the GNU C library stored as info files. Due to a lack of resources, this documentation is not @@ -229,6 +231,7 @@ License: GPLv2+ ; LGPLv2.1+ Summary: HTML Documentation for the GNU C Library Group: Documentation/HTML + %description html This package contains the HTML documentation for the GNU C library. Due to a lack of resources, this documentation is not complete and is @@ -239,6 +242,7 @@ License: LGPLv2.1+ Summary: Database Sources for 'locale' Group: System/Libraries + %description i18ndata This package contains the data needed to build the locale data files to use the internationalization features of the GNU libc. It is normally @@ -259,6 +263,7 @@ Obsoletes: glibc-locale-64bit Obsoletes: glibc-locale-32bit %endif + %description locale Locale data for the internationalisation features of the GNU C library. @@ -272,6 +277,7 @@ Requires(preun): %insserv_prereq Requires(post): %insserv_prereq Requires(postun): %insserv_prereq + %description -n nscd Nscd caches name service lookups and can dramatically improve performance with NIS, NIS+, and LDAP. @@ -289,6 +295,7 @@ Obsoletes: glibc-profile-64bit Obsoletes: glibc-profile-32bit %endif + %description profile This package contains special versions of the GNU C library which are necessary for profiling and debugging. @@ -309,17 +316,18 @@ Obsoletes: glibc-devel-32bit Requires: glibc = %{version} Requires: linux-kernel-headers + %description devel These libraries are needed to develop programs which use the standard C library. %package devel-static - Summary: C library static libraries for -static linking Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{version} + %description devel-static The glibc-devel-static package contains the C library static libraries for -static linking. You don't need these, unless you link statically, @@ -331,6 +339,7 @@ Summary: Development utilities from GNU C library Group: Development/Languages/C and C++ Requires: glibc = %{version} + %description utils The glibc-utils package contains mtrace, a memory leak tracer and xtrace, a function call tracer which can be helpful during program @@ -340,12 +349,14 @@ If you are unsure if you need this, don't install this package. %ifarch %ix86 + %package obsolete License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ Summary: Obsolete Shared Libraries from the GNU C Library Group: System/Libraries Requires: glibc = %{version} + %description obsolete This package provides some old libraries from the GNU C Library which are no longer supported. Additional it provides a compatibility library @@ -358,6 +369,7 @@ versions of your software. %endif + %prep %ifarch %arm armv5tel armv7l # add glibc-ports for arm @@ -410,12 +422,7 @@ rm nscd/s-stamp %patch38 %patch40 %patch41 -p1 -%if 0%{?sles_version} -# Only apply for x86 on SLES -%patch42 -%endif %patch43 -p1 -%patch44 -p1 %patch45 %patch46 -p1 %patch47 -p1 @@ -438,6 +445,7 @@ rm nscd/s-stamp %patch63 -p1 %patch64 -p1 + # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! # @@ -464,6 +472,7 @@ find . -name configure | xargs touch ### ####################################################################### + %build if [ -x /bin/uname.bin ]; then /bin/uname.bin -a @@ -639,6 +648,7 @@ $BuildCC -static %{optflags} -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_p ### ####################################################################### + %check %if %{run_testsuite} # Increase timeout @@ -661,6 +671,7 @@ make -C cc-base check-abi || echo check-abi failed ### ####################################################################### + %install # We don't want to strip the .symtab from our libraries in find-debuginfo.sh, # certainly not from libpthread.so.* because it is used by libthread_db to find @@ -821,12 +832,20 @@ for o in %{buildroot}/%{_libdir}/crt[1in].o %{buildroot}/%{_libdir}/lib*_nonshar objcopy -R ".comment.SUSE.OPTs" -R ".note.gnu.build-id" $o done +mkdir -p %{buildroot}/usr/lib/tmpfiles.d/ +install -m 644 %{SOURCE20} %{buildroot}/usr/lib/tmpfiles.d/ +mkdir -p %{buildroot}/lib/systemd/system +install -m 644 %{SOURCE21} %{buildroot}/lib/systemd/system +install -m 644 %{SOURCE22} %{buildroot}/lib/systemd/system + + ####################################################################### ### ### ... ### ####################################################################### + %clean rm -rf %{buildroot} @@ -834,10 +853,13 @@ rm -rf %{buildroot} # %%set_permissions %%{_libdir}/pt_chown # since we cannot do it in our own post section + %post -p %{_sbindir}/glibc_post_upgrade + %postun -p /sbin/ldconfig + %post locale for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do [ -d "$l.d" ] || continue @@ -846,19 +868,24 @@ for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do done /usr/sbin/iconvconfig + %post info %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz + %postun info %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz + %preun -n nscd %stop_on_removal nscd + %post -n nscd %{insserv_force_if_yast nscd} mkdir -p /var/run/nscd + %postun -n nscd %restart_on_update nscd %insserv_cleanup @@ -875,6 +902,7 @@ exit 0 # glibc + %files %defattr(-,root,root) %doc LICENSES @@ -1002,6 +1030,7 @@ exit 0 %ifarch %ix86 + %files obsolete %defattr (755,root,root,755) %dir /%{_lib}/obsolete/ @@ -1010,6 +1039,7 @@ exit 0 /%{_lib}/obsolete/noversion/libNoVersion.so.1 %endif + %files locale -f libc.lang %defattr(-,root,root) %{_datadir}/locale/locale.alias @@ -1018,6 +1048,7 @@ exit 0 %endif %{_libdir}/gconv + %files devel %defattr(-,root,root) %doc COPYING COPYING.LIB FAQ INSTALL NEWS NOTES README BUGS CONFORMANCE @@ -1044,6 +1075,7 @@ exit 0 %{_libdir}/libpthread_nonshared.a %{_libdir}/librpcsvc.a + %files devel-static %defattr(-,root,root) %{_libdir}/libBrokenLocale.a @@ -1058,20 +1090,24 @@ exit 0 %{_libdir}/librt.a %{_libdir}/libutil.a + %files info %defattr(-,root,root) %doc %{_infodir}/libc.info.gz %doc %{_infodir}/libc.info-?.gz %doc %{_infodir}/libc.info-??.gz + %files html %defattr(-,root,root) %doc %{_prefix}/share/doc/glibc + %files i18ndata %defattr(-,root,root) %{_prefix}/share/i18n + %files -n nscd %defattr(-,root,root) %config(noreplace) /etc/nscd.conf @@ -1080,6 +1116,10 @@ exit 0 %config /etc/init.d/nscd %{_sbindir}/nscd %{_sbindir}/rcnscd +/lib/systemd/system/nscd.service +/lib/systemd/system/nscd.socket +%dir /usr/lib/tmpfiles.d +/usr/lib/tmpfiles.d/nscd.conf %dir %attr(0755,root,root) %ghost /var/run/nscd %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 @@ -1087,6 +1127,7 @@ exit 0 %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 + %files profile %defattr(-,root,root) %{_libdir}/libc_p.a @@ -1102,6 +1143,7 @@ exit 0 %{_libdir}/libutil_p.a %{_libdir}/libdl_p.a + %files utils %defattr(-,root,root) /%{_lib}/libmemusage.so @@ -1113,4 +1155,6 @@ exit 0 %{_bindir}/pcprofiledump %{_bindir}/xtrace + + %changelog diff --git a/nscd.conf b/nscd.conf new file mode 100644 index 0000000..1807bd5 --- /dev/null +++ b/nscd.conf @@ -0,0 +1 @@ +d /var/run/nscd 0755 root root diff --git a/nscd.service b/nscd.service new file mode 100644 index 0000000..80e7626 --- /dev/null +++ b/nscd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Name Service Cache Daemon +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/nscd +ExecStop=/usr/sbin/nscd --shutdown +Restart=always +PIDFile=/var/run/nscd/nscd.pid + +[Install] +WantedBy=multi-user.target +Also=nscd.socket diff --git a/nscd.socket b/nscd.socket new file mode 100644 index 0000000..cec9134 --- /dev/null +++ b/nscd.socket @@ -0,0 +1,8 @@ +[Unit] +Description=Name Service Cache Daemon Socket + +[Socket] +ListenDatagram=/var/run/nscd/socket + +[Install] +WantedBy=sockets.target