diff --git a/baselibs.conf b/baselibs.conf index f37d7ce..915a546 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -15,3 +15,5 @@ glibc-devel +^/usr/include/gnu/stubs-.*\.h$ glibc-profile arch i586 block! +glibc-utils + arch i586 block! diff --git a/glibc-2.3.2-revert_tcsetattr.diff b/glibc-2.3.2-revert_tcsetattr.diff deleted file mode 100644 index f17f80f..0000000 --- a/glibc-2.3.2-revert_tcsetattr.diff +++ /dev/null @@ -1,49 +0,0 @@ -Index: sysdeps/unix/sysv/linux/tcsetattr.c -=================================================================== ---- sysdeps/unix/sysv/linux/tcsetattr.c.orig -+++ sysdeps/unix/sysv/linux/tcsetattr.c -@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios - { - struct __kernel_termios k_termios; - unsigned long int cmd; -+ int retval; - - switch (optional_actions) - { -@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios - memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0], - __KERNEL_NCCS * sizeof (cc_t)); - -- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); -+ retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); -+ -+ if (retval == 0 && cmd == TCSETS) -+ { -+ /* The Linux kernel has a bug which silently ignore the invalid -+ c_cflag on pty. We have to check it here. */ -+ int save = errno; -+ retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios); -+ if (retval) -+ { -+ /* We cannot verify if the setting is ok. We don't return -+ an error (?). */ -+ __set_errno (save); -+ retval = 0; -+ } -+ else if ((termios_p->c_cflag & (PARENB | CREAD)) -+ != (k_termios.c_cflag & (PARENB | CREAD)) -+ || ((termios_p->c_cflag & CSIZE) -+ && ((termios_p->c_cflag & CSIZE) -+ != (k_termios.c_cflag & CSIZE)))) -+ { -+ /* It looks like the Linux kernel silently changed the -+ PARENB/CREAD/CSIZE bits in c_cflag. Report it as an -+ error. */ -+ __set_errno (EINVAL); -+ retval = -1; -+ } -+ } -+ -+ return retval; - } - libc_hidden_def (tcsetattr) diff --git a/glibc-2.8-clone.diff b/glibc-2.8-clone.diff deleted file mode 100644 index 1bccb5d..0000000 --- a/glibc-2.8-clone.diff +++ /dev/null @@ -1,46 +0,0 @@ -http://sources.redhat.com/bugzilla/show_bug.cgi?id=6693 - -Index: sysdeps/unix/sysv/linux/x86_64/clone.S -=================================================================== ---- sysdeps/unix/sysv/linux/x86_64/clone.S.orig -+++ sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -89,9 +89,6 @@ L(pseudo_end): - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ L(thread_start): - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) -Index: sysdeps/unix/sysv/linux/i386/clone.S -=================================================================== ---- sysdeps/unix/sysv/linux/i386/clone.S.orig -+++ sysdeps/unix/sysv/linux/i386/clone.S -@@ -120,9 +120,6 @@ L(pseudo_end): - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ L(nomoregetpid): - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) diff --git a/glibc-gai-private4.diff b/glibc-gai-private4.diff index 189b2ea..a6a1ee8 100644 --- a/glibc-gai-private4.diff +++ b/glibc-gai-private4.diff @@ -24,7 +24,7 @@ +# When the user attempts to connect to a server whose hostname has both IPv4 +# and IPv6 addresses published in DNS, an IPv6 connection using the +# transitional 6to4 service will be preferred. This happens because the scope -+# comparsion fails for IPv4, the RFC 1918 addresses are assumed to have ++# comparison fails for IPv4, the RFC 1918 addresses are assumed to have +# site-local scope, which is smaller than the global scope of the server's IPv4 +# address. For IPv6, both the server's and the client's (6to4) address have +# global scope. @@ -39,8 +39,8 @@ +# content, but it should never be preferred over IPv4 service when accessing +# dual-stacked content. +# -+# RFC 3484 even acknowledges this, by saying to "«avoid the use of transitional -+# addresses when native addresses are available"». ++# RFC 3484 even acknowledges this, by saying to "avoid the use of transitional ++# addresses when native addresses are available". +# +# An IETF draft document which describes the problem in a much more detailed +# manner than I have is available here: diff --git a/glibc-nptl-2.4-nofixsyscallnr.diff b/glibc-nptl-2.4-nofixsyscallnr.diff deleted file mode 100644 index 55dc959..0000000 --- a/glibc-nptl-2.4-nofixsyscallnr.diff +++ /dev/null @@ -1,20 +0,0 @@ -Index: nptl/pthreadP.h -=================================================================== ---- nptl/pthreadP.h.orig -+++ nptl/pthreadP.h -@@ -577,15 +577,4 @@ extern void __wait_lookup_done (void) at - # define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name); - #endif - -- --#ifndef __NR_set_robust_list --/* XXX For the time being... Once we can rely on the kernel headers -- having the definition remove these lines. */ --# if defined __i386__ --# define __NR_set_robust_list 311 --# elif defined __x86_64__ --# define __NR_set_robust_list 273 --# endif --#endif -- - #endif /* pthreadP.h */ diff --git a/glibc-strict-aliasing.diff b/glibc-strict-aliasing.diff new file mode 100644 index 0000000..ef7df01 --- /dev/null +++ b/glibc-strict-aliasing.diff @@ -0,0 +1,88 @@ +Index: elf/Makefile +=================================================================== +--- elf/Makefile.orig ++++ elf/Makefile +@@ -133,6 +133,7 @@ include ../Makeconfig + ifeq ($(unwind-find-fde),yes) + routines += unwind-dw2-fde-glibc + shared-only-routines += unwind-dw2-fde-glibc ++CFLAGS-unwind-dw2-fde-glibc.c = -fno-strict-aliasing + endif + + before-compile = $(objpfx)trusted-dirs.h +Index: inet/Makefile +=================================================================== +--- inet/Makefile.orig ++++ inet/Makefile +@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa + + include ../Rules + ++CFLAGS-tst-inet6_rth.c = -fno-strict-aliasing ++ + ifeq ($(have-thread-library),yes) + + CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions +Index: nis/Makefile +=================================================================== +--- nis/Makefile.orig ++++ nis/Makefile +@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out + + include ../Rules + ++CFLAGS-nis_findserv.c = -fno-strict-aliasing ++CFLAGS-ypclnt.c = -fno-strict-aliasing + + $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) + $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ +Index: nss/Makefile +=================================================================== +--- nss/Makefile.orig ++++ nss/Makefile +@@ -75,6 +75,7 @@ endif + + include ../Rules + ++CFLAGS-files-hosts.c = -fno-strict-aliasing + + ifeq (yes,$(build-static-nss)) + $(objpfx)getent: $(objpfx)libnss_files.a +Index: resolv/Makefile +=================================================================== +--- resolv/Makefile.orig ++++ resolv/Makefile +@@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostb + -Dgetnetbyaddr=res_getnetbyaddr + + CFLAGS-res_hconf.c = -fexceptions ++CFLAGS-res_send.c = -fno-strict-aliasing + + # The BIND code elicits some harmless warnings. + +cflags += -Wno-strict-prototypes -Wno-write-strings +Index: sunrpc/Makefile +=================================================================== +--- sunrpc/Makefile.orig 2011-05-25 20:00:57.381005790 +0200 ++++ sunrpc/Makefile 2011-06-15 14:57:37.657361569 +0200 +@@ -129,6 +129,10 @@ + + CPPFLAGS += -D_RPC_THREAD_SAFE_ + ++CFLAGS-clnt_tcp.c = -fno-strict-aliasing ++CFLAGS-clnt_udp.c = -fno-strict-aliasing ++CFLAGS-clnt_unix.c = -fno-strict-aliasing ++ + include ../Rules + + $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \ + +Index: sysdeps/powerpc/powerpc64/elf/Makefile +=================================================================== +--- sysdeps/powerpc/powerpc64/elf/Makefile.orig ++++ sysdeps/powerpc/powerpc64/elf/Makefile +@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re + CFLAGS-rtld-memmove.os = $(no-special-regs) + CFLAGS-rtld-memchr.os = $(no-special-regs) + CFLAGS-rtld-strnlen.os = $(no-special-regs) ++ ++CFLAGS-gmon-start.c = -fno-strict-aliasing diff --git a/glibc.changes b/glibc.changes index ac46391..300c6cf 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Jun 15 07:08:35 UTC 2011 - aj@suse.de + +- Split up package glibc-utils with some debugging tools, add memusage + and memusagestat programs +- Fix compile warnings. +- Silence some rpmlint warnings. +- Remove obsolete patches glibc-2.3.2-revert_tcsetattr.diff, + glibc-2.8-clone.diff, glibc-nptl-2.4-nofixsyscallnr.diff +- Cleanup spec file. +- Use new permission handling for pt_chown. +- Build without -fno-strict-aliasing. + +------------------------------------------------------------------- +Mon Jun 6 14:19:26 UTC 2011 - aj@suse.de + +- Fix typos in /etc/gai.conf (bnc#651912). + ------------------------------------------------------------------- Fri Jun 3 08:40:55 UTC 2011 - aj@suse.de diff --git a/glibc.rpmlintrc b/glibc.rpmlintrc index b88848e..a71322b 100644 --- a/glibc.rpmlintrc +++ b/glibc.rpmlintrc @@ -1 +1,12 @@ addFilter(".*glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p.a") +addFilter(".*glibc.* incorrect-fsf-address") +# False positive - glibc implements gethostbyname +addFilter(".*binary-or-shlib-calls-gethostbyname") +# We do need to keep the symtab (see comments in glibc.spec), so this is intented: +addFilter(".*unstripped-binary-or-object.*") +# The duplication is intented: +addFilter(".*files-duplicate /usr/lib64/libbsd-compat.a /usr/lib.*/libg.a") +# ld.so is special: +addFilter(".*shared-lib-without-dependency-information /lib.*/ld-2.*.so") +# Handled via glibc_post_upgrade: +addFilter(".*permissions-missing-postin missing %set_permissions /usr/.*pt_chown in %post") diff --git a/glibc.spec b/glibc.spec index c4fa0f5..898f0ea 100644 --- a/glibc.spec +++ b/glibc.spec @@ -15,12 +15,15 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: glibc -BuildRequires: gcc-c++ libstdc++-devel +BuildRequires: gcc-c++ +BuildRequires: gd-devel +BuildRequires: libpng-devel BuildRequires: libselinux-devel +BuildRequires: libstdc++-devel +BuildRequires: zlib-devel %define _filter_GLIBC_PRIVATE 1 %define build_locales 1 %define run_testsuite 0 @@ -42,6 +45,9 @@ BuildRequires: libselinux-devel %define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_cell 0 %else +License: GPLv2+ +Summary: Standard Shared Libraries (from the GNU C Library) +Group: System/Libraries %define optimize_power 0 %define powerpc_optimize_base 0 %define powerpc_optimize_cpu_power4 0 @@ -49,18 +55,17 @@ BuildRequires: libselinux-devel %define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_cell 0 %endif # ppc, ppc64 -License: GPLv2+ -Summary: Standard Shared Libraries (from the GNU C Library) -Group: System/Libraries %ifarch %ix86 x86_64 %define enablekernel 2.6.32 %else %define enablekernel 2.6.5 %endif -Conflicts: kernel < %{enablekernel} %define exp_malloc 1 -Obsoletes: ngpt < 2.2.2 ngpt-devel < 2.2.2 -Provides: ngpt = 2.2.2 ngpt-devel = 2.2.2 +Obsoletes: ngpt < 2.2.2 +Obsoletes: ngpt-devel < 2.2.2 +Provides: ngpt = 2.2.2 +Provides: ngpt-devel = 2.2.2 +Conflicts: kernel < %{enablekernel} # bug437293 %ifarch ppc64 Obsoletes: glibc-64bit @@ -68,13 +73,9 @@ Obsoletes: glibc-64bit %ifarch ppc Obsoletes: glibc-32bit %endif -Provides: rtld(GNU_HASH) -AutoReqProv: on Version: 2.13 -Release: 3 +Release: 1 Url: http://www.gnu.org/software/libc/libc.html -PreReq: filesystem -BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: glibc-%{version}-996cf2ef0727.tar.bz2 Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2 Source3: noversion.tar.bz2 @@ -86,67 +87,125 @@ Source10: bindresvport.blacklist Source12: glibc_post_upgrade.c Source15: glibc.rpmlintrc Source16: baselibs.conf +PreReq: filesystem +PreReq: permissions +Provides: rtld(GNU_HASH) +BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %_target_cpu == "i686" # We need to avoid to have only the src rpm from i686 on the media, # since it does not work on other architectures. NoSource: 0 %endif # +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch0: glibc-2.3-SuSE.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines 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 Patch3: glibc-resolv-reload.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch4: glibc-2.3.locales.diff.bz2 +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch5: crypt_blowfish-1.0-suse.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch7: glibc-version.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch8: glibc-2.4.90-revert-only-euro.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch9: glibc-2.3-regcomp.diff -Patch10: glibc-2.3.2-revert_tcsetattr.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch11: glibc-2.3.1.localedef.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch12: glibc-2.3.2.no_archive.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch13: libm-x86-64.diff.bz2 +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch14: glibc-2.3.90-bindresvport.blacklist.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch15: glibc-suse-note.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch16: glibc-2.4.90-no_NO.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch17: glibc-2.3.90-ld.so-madvise.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch18: glibc-2.3.3-amd64-s_ceil.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines 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 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 +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch25: glibc-2.3.90-langpackdir.diff -Patch26: glibc-nptl-2.4-nofixsyscallnr.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 Patch28: glibc-2.2-sunrpc.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch29: glibc-2.8-getconf.diff +# PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697 Patch30: getaddrinfo-ipv6-sanity.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch31: ppc-atomic.diff -Patch32: glibc-2.8-clone.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch33: glibc-compiled-binaries.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch36: glibc-no-unwind-tables.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch37: glibc-2.10-nscd-nostack.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch38: glibc-cpusetsize.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch39: glibc-2.10.99-ia64-include.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch40: libm-x86-64-exceptions.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch41: glibc-uio-cell.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch42: glibc-statfs64-ia64.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +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 +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch47: glibc-nscd-hconf.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines 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 Patch50: glibc-gconvcache-s390.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch51: glibc-vfprintf-positional.diff +# FIX-OPENSUSE bnc#657627 Patch52: glibc-elf-localscope.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch53: glibc-zarch-longlong.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch54: glibc-disable-backward-memcpy.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch55: glibc-bso-12454.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch56: glibc-static-memcpy.diff +# FIX-OPENSUSE compile some files with -fno-strict-aliasing +Patch58: glibc-strict-aliasing.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff -Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines +Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff +# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff %description @@ -155,40 +214,31 @@ by nearly all programs: the standard C library, the standard math library, and the POSIX thread library. A system is not functional without these libraries. - - %package info License: GPLv2+ Summary: Info Files for the GNU C Library Group: Documentation/Other PreReq: %{install_info_prereq} -AutoReqProv: on %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 complete and is partially out of date. - - %package html License: GPLv2+ ; LGPLv2.1+ Summary: HTML Documentation for the GNU C Library Group: Documentation/HTML -AutoReqProv: on %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 partially out of date. - - %package i18ndata License: LGPLv2.1+ Summary: Database Sources for 'locale' Group: System/Libraries -AutoReqProv: on %description i18ndata This package contains the data needed to build the locale data files to @@ -196,15 +246,12 @@ use the internationalization features of the GNU libc. It is normally not necessary to install this packages, the data files are already created. - - %package locale License: GPLv2+ ; LGPLv2.1+ Summary: Locale Data for Localized Programs Group: System/Libraries -Requires: glibc = %{version} PreReq: /bin/cat -AutoReqProv: on +Requires: glibc = %{version} # bug437293 %ifarch ppc64 Obsoletes: glibc-locale-64bit @@ -216,21 +263,18 @@ Obsoletes: glibc-locale-32bit %description locale Locale data for the internationalisation features of the GNU C library. - - %package -n nscd License: LGPLv2.1+ Summary: Name Service Caching Daemon Group: System/Daemons -Provides: glibc:/usr/sbin/nscd aaa_base:/etc/init.d/nscd +Provides: aaa_base:/etc/init.d/nscd +Provides: glibc:/usr/sbin/nscd PreReq: %insserv_prereq %description -n nscd Nscd caches name service lookups and can dramatically improve performance with NIS, NIS+, and LDAP. - - %package profile License: LGPLv2.1+ Summary: Libc Profiling and Debugging Versions @@ -243,14 +287,11 @@ Obsoletes: glibc-profile-64bit %ifarch ppc Obsoletes: glibc-profile-32bit %endif -AutoReqProv: on %description profile This package contains special versions of the GNU C library which are necessary for profiling and debugging. - - %package devel License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ Summary: Include Files and Libraries Mandatory for Development @@ -266,22 +307,30 @@ Obsoletes: glibc-devel-32bit %endif PreReq: /bin/rm Requires: glibc = %{version}, linux-kernel-headers -AutoReqProv: on %description devel These libraries are needed to develop programs which use the standard C library. +%package utils +License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ +Summary: Development utilities from GNU C library +Group: Development/Languages/C and C++ +Requires: glibc = %{version} +%description utils +The glibc-utils package contains memusage, a memory usage profiler, +mtrace, a memory leak tracer and xtrace, a function call tracer +which can be helpful during program debugging. + +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} -AutoReqProv: on %description obsolete This package provides some old libraries from the GNU C Library which @@ -317,8 +366,6 @@ versions of your software. %patch8 # Seems not needed anymore #%patch9 -# Seems not needed anymore -#%patch10 %patch11 %patch12 %patch13 -E @@ -340,14 +387,11 @@ touch -r nscd/nscd_stat.c nscd/s-stamp touch -r nscd/s-stamp nscd/nscd_stat.c rm nscd/s-stamp %patch25 -%patch26 %patch27 %patch28 %patch29 %patch30 %patch31 -# Seems not needed anymore -#%patch32 %patch33 %patch36 %patch37 @@ -356,6 +400,7 @@ rm nscd/s-stamp %patch40 %patch41 -p1 %patch42 +%patch43 -p1 %patch44 -p1 %patch45 %patch46 -p1 @@ -371,6 +416,7 @@ rm nscd/s-stamp %patch54 -p1 %patch55 -p1 %patch56 -p1 +%patch58 %ifarch %arm armv5tel armv7l %patch500 %patch501 @@ -418,7 +464,7 @@ echo "#define CVSDATE \"`date -r ChangeLog +%Y%m%d`\"" >> version.h # # Default CFLAGS and Compiler # -BuildFlags="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE -fno-strict-aliasing" +BuildFlags="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')" BuildCC="gcc" BuildCCplus="g++" @@ -501,7 +547,7 @@ configure_and_build_glibc() { --enable-experimental-malloc \ %endif --with-tls --with-__thread --enable-kernel=%{enablekernel} \ - --enable-bind-now + --enable-bind-now # Should we enable --enable-nss-crypt to build use freebl3 hash functions? make $PARALLEL cd .. @@ -553,7 +599,7 @@ make -C cc-base html # # Build glibc_post_upgrade binary # -$BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \ +$BuildCC -static $RPM_OPT_FLAGS -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \ -Lcc-base -Bcc-base/csu \ '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \ %ifarch ppc ppc64 @@ -790,6 +836,9 @@ done %clean rm -rf $RPM_BUILD_ROOT +# Note: glibc_post_upgrade does: +# %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 @@ -813,12 +862,16 @@ done %post -n nscd %{insserv_force_if_yast nscd} +mkdir -p /var/run/nscd %postun -n nscd %restart_on_update nscd %insserv_cleanup exit 0 +%verifyscript +%verify_permissions -e %{_libdir}/pt_chown + ####################################################################### ### ### FILES @@ -882,7 +935,6 @@ exit 0 /%{_lib}/libdl.so.2* /%{_lib}/libm-%{version}.so /%{_lib}/libm.so.6* -/%{_lib}/libmemusage.so /%{_lib}/libnsl-%{version}.so /%{_lib}/libnsl.so.1 /%{_lib}/libnss_compat-%{version}.so @@ -897,7 +949,6 @@ exit 0 /%{_lib}/libnss_nis.so.2 /%{_lib}/libnss_nisplus-%{version}.so /%{_lib}/libnss_nisplus.so.2 -/%{_lib}/libpcprofile.so /%{_lib}/libpthread-%{version}.so /%{_lib}/libpthread.so.0 /%{_lib}/libresolv-%{version}.so @@ -937,25 +988,24 @@ exit 0 %endif # optimize_power %dir %attr(0700,root,root) /var/cache/ldconfig /sbin/ldconfig -/usr/bin/gencat -/usr/bin/getconf -/usr/bin/getent -/usr/bin/iconv -%attr(755,root,root) /usr/bin/ldd +%{_bindir}/gencat +%{_bindir}/getconf +%{_bindir}/getent +%{_bindir}/iconv +%attr(755,root,root) %{_bindir}/ldd %ifarch %ix86 sparc sparcv9 - /usr/bin/lddlibc4 + %{_bindir}/lddlibc4 %endif -/usr/bin/locale -/usr/bin/localedef -%attr(4755,root,root) %{_libdir}/pt_chown +%{_bindir}/locale +%{_bindir}/localedef +%verify(not mode caps) %attr(4755,root,root) %{_libdir}/pt_chown %dir %attr(0755,root,root) %{_libdir}/getconf %{_libdir}/getconf/* %{_sbindir}/glibc_post_upgrade %{_sbindir}/rpcinfo -/usr/sbin/iconvconfig +%{_sbindir}/iconvconfig %ifarch %ix86 - %files obsolete %defattr (755,root,root,755) %dir /%{_lib}/obsolete/ @@ -979,12 +1029,9 @@ exit 0 %doc %{_mandir}/man1/rpcgen.1.gz %doc %{_mandir}/man1/sprof.1.gz %doc %{_mandir}/man3/* -/usr/bin/catchsegv -/usr/bin/mtrace -/usr/bin/pcprofiledump -/usr/bin/rpcgen -/usr/bin/sprof -/usr/bin/xtrace +%{_bindir}/catchsegv +%{_bindir}/rpcgen +%{_bindir}/sprof %{_prefix}/include/* %{_libdir}/*.o %{_libdir}/*.so @@ -1031,8 +1078,8 @@ exit 0 %dir /etc/apparmor.d %config /etc/apparmor.d/usr.sbin.nscd %config /etc/init.d/nscd -/usr/sbin/nscd -/usr/sbin/rcnscd +%{_sbindir}/nscd +%{_sbindir}/rcnscd %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 @@ -1055,4 +1102,14 @@ exit 0 %{_libdir}/libutil_p.a %{_libdir}/libdl_p.a +%files utils +%defattr(-,root,root) +/%{_lib}/libmemusage.so +/%{_lib}/libpcprofile.so +%{_bindir}/memusage +%{_bindir}/memusagestat +%{_bindir}/mtrace +%{_bindir}/pcprofiledump +%{_bindir}/xtrace + %changelog diff --git a/glibc_post_upgrade.c b/glibc_post_upgrade.c index ebd1e6e..cde2295 100644 --- a/glibc_post_upgrade.c +++ b/glibc_post_upgrade.c @@ -128,6 +128,12 @@ main (void) "--nostdlib", GCONV_MODULES_DIR); } + /* Implement %set_permissions %{_libdir}/pt_chown. */ + if (access ("/usr/bin/chkstat", X_OK) == 0) + verbose_exec (114, "/usr/bin/chkstat", "/usr/bin/chkstat", + "-n", "--set", "--system", "/usr/lib/pt_chown", + "/usr/lib64/pt_chown"); + /* Check if telinit is available and the init fifo as well. */ if (access ("/sbin/telinit", X_OK) || access ("/dev/initctl", F_OK)) _exit (0); diff --git a/missing-include-build-fix.diff b/missing-include-build-fix.diff new file mode 100644 index 0000000..d1fc51e --- /dev/null +++ b/missing-include-build-fix.diff @@ -0,0 +1,31 @@ +2011-06-14 Andreas Jaeger + + * pthread_rwlock_init.c: Include for + memset declaration. + +2011-06-14 Andreas Jaeger + + * sysdeps/unix/sysv/linux/check_native.c: Include for + memset declaration. + +--- a/sysdeps/unix/sysv/linux/check_native.c ++++ b/sysdeps/unix/sysv/linux/check_native.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include + +--- a/nptl/pthread_rwlock_init.c ++++ b/nptl/pthread_rwlock_init.c +@@ -18,6 +18,7 @@ + 02111-1307 USA. */ + + #include "pthreadP.h" ++#include + #include + +