SHA256
1
0
forked from pool/glibc

Accepting request 73727 from home:a_jaeger:branches:openSUSE:Factory

Further fixes.

OBS-URL: https://build.opensuse.org/request/show/73727
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=59
This commit is contained in:
Andreas Jaeger 2011-06-15 12:55:16 +00:00 committed by Git OBS Bridge
parent 1010119ebc
commit 7cc4d3d8d9
8 changed files with 222 additions and 192 deletions

View File

@ -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)

View File

@ -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))

View File

@ -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 */

View File

@ -0,0 +1,87 @@
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
+++ sunrpc/Makefile
@@ -152,6 +152,10 @@ CFLAGS-openchild.c = -fexceptions
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
+
$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
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

View File

@ -4,7 +4,12 @@ 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.
- Silent some rpmlint 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

View File

@ -2,3 +2,11 @@ addFilter(".*glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p
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")

View File

@ -15,13 +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: gd-devel libpng-devel zlib-devel
BuildRequires: libstdc++-devel
BuildRequires: zlib-devel
%define _filter_GLIBC_PRIVATE 1
%define build_locales 1
%define run_testsuite 0
@ -43,6 +45,9 @@ BuildRequires: gd-devel libpng-devel zlib-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
@ -50,18 +55,17 @@ BuildRequires: gd-devel libpng-devel zlib-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
@ -69,13 +73,9 @@ Obsoletes: glibc-64bit
%ifarch ppc
Obsoletes: glibc-32bit
%endif
Provides: rtld(GNU_HASH)
AutoReqProv: on
Version: 2.13
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
@ -87,68 +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
Patch48: glibc-malloc-arena-max.diff
Patch49: glibc-fini-unwind.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
Patch51: glibc-vfprintf-positional.diff
Patch52: glibc-elf-localscope.diff
Patch53: glibc-zarch-longlong.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
@ -157,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
@ -198,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
@ -218,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
@ -245,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
@ -268,7 +307,6 @@ 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
@ -276,9 +314,9 @@ library.
%package utils
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Development utilities from GNU C library
Summary: Development utilities from GNU C library
Group: Development/Languages/C and C++
Requires: glibc = %{version}-%{release}
Requires: glibc = %{version}
%description utils
The glibc-utils package contains memusage, a memory usage profiler,
@ -287,14 +325,12 @@ 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
@ -330,8 +366,6 @@ versions of your software.
%patch8
# Seems not needed anymore
#%patch9
# Seems not needed anymore
#%patch10
%patch11
%patch12
%patch13 -E
@ -353,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
@ -385,6 +416,7 @@ rm nscd/s-stamp
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch58
%ifarch %arm armv5tel armv7l
%patch500
%patch501
@ -432,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++"
@ -515,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 ..
@ -567,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
@ -804,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
@ -827,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
@ -949,22 +988,22 @@ 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
@ -990,9 +1029,9 @@ exit 0
%doc %{_mandir}/man1/rpcgen.1.gz
%doc %{_mandir}/man1/sprof.1.gz
%doc %{_mandir}/man3/*
/usr/bin/catchsegv
/usr/bin/rpcgen
/usr/bin/sprof
%{_bindir}/catchsegv
%{_bindir}/rpcgen
%{_bindir}/sprof
%{_prefix}/include/*
%{_libdir}/*.o
%{_libdir}/*.so
@ -1039,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
@ -1067,10 +1106,10 @@ exit 0
%defattr(-,root,root)
/%{_lib}/libmemusage.so
/%{_lib}/libpcprofile.so
%{_prefix}/bin/memusage
%{_prefix}/bin/memusagestat
%{_prefix}/bin/mtrace
%{_prefix}/bin/pcprofiledump
%{_prefix}/bin/xtrace
%{_bindir}/memusage
%{_bindir}/memusagestat
%{_bindir}/mtrace
%{_bindir}/pcprofiledump
%{_bindir}/xtrace
%changelog

View File

@ -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);