glibc/glibc.spec

1934 lines
69 KiB
RPMSpec
Raw Normal View History

2014-11-29 02:32:05 +00:00
%define glibcsrcdir glibc-2.20-276-g0e7e69b
2014-09-08 07:02:01 +00:00
%define glibcversion 2.20.90
%define glibcrelease 12%{?dist}
2013-08-16 13:56:44 +00:00
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
# git archive HEAD --format=tar --prefix=$(git describe --match 'glibc-*')/ \
# > $(git describe --match 'glibc-*').tar
# gzip -9 $(git describe --match 'glibc-*').tar
#
# glibc_release_url is only defined when we have a release tarball.
2013-09-05 12:07:40 +00:00
# % define glibc_release_url http://ftp.gnu.org/gnu/glibc/
2013-07-24 11:58:38 +00:00
##############################################################################
# If run_glibc_tests is zero then tests are not run for the build.
# You must always set run_glibc_tests to one for production builds.
2012-02-07 19:03:30 +00:00
%define run_glibc_tests 1
# Run valgrind test to ensure compatibility.
%define run_valgrind_tests 1
2013-07-24 11:58:38 +00:00
##############################################################################
# Auxiliary arches are those arches that can be built in addition
# to the core supported arches. You either install an auxarch or
# you install the base arch, not both. You would do this in order
# to provide a more optimized version of the package for your arch.
%define auxarches athlon alphaev6
2013-07-24 11:58:38 +00:00
##############################################################################
# Enable lock elision support for these architectures
#
# At the moment lock elision is disabled on x86_64 until there's a CPU that
# would actually benefit from enabling it. Intel released a microcode update
# to disable HLE and RTM at boot and the Fedora kernel now applies it early
# enough that keeping lock elision enabled should be harmless, but we have
# disabled it anyway as a conservative measure.
%define lock_elision_arches s390 s390x
##############################################################################
2013-07-24 11:58:38 +00:00
# We build a special package for Xen that includes TLS support with
# no negative segment offsets for use with Xen guests. This is
# purely an optimization for increased performance on those arches.
%define xenarches i686 athlon
%ifarch %{xenarches}
%define buildxen 1
%define xenpackage 0
%else
%define buildxen 0
%define xenpackage 0
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# For Power we actually support alternate runtimes in the same base package.
# If we build for Power or Power64 we additionally build a power6 runtime that
# is enabled by AT_HWCAPS selection and an alternate runtime directory.
%ifarch ppc ppc64
%define buildpower6 1
%else
%define buildpower6 0
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# We build librtkaio for all rtkaioarches. The library is installed into
# a distinct subdirectory in the lib dir. This define enables the rtkaio
# add-on during the build. Upstream does not have rtkaio and it is provided
# strictly as part of our builds.
%define rtkaioarches %{ix86} x86_64 ppc %{power64} s390 s390x
2013-07-24 11:58:38 +00:00
##############################################################################
# Any architecture/kernel combination that supports running 32-bit and 64-bit
# code in userspace is considered a biarch arch.
%define biarcharches %{ix86} x86_64 ppc %{power64} s390 s390x
2013-07-24 11:58:38 +00:00
##############################################################################
# If the debug information is split into two packages, the core debuginfo
# pacakge and the common debuginfo package then the arch should be listed
# here. If the arch is not listed here then a single core debuginfo package
# will be created for the architecture.
2011-02-15 13:29:18 +00:00
%define debuginfocommonarches %{biarcharches} alpha alphaev6
2013-07-24 11:58:38 +00:00
##############################################################################
# If the architecture has multiarch support in glibc then it should be listed
# here to enable support in the build. Multiarch support is a single library
# with implementations of certain functions for multiple architectures. The
# most optimal function is selected at runtime based on the hardware that is
# detected by glibc. The underlying support for function selection and
# execution is provided by STT_GNU_IFUNC.
%define multiarcharches ppc %{power64} %{ix86} x86_64 %{sparc}
2013-07-24 11:58:38 +00:00
##############################################################################
# Add -s for a less verbose build output.
%define silentrules PARALLELMFLAGS=
2013-07-24 11:58:38 +00:00
##############################################################################
# %%package glibc - The GNU C Library (glibc) core package.
##############################################################################
2008-03-05 10:32:39 +00:00
Summary: The GNU libc libraries
Name: glibc
2009-06-26 15:46:27 +00:00
Version: %{glibcversion}
Release: %{glibcrelease}
2007-08-04 21:26:28 +00:00
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
# exception which allows linking it into any kind of programs or shared
# libraries without restrictions.
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Group: System Environment/Libraries
2010-07-12 11:40:50 +00:00
URL: http://www.gnu.org/software/glibc/
2011-12-20 05:46:44 +00:00
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz
Source1: build-locale-archive.c
Source2: glibc_post_upgrade.c
Source3: libc-lock.h
Source4: nscd.conf
Source7: nsswitch.conf
Source8: power6emul.c
2013-07-24 11:58:38 +00:00
##############################################################################
# Start of glibc patches
##############################################################################
# 0000-0999 for patches which are unlikely to ever go upstream or which
# have not been analyzed to see if they ought to go upstream yet.
2013-07-24 05:22:37 +00:00
#
# 1000-2000 for patches that are already upstream.
#
# 2000-3000 for patches that are awaiting upstream approval
#
# Yes, I realize this means some gratutious changes as patches to from
# one bucket to another, but I find this scheme makes it easier to track
# the upstream divergence and patches needing approval.
#
# Note that we can still apply the patches in any order we see fit, so
# the changes from one bucket to another won't necessarily result in needing
# to twiddle the patch because of dependencies on prior patches and the like.
##############################################################################
#
# Patches that are unlikely to go upstream or not yet analyzed.
#
##############################################################################
# Configuration twiddle, not sure there's a good case to get upstream to
# change this.
Patch0001: %{name}-fedora-nscd.patch
Patch0003: %{name}-fedora-ldd.patch
Patch0004: %{name}-fedora-ppc-unwind.patch
# Build info files in the source tree, then move to the build
# tree so that they're identical for multilib builds
Patch0005: %{name}-rh825061.patch
# Horrible hack, never to be upstreamed. Can go away once the world
# has been rebuilt to use the new ld.so path.
Patch0006: %{name}-arm-hardfloat-3.patch
# Needs to be sent upstream
Patch0008: %{name}-fedora-getrlimit-PLT.patch
Patch0009: %{name}-fedora-include-bits-ldbl.patch
# Needs to be sent upstream
Patch0029: %{name}-rh841318.patch
# All these were from the glibc-fedora.patch mega-patch and need another
# round of reviewing. Ideally they'll either be submitted upstream or
# dropped.
Patch0012: %{name}-fedora-linux-tcsetattr.patch
Patch0014: %{name}-fedora-nptl-linklibc.patch
Patch0015: %{name}-fedora-localedef.patch
Patch0016: %{name}-fedora-i386-tls-direct-seg-refs.patch
Patch0019: %{name}-fedora-nis-rh188246.patch
Patch0020: %{name}-fedora-manual-dircategory.patch
Patch0024: %{name}-fedora-locarchive.patch
Patch0025: %{name}-fedora-streams-rh436349.patch
Patch0028: %{name}-fedora-localedata-rh61908.patch
Patch0030: %{name}-fedora-uname-getrlimit.patch
Patch0031: %{name}-fedora-__libc_multiple_libcs.patch
Patch0033: %{name}-fedora-elf-ORIGIN.patch
Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
2012-09-21 19:08:53 +00:00
# Needs to be sent upstream.
# Support mangling and demangling null pointers.
Patch0037: %{name}-rh952799.patch
# rtkaio and c_stubs. Note that despite the numbering, these are always
# applied first.
Patch0038: %{name}-rtkaio.patch
Patch0039: %{name}-c_stubs.patch
2013-08-20 04:44:34 +00:00
# Remove non-ELF support in rtkaio
Patch0040: %{name}-rh731833-rtkaio.patch
Patch0041: %{name}-rh731833-rtkaio-2.patch
Patch0042: %{name}-rh970865.patch
2013-08-20 04:44:34 +00:00
# ARM: Accept that some objects marked hard ABI are now not because of a
# binutils bug.
Patch0044: %{name}-rh1009145.patch
# Allow applications to call pthread_atfork without libpthread.so.
Patch0046: %{name}-rh1013801.patch
Patch0047: %{name}-nscd-sysconfig.patch
# Allow up to 32 libraries to use static TLS. Should go upstream after
# more testing.
Patch0050: %{name}-rh1124987.patch
# Disable rwlock elision if --enable-lock-elision is not used.
Patch0052: %{name}-disable-rwlock-elision.patch
# confstr _CS_PATH should only return /usr/bin on Fedora since /bin is just a
# symlink to it.
Patch0053: %{name}-cs-path.patch
##############################################################################
#
# Patches from upstream
#
##############################################################################
##############################################################################
#
# Patches submitted, but not yet approved upstream.
#
##############################################################################
#
# Each should be associated with a BZ.
# Obviously we're not there right now, but that's the goal
#
# http://sourceware.org/ml/libc-alpha/2012-12/msg00103.html
Patch2007: %{name}-rh697421.patch
Patch2011: %{name}-rh757881.patch
Patch2013: %{name}-rh741105.patch
# Upstream BZ 14247
Patch2023: %{name}-rh827510.patch
# Upstream BZ 13028
Patch2026: %{name}-rh841787.patch
# Upstream BZ 14185
Patch2027: %{name}-rh819430.patch
Patch2031: %{name}-rh1070416.patch
Patch2033: %{name}-aarch64-tls-fixes.patch
Patch2034: %{name}-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch
Patch2035: %{name}-aarch64-strchrnul-revert.patch
2013-07-24 11:58:38 +00:00
##############################################################################
# End of glibc patches.
##############################################################################
2013-07-24 11:58:38 +00:00
##############################################################################
# Continued list of core "glibc" package information:
##############################################################################
2008-03-05 10:32:39 +00:00
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Obsoletes: glibc-profile < 2.4
2011-07-01 09:03:06 +00:00
Obsoletes: nss_db
Provides: ldconfig
2013-07-24 11:58:38 +00:00
2006-07-11 15:23:42 +00:00
# The dynamic linker supports DT_GNU_HASH
Provides: rtld(GNU_HASH)
# This is a short term need until everything is rebuilt in the ARM world
# to use the new dynamic linker path
%ifarch armv7hl armv7hnl
Provides: ld-linux.so.3
Provides: ld-linux.so.3(GLIBC_2.4)
%endif
Requires: glibc-common = %{version}-%{release}
2013-07-24 11:58:38 +00:00
# Require libgcc in case some program calls pthread_cancel in its %%post
2008-03-05 10:32:39 +00:00
Requires(pre): basesystem, libgcc
2013-07-24 11:58:38 +00:00
# This is for building auxiliary programs like memusage, nscd
# For initial glibc bootstraps it can be commented out
2008-03-05 10:32:39 +00:00
BuildRequires: gd-devel libpng-devel zlib-devel texinfo, libselinux-devel >= 1.33.4-3
2009-04-07 07:39:09 +00:00
BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext, nss-devel
2008-03-05 10:32:39 +00:00
BuildRequires: /bin/ps, /bin/kill, /bin/awk
2011-04-07 11:22:58 +00:00
BuildRequires: systemtap-sdt-devel
2013-07-24 11:58:38 +00:00
%if %{run_valgrind_tests}
BuildRequires: /usr/bin/valgrind
%endif
# We use systemd rpm macros for nscd
BuildRequires: systemd
# This is to ensure that __frame_state_for is exported by glibc
# will be compatible with egcs 1.x.y
2008-03-05 10:32:39 +00:00
BuildRequires: gcc >= 3.2
2010-07-21 15:08:07 +00:00
%define enablekernel 2.6.32
2010-08-02 12:18:20 +00:00
Conflicts: kernel < %{enablekernel}
2011-07-20 11:54:13 +00:00
%define target %{_target_cpu}-redhat-linux
%ifarch %{arm}
%define target %{_target_cpu}-redhat-linuxeabi
%endif
%ifarch %{power64}
2014-05-14 07:21:29 +00:00
%ifarch ppc64le
%define target ppc64le-redhat-linux
%else
%define target ppc64-redhat-linux
%endif
2014-05-14 07:21:29 +00:00
%endif
2013-07-24 11:58:38 +00:00
2009-06-26 15:46:27 +00:00
%ifarch %{multiarcharches}
# Need STT_IFUNC support
%ifarch ppc %{power64}
2009-11-24 15:50:44 +00:00
BuildRequires: binutils >= 2.20.51.0.2
Conflicts: binutils < 2.20.51.0.2
%else
%ifarch s390 s390x
# Needed for STT_GNU_IFUNC support for s390/390x
BuildRequires: binutils >= 2.23.52.0.1-8
Conflicts: binutils < 2.23.52.0.1-8
%else
# Default to this version
2009-06-26 15:46:27 +00:00
BuildRequires: binutils >= 2.19.51.0.10
2009-11-12 17:51:25 +00:00
Conflicts: binutils < 2.19.51.0.10
2009-11-24 15:50:44 +00:00
%endif
%endif
2009-08-24 09:22:26 +00:00
# Earlier releases have broken support for IRELATIVE relocations
Conflicts: prelink < 0.4.2
2009-06-26 15:46:27 +00:00
%else
2009-08-24 09:22:26 +00:00
# Need AS_NEEDED directive
# Need --hash-style=* support
BuildRequires: binutils >= 2.17.50.0.2-5
2009-06-26 15:46:27 +00:00
%endif
2013-07-24 11:58:38 +00:00
BuildRequires: gcc >= 3.2.1-5
%ifarch ppc s390 s390x
BuildRequires: gcc >= 4.1.0-0.17
%endif
2009-06-26 15:46:27 +00:00
%if 0%{?_enable_debug_packages}
2008-03-05 10:32:39 +00:00
BuildRequires: elfutils >= 0.72
BuildRequires: rpm >= 4.2-0.56
%endif
2013-07-24 11:58:38 +00:00
# The testsuite builds static C++ binaries that require a static
# C++ runtime from libstdc++-static.
BuildRequires: libstdc++-static
2013-07-24 11:58:38 +00:00
# Filter out all GLIBC_PRIVATE symbols since they are internal to
2013-07-25 02:45:11 +00:00
# the package and should not be examined by any other tool.
2011-08-15 09:29:40 +00:00
%global __filter_GLIBC_PRIVATE 1
%description
The glibc package contains standard libraries which are used by
multiple programs on the system. In order to save disk space and
memory, as well as to make upgrading easier, common system code is
kept in one place and shared between programs. This particular package
contains the most important sets of shared libraries: the standard C
library and the standard math library. Without these two libraries, a
Linux system will not function.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "xen" sub-package
##############################################################################
%if %{xenpackage}
%package xen
Summary: The GNU libc libraries (optimized for running under Xen)
Group: System Environment/Libraries
Requires: glibc = %{version}-%{release}, glibc-utils = %{version}-%{release}
%description xen
The standard glibc package is optimized for native kernels and does not
perform as well under the Xen hypervisor. This package provides alternative
library binaries that will be selected instead when running under Xen.
Install glibc-xen if you might run your system under the Xen hypervisor.
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "devel" sub-package
##############################################################################
%package devel
Summary: Object files for development using standard C libraries.
Group: Development/Libraries
2008-03-05 10:32:39 +00:00
Requires(pre): /sbin/install-info
2009-06-26 15:46:27 +00:00
Requires(pre): %{name}-headers
Requires: %{name}-headers = %{version}-%{release}
2008-03-05 10:32:39 +00:00
Requires: %{name} = %{version}-%{release}
%description devel
The glibc-devel package contains the object files necessary
for developing programs which use the standard C libraries (which are
used by nearly all programs). If you are developing programs which
will use the standard C libraries, your system needs to have these
standard object files available in order to create the
executables.
Install glibc-devel if you are going to develop programs which will
use the standard C libraries.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "static" sub-package
##############################################################################
2009-02-18 20:47:04 +00:00
%package static
Summary: C library static libraries for -static linking.
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
The glibc-static package contains the C library static libraries
for -static linking. You don't need these, unless you link statically,
which is highly discouraged.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "headers" sub-package
##############################################################################
%package headers
Summary: Header files for development using standard C libraries.
Group: Development/Libraries
Provides: %{name}-headers(%{_target_cpu})
%ifarch x86_64
# If both -m32 and -m64 is to be supported on AMD64, x86_64 glibc-headers
2009-02-18 20:47:04 +00:00
# have to be installed, not i586 ones.
Obsoletes: %{name}-headers(i586)
2009-07-20 13:24:45 +00:00
Obsoletes: %{name}-headers(i686)
%endif
2008-03-05 10:32:39 +00:00
Requires(pre): kernel-headers
Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release}
2007-08-01 17:49:56 +00:00
BuildRequires: kernel-headers >= 2.6.22
%description headers
The glibc-headers package contains the header files necessary
for developing programs which use the standard C libraries (which are
used by nearly all programs). If you are developing programs which
will use the standard C libraries, your system needs to have these
standard header files available in order to create the
executables.
Install glibc-headers if you are going to develop programs which will
use the standard C libraries.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "common" sub-package
##############################################################################
%package common
Summary: Common binaries and locale data for glibc
2008-03-26 12:29:52 +00:00
Requires: %{name} = %{version}-%{release}
Requires: tzdata >= 2003a
Group: System Environment/Base
%description common
The glibc-common package includes common binaries for the GNU libc
libraries, as well as national language (locale) support.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "nscd" sub-package
##############################################################################
%package -n nscd
Summary: A Name Service Caching Daemon (nscd).
Group: System Environment/Daemons
2010-10-14 10:30:32 +00:00
Requires: %{name} = %{version}-%{release}
Requires: libselinux >= 1.17.10-1, audit-libs >= 1.1.3
2011-09-28 12:23:58 +00:00
Requires(pre): /usr/sbin/useradd, coreutils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd, /usr/sbin/userdel
%description -n nscd
Nscd caches name service lookups and can dramatically improve
2006-03-28 10:15:50 +00:00
performance with NIS+, and may help with DNS as well.
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc "utils" sub-package
##############################################################################
%package utils
Summary: Development utilities from GNU C library
Group: Development/Tools
2008-03-05 10:32:39 +00:00
Requires: %{name} = %{version}-%{release}
%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 unsure if you need this, don't install this package.
2013-07-25 02:45:11 +00:00
##############################################################################
# glibc core "debuginfo" sub-package
##############################################################################
2009-06-26 15:46:27 +00:00
%if 0%{?_enable_debug_packages}
%define debug_package %{nil}
2008-10-28 15:50:31 +00:00
%define __debug_install_post %{nil}
%global __debug_package 1
%package debuginfo
Summary: Debug information for package %{name}
Group: Development/Debug
2007-08-10 01:55:13 +00:00
AutoReqProv: no
%ifarch %{debuginfocommonarches}
Requires: glibc-debuginfo-common = %{version}-%{release}
2009-07-20 13:24:45 +00:00
%else
%ifarch %{ix86} %{sparc}
2009-07-20 13:24:45 +00:00
Obsoletes: glibc-debuginfo-common
%endif
%endif
%description debuginfo
This package provides debug information for package %{name}.
Debug information is useful when developing applications that use this
package or when debugging this package.
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
This package also contains static standard C libraries with
debugging information. You need this only if you want to step into
C library routines during debugging programs statically linked against
one or more of the standard C libraries.
To use this debugging information, you need to link binaries
with -static -L%{_prefix}/lib/debug%{_libdir} compiler options.
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
2013-07-24 11:58:38 +00:00
##############################################################################
# glibc common "debuginfo-common" sub-package
##############################################################################
%ifarch %{debuginfocommonarches}
%package debuginfo-common
Summary: Debug information for package %{name}
Group: Development/Debug
2007-08-10 01:55:13 +00:00
AutoReqProv: no
%description debuginfo-common
This package provides debug information for package %{name}.
Debug information is useful when developing applications that use this
package or when debugging this package.
2013-07-24 11:58:38 +00:00
%endif # %{debuginfocommonarches}
%endif # 0%{?_enable_debug_packages}
2013-07-24 11:58:38 +00:00
##############################################################################
# Prepare for the build.
##############################################################################
%prep
%setup -q -n %{glibcsrcdir}
2013-07-24 11:58:38 +00:00
# Patch order is important as some patches depend on other patches and
# therefore the order must not be changed. First two are rtkaio and c_stubs;
# we maintain this only in Fedora.
%patch0038 -p1
%patch0039 -p1
%patch0001 -p1
%patch0003 -p1
%patch0004 -p1
2012-05-23 18:18:07 +00:00
%patch0005 -p1
%patch0006 -p1
%patch2007 -p1
%patch0008 -p1
2012-05-23 18:18:07 +00:00
%patch0009 -p1
%patch2011 -p1
%patch0012 -p1
%patch2013 -p1
%patch0014 -p1
%patch0015 -p1
%patch0016 -p1
%patch0019 -p1
%patch0020 -p1
%patch2023 -p1
%patch0024 -p1
%patch0025 -p1
2012-05-23 18:18:07 +00:00
%patch2026 -p1
%patch2027 -p1
%patch0028 -p1
%patch0029 -p1
%patch0030 -p1
%patch0031 -p1
%patch0033 -p1
%patch0034 -p1
%patch0037 -p1
2013-08-20 04:44:34 +00:00
%patch0040 -p1
%patch0041 -p1
%patch0042 -p1
%patch0044 -p1
%patch0046 -p1
%patch2031 -p1
%patch0047 -p1
%patch2033 -p1
%patch2034 -p1
%patch2035 -p1
%patch0050 -p1
%patch0052 -p1
%patch0053 -p1
2012-06-13 02:01:29 +00:00
2013-07-24 11:58:38 +00:00
##############################################################################
# %%prep - Additional prep required...
##############################################################################
# XXX: This sounds entirely out of date, particularly in light of the fact
# that we want to be building newer Power support. We should review this
# and potentially remove this workaround. However it will require
# determining which arches we support building for on our distributions.
# ~~~
2008-10-20 07:39:44 +00:00
# On powerpc32, hp timing is only available in power4/power6
# libs, not in base, so pre-power4 dynamic linker is incompatible
# with power6 libs.
2013-07-24 11:58:38 +00:00
# ~~~
%if %{buildpower6}
2008-10-20 07:39:44 +00:00
rm -f sysdeps/powerpc/powerpc32/power4/hp-timing.[ch]
%endif
2013-07-24 11:58:38 +00:00
# Remove all files generated from patching.
find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
2013-07-24 11:58:38 +00:00
# Ensure timestamps on configure files are current to prevent
# regenerating them.
touch `find . -name configure`
2013-07-24 11:58:38 +00:00
# Ensure *-kw.h files are current to prevent regenerating them.
2005-12-19 18:04:52 +00:00
touch locale/programs/*-kw.h
2013-07-24 11:58:38 +00:00
##############################################################################
# Build glibc...
##############################################################################
%build
2013-07-24 11:58:38 +00:00
2013-07-25 02:45:11 +00:00
# We build using the native system compilers.
GCC=gcc
GXX=g++
2013-07-24 11:58:38 +00:00
##############################################################################
# %%build - x86 options.
##############################################################################
# On x86 we build for the specific target cpu rpm is using.
%ifarch %{ix86}
2011-07-20 11:54:13 +00:00
BuildFlags="-march=%{_target_cpu} -mtune=generic"
%endif
# We don't support building for i386. The generic i386 architecture lacks the
# atomic primitives required for NPTL support. However, when a user asks to
2013-07-24 05:22:37 +00:00
# build for i386 we interpret that as "for whatever works on x86" and we
# select i686. Thus we treat i386 as an alias for i686.
%ifarch i386 i686
BuildFlags="-march=i686 -mtune=generic"
%endif
%ifarch i486 i586
BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
%endif
%ifarch x86_64
BuildFlags="-mtune=generic"
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# %%build - SPARC options.
##############################################################################
%ifarch sparc
BuildFlags="-fcall-used-g6"
GCC="gcc -m32"
GXX="g++ -m32"
%endif
%ifarch sparcv9
BuildFlags="-mcpu=ultrasparc -fcall-used-g6"
GCC="gcc -m32"
GXX="g++ -m32"
%endif
2007-08-15 21:19:33 +00:00
%ifarch sparcv9v
BuildFlags="-mcpu=niagara -fcall-used-g6"
GCC="gcc -m32"
GXX="g++ -m32"
%endif
%ifarch sparc64
BuildFlags="-mcpu=ultrasparc -mvis -fcall-used-g6"
GCC="gcc -m64"
GXX="g++ -m64"
%endif
2007-08-15 21:19:33 +00:00
%ifarch sparc64v
BuildFlags="-mcpu=niagara -mvis -fcall-used-g6"
GCC="gcc -m64"
GXX="g++ -m64"
%endif
%ifarch %{power64}
BuildFlags=""
GCC="gcc -m64"
GXX="g++ -m64"
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# %%build - Generic options.
##############################################################################
2008-05-18 11:11:25 +00:00
BuildFlags="$BuildFlags -fasynchronous-unwind-tables"
2009-07-23 16:45:25 +00:00
# Add -DNDEBUG unless using a prerelease
case %{version} in
*.*.9[0-9]*) ;;
2009-07-27 13:22:45 +00:00
*)
2009-07-23 16:45:25 +00:00
BuildFlags="$BuildFlags -DNDEBUG"
;;
esac
EnableKernel="--enable-kernel=%{enablekernel}"
2013-07-24 11:58:38 +00:00
# Save the used compiler and options into the file "Gcc" for use later
# by %%install.
2005-07-08 10:21:35 +00:00
echo "$GCC" > Gcc
AddOns=`echo */configure | sed -e 's!/configure!!g;s!\(linuxthreads\|nptl\|rtkaio\|powerpc-cpu\)\( \|$\)!!g;s! \+$!!;s! !,!g;s!^!,!;/^,\*$/d'`
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
%ifarch %{rtkaioarches}
AddOns=,rtkaio$AddOns
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# build()
# Build glibc in `build-%{target}$1', passing the rest of the arguments
# as CFLAGS to the build (not the same as configure CFLAGS). Several
# global values are used to determine build flags, add-ons, kernel
# version, multiarch support, system tap support, etc.
##############################################################################
2011-07-20 11:54:13 +00:00
build()
{
builddir=build-%{target}${1:+-$1}
${1+shift}
rm -rf $builddir
mkdir $builddir
pushd $builddir
build_CFLAGS="$BuildFlags -g -O3 $*"
# Some configure checks can spuriously fail for some architectures if
# unwind info is present
configure_CFLAGS="$build_CFLAGS -fno-asynchronous-unwind-tables"
../configure CC="$GCC" CXX="$GXX" CFLAGS="$configure_CFLAGS" \
--prefix=%{_prefix} \
2014-07-03 05:43:32 +00:00
--enable-add-ons=$AddOns \
--with-headers=%{_prefix}/include $EnableKernel --enable-bind-now \
--build=%{target} \
2009-06-26 15:46:27 +00:00
%ifarch %{multiarcharches}
--enable-multi-arch \
2011-04-07 11:22:58 +00:00
%endif
--enable-obsolete-rpc \
--enable-systemtap \
%ifarch ppc64p7
--with-cpu=power7 \
%endif
%ifarch %{lock_elision_arches}
--enable-lock-elision \
2009-06-26 15:46:27 +00:00
%endif
--disable-profile --enable-nss-crypt ||
{ cat config.log; false; }
2009-09-01 11:03:11 +00:00
make %{?_smp_mflags} -r CFLAGS="$build_CFLAGS" %{silentrules}
popd
}
2013-07-24 11:58:38 +00:00
##############################################################################
# Build glibc for the default set of options.
##############################################################################
2011-07-20 11:54:13 +00:00
build
2013-07-24 11:58:38 +00:00
##############################################################################
# Build glibc for xen:
# If we support xen build glibc again for xen support.
##############################################################################
%if %{buildxen}
2011-07-20 11:54:13 +00:00
build nosegneg -mno-tls-direct-seg-refs
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# Build glibc for power6:
# If we support building a power6 alternate runtime then built glibc again for
# power6.
# XXX: We build in a sub-shell for no apparent reason.
##############################################################################
%if %{buildpower6}
(
platform=`LD_SHOW_AUXV=1 /bin/true | sed -n 's/^AT_PLATFORM:[[:blank:]]*//p'`
if [ "$platform" != power6 ]; then
mkdir -p power6emul/{lib,lib64}
$GCC -shared -O2 -fpic -o power6emul/%{_lib}/power6emul.so %{SOURCE8} -Wl,-z,initfirst
%ifarch ppc
gcc -shared -nostdlib -O2 -fpic -m64 -o power6emul/lib64/power6emul.so -xc - </dev/null
%endif
%ifarch ppc64
gcc -shared -nostdlib -O2 -fpic -m32 -o power6emul/lib/power6emul.so -xc - < /dev/null
%endif
export LD_PRELOAD=`pwd`/power6emul/\$LIB/power6emul.so
fi
AddOns="$AddOns --with-cpu=power6"
GCC="$GCC -mcpu=power6"
GXX="$GXX -mcpu=power6"
build power6
)
%endif # %{buildpower6}
2013-07-24 11:58:38 +00:00
##############################################################################
# Build the glibc post-upgrade program:
# We only build one of these with the default set of options. This program
# must be able to run on all hardware for the lowest common denomintor since
# we only build it once.
##############################################################################
2013-07-24 05:27:35 +00:00
pushd build-%{target}
$GCC -static -L. -Os -g %{SOURCE2} \
-o glibc_post_upgrade.%{_target_cpu} \
'-DLIBTLS="/%{_lib}/tls/"' \
'-DGCONV_MODULES_DIR="%{_libdir}/gconv"' \
'-DLD_SO_CONF="/etc/ld.so.conf"' \
'-DICONVCONFIG="%{_sbindir}/iconvconfig.%{_target_cpu}"'
2013-07-24 05:27:35 +00:00
popd
2013-07-24 11:58:38 +00:00
##############################################################################
# Install glibc...
##############################################################################
%install
2013-07-24 11:58:38 +00:00
# Reload compiler and build options that were used during %%build.
GCC=`cat Gcc`
2013-07-24 11:58:38 +00:00
# Cleanup any previous installs...
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
make -j1 install_root=$RPM_BUILD_ROOT \
install -C build-%{target} %{silentrules}
2013-07-24 11:58:38 +00:00
# If we are not building an auxiliary arch then install all of the supported
# locales.
%ifnarch %{auxarches}
2013-07-24 05:27:35 +00:00
pushd build-%{target}
make %{?_smp_mflags} install_root=$RPM_BUILD_ROOT \
install-locales -C ../localedata objdir=`pwd`
2013-07-24 05:27:35 +00:00
popd
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# Install rtkaio libraries.
##############################################################################
%ifarch %{rtkaioarches}
librtso=`basename $RPM_BUILD_ROOT/%{_lib}/librt.so.*`
rm -f $RPM_BUILD_ROOT{,%{_prefix}}/%{_lib}/librtkaio.*
rm -f $RPM_BUILD_ROOT%{_libdir}/librt.so.*
mkdir -p $RPM_BUILD_ROOT/%{_lib}/rtkaio
mv $RPM_BUILD_ROOT/%{_lib}/librtkaio-*.so $RPM_BUILD_ROOT/%{_lib}/rtkaio/
rm -f $RPM_BUILD_ROOT/%{_lib}/$librtso
ln -sf `basename $RPM_BUILD_ROOT/%{_lib}/librt-*.so` $RPM_BUILD_ROOT/%{_lib}/$librtso
ln -sf `basename $RPM_BUILD_ROOT/%{_lib}/rtkaio/librtkaio-*.so` $RPM_BUILD_ROOT/%{_lib}/rtkaio/$librtso
%endif
# install_different:
# Install all core libraries into DESTDIR/SUBDIR. Either the file is
# installed as a copy or a symlink to the default install (if it is the
# same). The path SUBDIR_UP is the prefix used to go from
# DESTDIR/SUBDIR to the default installed libraries e.g.
# ln -s SUBDIR_UP/foo.so DESTDIR/SUBDIR/foo.so.
# When you call this function it is expected that you are in the root
# of the build directory, and that the default build directory is:
# "../build-%{target}" (relatively).
# The primary use of this function is to install alternate runtimes
# into the build directory and avoid duplicating this code for each
# runtime.
install_different()
{
local lib libbase libbaseso dlib
local destdir="$1"
local subdir="$2"
local subdir_up="$3"
local libdestdir="$destdir/$subdir"
# All three arguments must be non-zero paths.
if ! [ "$destdir" \
-a "$subdir" \
-a "$subdir_up" ]; then
echo "One of the arguments to install_different was emtpy."
exit 1
fi
# Create the destination directory and the multilib directory.
mkdir -p "$destdir"
mkdir -p "$libdestdir"
# Walk all of the libraries we installed...
for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db
do
libbase=${lib#*/}
# Take care that `libbaseso' has a * that needs expanding so
# take care with quoting.
libbaseso=$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}-*.so)
# Only install if different from default build library.
if cmp -s ${lib}.so ../build-%{target}/${lib}.so; then
ln -sf "$subdir_up"/$libbaseso $libdestdir/$libbaseso
else
cp -a ${lib}.so $libdestdir/$libbaseso
fi
dlib=$libdestdir/$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}.so.*)
ln -sf $libbaseso $dlib
done
%ifarch %{rtkaioarches}
local rtkdestdir="$RPM_BUILD_ROOT/%{_lib}/rtkaio/$subdir"
local librtso=`basename $RPM_BUILD_ROOT/%{_lib}/librt.so.*`
mkdir -p $rtkdestdir
librtkaioso=$(basename $RPM_BUILD_ROOT/%{_lib}/librt-*.so | sed s/librt-/librtkaio-/)
if cmp -s rtkaio/librtkaio.so ../build-%{target}/rtkaio/librtkaio.so; then
ln -s %{nosegneg_subdir_up}/$librtkaioso $rtkdestdir/$librtkaioso
else
cp -a rtkaio/librtkaio.so $rtkdestdir/$librtkaioso
fi
ln -sf $librtkaioso $rtkdestdir/$librtso
%endif
}
2013-07-24 11:58:38 +00:00
##############################################################################
# Install the xen build files.
##############################################################################
%if %{buildxen}
%define nosegneg_subdir_base i686
%define nosegneg_subdir i686/nosegneg
2009-11-12 17:51:25 +00:00
%define nosegneg_subdir_up ../..
2013-07-24 05:27:35 +00:00
pushd build-%{target}-nosegneg
destdir=$RPM_BUILD_ROOT/%{_lib}
install_different "$destdir" "%{nosegneg_subdir}" "%{nosegneg_subdir_up}"
2013-07-24 05:27:35 +00:00
popd
%endif # %{buildxen}
2013-07-24 11:58:38 +00:00
##############################################################################
# Install the power6 build files.
##############################################################################
%if %{buildpower6}
%define power6_subdir power6
%define power6_subdir_up ..
%define power6_legacy power6x
%define power6_legacy_up ..
2013-07-24 05:27:35 +00:00
pushd build-%{target}-power6
destdir=$RPM_BUILD_ROOT/%{_lib}
2013-08-29 04:36:52 +00:00
install_different "$destdir" "%{power6_subdir}" "%{power6_subdir_up}"
# Make a legacy /usr/lib[64]/power6x directory that is a symlink to the
# power6 runtime.
# XXX: When can we remove this? What is the history behind this?
mkdir -p ${destdir}/%{power6_legacy}
pushd ${destdir}/%{power6_legacy}
ln -sf %{power6_legacy_up}/%{power6_subdir}/*.so .
cp -a %{power6_legacy_up}/%{power6_subdir}/*.so.* .
2006-11-30 17:32:26 +00:00
popd
%ifarch %{rtkaioarches}
destdir=${destdir}/rtkaio
mkdir -p ${destdir}/%{power6_legacy}
pushd ${destdir}/%{power6_legacy}
2006-11-30 17:32:26 +00:00
ln -sf ../power6/*.so .
cp -a ../power6/*.so.* .
popd
%endif
2013-07-24 05:27:35 +00:00
popd
%endif # %{buildpower6}
2013-07-24 11:58:38 +00:00
##############################################################################
# Remove the files we don't want to distribute
2013-07-24 11:58:38 +00:00
##############################################################################
# Remove the libNoVersion files.
# XXX: This looks like a bug in glibc that accidentally installed these
# wrong files. We probably don't need this today.
rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion*
# rquota.x and rquota.h are now provided by quota
rm -f $RPM_BUILD_ROOT%{_prefix}/include/rpcsvc/rquota.[hx]
# In F7+ this is provided by rpcbind rpm
rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo
# Remove the old nss modules.
rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss1-*
rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss-*.so.1
2013-07-25 02:45:11 +00:00
##############################################################################
# Install info files
2013-07-25 02:45:11 +00:00
##############################################################################
2013-07-24 11:58:38 +00:00
# Move the info files if glibc installed them into the wrong location.
if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
2008-03-05 10:32:39 +00:00
mkdir -p $RPM_BUILD_ROOT%{_infodir}
mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir}
rm -rf $RPM_BUILD_ROOT%{_prefix}/info
fi
2013-07-24 11:58:38 +00:00
# Compress all of the info files.
gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
##############################################################################
# Install locale files
##############################################################################
# Create archive of locale files
%ifnarch %{auxarches}
olddir=`pwd`
pushd ${RPM_BUILD_ROOT}%{_prefix}/lib/locale
rm -f locale-archive
# Intentionally we do not pass --alias-file=, aliases will be added
# by build-locale-archive.
$olddir/build-%{target}/elf/ld.so \
--library-path $olddir/build-%{target}/ \
$olddir/build-%{target}/locale/localedef \
--prefix ${RPM_BUILD_ROOT} --add-to-archive \
*_*
rm -rf *_*
mv locale-archive{,.tmpl}
popd
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# Install configuration files for services
##############################################################################
install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc/nsswitch.conf
2010-09-06 14:40:34 +00:00
%ifnarch %{auxarches}
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
mkdir -p $RPM_BUILD_ROOT/etc/default
install -p -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/nss
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
# This is for ncsd - in glibc 2.2
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
install -m 644 nscd/nscd.service nscd/nscd.socket $RPM_BUILD_ROOT/lib/systemd/system
2010-09-06 14:40:34 +00:00
%endif
# Include ld.so.conf
echo 'include ld.so.conf.d/*.conf' > $RPM_BUILD_ROOT/etc/ld.so.conf
2013-07-26 00:30:34 +00:00
truncate -s 0 $RPM_BUILD_ROOT/etc/ld.so.cache
chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf
auto-import changelog data from glibc-2.3.3-27.src.rpm Tue May 11 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-27 - remove /lib64/tls/librtkaio-2.3.[23].so in glibc_post_upgrade on x86-64, s390x and ppc64 instead of /lib/tls/librtkaio-2.3.[23].so - build mq_{send,receive} with -fexceptions Fri May 07 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-26 - update from CVS - fix <tgmath.h> - fix memory leaks in nis, getifaddrs, etc. caused by incorrect use of realloc - remove /lib/{tls,i686}/librtkaio-2.3.[23].so in glibc_post_upgrade and rerun ldconfig if needed, otherwise after glibc upgrade librt.so.1 might be a stale symlink Wed May 05 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-25 - update from CVS - disable FUTEX_REQUEUE (work around #115349) - mq for sparc/sparc64/ia64 Tue May 04 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-24 - update from CVS - define S_ISSOCK in -D_XOPEN_SOURCE=600 and S_I[FS]SOCK plus F_[SG]ETOWN also in -D_XOPEN_SOURCE=500 (both included already in XNS5) - reorder dlopen checks, so that dlopening ET_REL objects complains about != ET_DYN != ET_EXEC, not about phentsize (#121606) - fix strpbrk macro for GCC 3.4+ (BZ #130) - fix <sys/sysctl.h> (BZ #140) - sched_[gs]etaffinity documentation fix (BZ #131) - fix sparc64 build (BZ #139) - change linuxthreads back to use non-cancellable writes to manager pipes etc. - fix sem_timedwait return value in linuxthreads (BZ #133) - ia64 unnecessary PLT relocs removal Thu Apr 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-23 - update from CVS - fix *scanf - fix shm_unlink, sem_unlink and mq_unlink errno values - avoid memory leaks in error - execstack fixes on s390 Mon Apr 19 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-22 - update from CVS - mq and timer fixes - rebuilt with binutils >= 2.15.90.0.3-2 to fix IA-64 statically linked binaries - fix linuxthreads librt.so on s390{,x}, so it is no longer DT_TEXTREL Sat Apr 17 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-21 - disable rtkaio - update from CVS - POSIX message passing support - fixed SIGEV_THREAD support for POSIX timers - fix free on non-malloced memory in syslog - fix ffsl on some 64-bit arches - fix sched_setaffinity on x86-64, ia64 - fix ppc64 umount - NETID_AUTHORITATIVE, SERVICES_AUTHORITATIVE support - various NIS speedups - fix fwrite with > 2GB sizes on 64-bit arches - fix pthread_getattr_np guardsize reporting in NPTL - report PLT relocations in ld.so and libc.so during the build Thu Mar 25 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-20 - update from CVS - change NPTL PTHREAD_MUTEX_ADAPTIVE_NP mutexes to spin on SMP - strtol speed optimization - don't try to use certainly unimplemented syscalls on ppc64 - kill -debug subpackage, move the libs to glibc-debuginfo{,-common} into /usr/lib/debug/usr/lib64/ directory - fix c_stubs with gcc 3.4 - move all the up to 3 builds into %build scriptlet and leave only installation in the %install scriptlet Mon Mar 22 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-19 - update from CVS - affinity API changes
2004-09-09 05:48:43 +00:00
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
2010-09-06 14:40:34 +00:00
%ifnarch %{auxarches}
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
2013-07-26 00:30:34 +00:00
truncate -s 0 $RPM_BUILD_ROOT/etc/sysconfig/nscd
truncate -s 0 $RPM_BUILD_ROOT/etc/gai.conf
2010-09-06 14:40:34 +00:00
%endif
# Include %{_libdir}/gconv/gconv-modules.cache
truncate -s 0 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
2013-07-24 11:58:38 +00:00
##############################################################################
# Misc...
2013-07-24 11:58:38 +00:00
##############################################################################
# NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
# the generic one (#162634)
cp -a bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
# And <bits/libc-lock.h> needs sanitizing as well.
cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_prefix}/include/bits/libc-lock.h
# XXX: What is this for?
ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}/libbsd.a
# Install the upgrade program
install -m 700 build-%{target}/glibc_post_upgrade.%{_target_cpu} \
$RPM_BUILD_ROOT%{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu}
# Strip all of the installed object files.
strip -g $RPM_BUILD_ROOT%{_libdir}/*.o
# XXX: Ugly hack for buggy rpm. What bug? BZ? Is this fixed?
ln -f ${RPM_BUILD_ROOT}%{_sbindir}/iconvconfig{,.%{_target_cpu}}
##############################################################################
# Install debug copies of unstripped static libraries
# - This step must be last in order to capture any additional static
# archives we might have added.
##############################################################################
# If we are building a debug package then copy all of the static archives
# into the debug directory to keep them as unstripped copies.
%if 0%{?_enable_debug_packages}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}
cp -a $RPM_BUILD_ROOT%{_libdir}/*.a \
$RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a
%endif
2013-07-24 11:58:38 +00:00
##############################################################################
# Build the file lists used for describing the package and subpackages.
##############################################################################
# There are 11 file lists:
# * rpm.fileslist
# - Master file list. Eventually, after removing files from this list
# we are left with the list of files for the glibc package.
# * common.filelist
# - Contains the list of flies for the common subpackage.
# * utils.filelist
# - Contains the list of files for the utils subpackage.
# * nscd.filelist
# - Contains the list of files for the nscd subpackage.
# * devel.filelist
# - Contains the list of files for the devel subpackage.
# * headers.filelist
# - Contains the list of files for the headers subpackage.
# * static.filelist
# - Contains the list of files for the static subpackage.
# * nosegneg.filelist
# - Contains the list of files for the xen subpackage.
# * debuginfo.filelist
# - Contains the list of files for the glibc debuginfo package.
# * debuginfocommon.filelist
# - Contains the list of files for the glibc common debuginfo package.
#
2009-06-26 15:46:27 +00:00
{
2009-07-30 13:39:12 +00:00
find $RPM_BUILD_ROOT \( -type f -o -type l \) \
2009-06-26 15:46:27 +00:00
\( \
-name etc -printf "%%%%config " -o \
-name gconv-modules \
-printf "%%%%verify(not md5 size mtime) %%%%config(noreplace) " -o \
-name gconv-modules.cache \
-printf "%%%%verify(not md5 size mtime) " \
, \
2009-07-30 13:39:12 +00:00
! -path "*/lib/debug/*" -printf "/%%P\n" \)
# Print all directories with a %%dir prefix. We omit the info directory and
# all directories in (and including) /usr/share/locale.
2009-06-26 15:46:27 +00:00
find $RPM_BUILD_ROOT -type d \
\( -path '*%{_prefix}/share/locale' -prune -o \
2009-06-26 15:46:27 +00:00
\( -path '*%{_prefix}/share/*' ! -path '*%{_infodir}' -o \
2010-05-19 12:00:46 +00:00
-path "*%{_prefix}/include/*" \
\) -printf "%%%%dir /%%P\n" \)
2009-06-26 15:46:27 +00:00
} | {
# primary filelist
SHARE_LANG='s|.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo|%lang(\1) &|'
sed -e "$SHARE_LANG" \
2010-10-14 10:30:32 +00:00
-e '\,/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \
2009-06-26 15:46:27 +00:00
-e '\,/%{_lib}/lib\(pcprofile\|memusage\)\.so,d' \
-e '\,bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d'
} | sort > rpm.filelist
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so $RPM_BUILD_ROOT%{_libdir}
2013-07-24 11:58:38 +00:00
# The xtrace and memusage scripts have hard-coded paths that need to be
# translated to a correct set of paths using the $LIB token which is
# dynamically translated by ld.so as the default lib directory.
for i in $RPM_BUILD_ROOT%{_prefix}/bin/{xtrace,memusage}; do
sed -e 's~=/%{_lib}/libpcprofile.so~=%{_libdir}/libpcprofile.so~' \
-e 's~=/%{_lib}/libmemusage.so~=%{_libdir}/libmemusage.so~' \
-e 's~='\''/\\\$LIB/libpcprofile.so~='\''%{_prefix}/\\$LIB/libpcprofile.so~' \
-e 's~='\''/\\\$LIB/libmemusage.so~='\''%{_prefix}/\\$LIB/libmemusage.so~' \
2009-06-26 15:46:27 +00:00
-i $i
done
2013-07-24 11:58:38 +00:00
# Put the info files into the devel file list.
grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist
2013-07-24 11:58:38 +00:00
# Put the stub headers into the devel file list.
grep '%{_prefix}/include/gnu/stubs-[^.]\+\.h' < rpm.filelist >> devel.filelist || :
2013-07-24 11:58:38 +00:00
# Put the include files into headers file list.
grep '%{_prefix}/include' < rpm.filelist |
egrep -v '%{_prefix}/include/(linuxthreads|gnu/stubs-[^.]+\.h)' \
2008-03-05 10:32:39 +00:00
> headers.filelist
2013-07-24 11:58:38 +00:00
# Remove partial (lib*_p.a) static libraries, include files, and info files from
# the core glibc package.
sed -i -e '\|%{_libdir}/lib.*_p.a|d' \
2009-06-26 15:46:27 +00:00
-e '\|%{_prefix}/include|d' \
-e '\|%{_infodir}|d' rpm.filelist
2013-07-24 11:58:38 +00:00
# Put some static files into the devel package.
grep '%{_libdir}/lib.*\.a' < rpm.filelist \
2009-03-09 15:03:51 +00:00
| grep '/lib\(\(c\|pthread\|nldbl\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \
2009-02-18 20:47:04 +00:00
>> devel.filelist
2013-07-24 11:58:38 +00:00
# Put the rest of the static files into the static package.
grep '%{_libdir}/lib.*\.a' < rpm.filelist \
2009-03-09 15:03:51 +00:00
| grep -v '/lib\(\(c\|pthread\|nldbl\)_nonshared\|bsd\(\|-compat\)\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \
2009-02-18 20:47:04 +00:00
> static.filelist
2013-07-24 11:58:38 +00:00
# Put all of the object files and *.so (not the versioned ones) into the
# devel package.
grep '%{_libdir}/.*\.o' < rpm.filelist >> devel.filelist
grep '%{_libdir}/lib.*\.so' < rpm.filelist >> devel.filelist
2013-07-24 11:58:38 +00:00
# Remove all of the static, object, unversioned DSOs, old linuxthreads stuff,
# and nscd from the core glibc package.
sed -i -e '\|%{_libdir}/lib.*\.a|d' \
-e '\|%{_libdir}/.*\.o|d' \
-e '\|%{_libdir}/lib.*\.so|d' \
-e '\|%{_libdir}/linuxthreads|d' \
2009-06-26 15:46:27 +00:00
-e '\|nscd|d' rpm.filelist
2013-07-24 11:58:38 +00:00
# All of the bin and certain sbin files go into the common package.
# We explicitly exclude certain sbin files that need to go into
# the core glibc package for use during upgrades.
grep '%{_prefix}/bin' < rpm.filelist >> common.filelist
grep '%{_prefix}/sbin/[^gi]' < rpm.filelist >> common.filelist
2013-07-24 11:58:38 +00:00
# All of the files under share go into the common package since
# they should be multilib-independent.
2008-03-05 10:32:39 +00:00
grep '%{_prefix}/share' < rpm.filelist | \
grep -v -e '%{_prefix}/share/zoneinfo' -e '%%dir %{prefix}/share' \
>> common.filelist
# Remove the bin, locale, some sbin, and share from the
2013-07-24 11:58:38 +00:00
# core glibc package. We cheat a bit and use the slightly dangerous
# /usr/sbin/[^gi] to match the inverse of the search that put the
2013-07-24 11:58:38 +00:00
# files into common.filelist. It's dangerous in that additional files
# that start with g, or i would get put into common.filelist and
2013-07-24 11:58:38 +00:00
# rpm.filelist.
2009-06-26 15:46:27 +00:00
sed -i -e '\|%{_prefix}/bin|d' \
-e '\|%{_prefix}/lib/locale|d' \
-e '\|%{_prefix}/sbin/[^gi]|d' \
-e '\|%{_prefix}/share|d' rpm.filelist
2013-07-24 11:58:38 +00:00
##############################################################################
# Build the xen package file list (nosegneg.filelist)
##############################################################################
2013-07-26 00:30:34 +00:00
truncate -s 0 nosegneg.filelist
%if %{xenpackage}
grep '/%{_lib}/%{nosegneg_subdir}' < rpm.filelist >> nosegneg.filelist
sed -i -e '\|/%{_lib}/%{nosegneg_subdir}|d' rpm.filelist
2013-07-24 11:58:38 +00:00
# TODO: There are files in the nosegneg list which should be in the devel
# pacakge, but we leave them instead in the xen subpackage. We may
# wish to clean that up at some point.
%endif
2013-07-24 11:58:38 +00:00
# Add the binary to build localse to the common subpackage.
echo '%{_prefix}/sbin/build-locale-archive' >> common.filelist
2013-07-24 11:58:38 +00:00
# The nscd binary must go into the nscd subpackage.
echo '%{_prefix}/sbin/nscd' > nscd.filelist
2013-07-24 11:58:38 +00:00
# The memusage and pcprofile libraries are put back into the core
# glibc package even though they are only used by utils package
# scripts..
2011-09-16 12:17:45 +00:00
cat >> rpm.filelist <<EOF
%{_libdir}/libmemusage.so
%{_libdir}/libpcprofile.so
2011-09-16 12:17:45 +00:00
EOF
2013-07-24 11:58:38 +00:00
# Add the utils scripts and programs to the utils subpackage.
2011-09-16 12:17:45 +00:00
cat > utils.filelist <<EOF
%{_prefix}/bin/memusage
%{_prefix}/bin/memusagestat
%{_prefix}/bin/mtrace
%{_prefix}/bin/pcprofiledump
%{_prefix}/bin/xtrace
EOF
# Remove the zoneinfo files
# XXX: Why isn't this don't earlier when we are removing files?
# Won't this impact what is shipped?
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
# Make sure %config files have the same timestamp across multilib packages.
#
# XXX: Ideally ld.so.conf should have the timestamp of the spec file, but there
# doesn't seem to be any macro to give us that. So we do the next best thing,
# which is to at least keep the timestamp consistent. The choice of using
# glibc_post_upgrade.c is arbitrary.
touch -r %{SOURCE2} $RPM_BUILD_ROOT/etc/ld.so.conf
touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc
# We allow undefined symbols in shared libraries because the libraries
# referenced at link time here, particularly ld.so, may be different than
2013-07-24 05:22:37 +00:00
# the one used at runtime. This is really only needed during the ARM
# transition from ld-linux.so.3 to ld-linux-armhf.so.3.
pushd build-%{target}
$GCC -Os -g -static -o build-locale-archive %{SOURCE1} \
../build-%{target}/locale/locarchive.o \
../build-%{target}/locale/md5.o \
-I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \
-L../build-%{target} \
-Wl,--allow-shlib-undefined \
-B../build-%{target}/csu/ -lc -lc_nonshared
install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive
2013-07-24 05:27:35 +00:00
popd
2013-07-24 11:58:38 +00:00
# Lastly copy some additional documentation for the packages.
rm -rf documentation
mkdir documentation
cp crypt/README.ufc-crypt documentation/README.ufc-crypt
cp timezone/README documentation/README.timezone
cp ChangeLog{,.15,.16} documentation
2005-04-04 19:51:39 +00:00
bzip2 -9 documentation/ChangeLog*
2006-05-05 07:42:23 +00:00
cp posix/gai.conf documentation/
%ifarch s390x
# Compatibility symlink
mkdir -p $RPM_BUILD_ROOT/lib
ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/lib/ld64.so.1
%endif
# Leave a compatibility symlink for the dynamic loader on armhfp targets,
# at least until the world gets rebuilt
%ifarch armv7hl armv7hnl
ln -sf /lib/ld-linux-armhf.so.3 $RPM_BUILD_ROOT/lib/ld-linux.so.3
%endif
2013-07-24 11:58:38 +00:00
###############################################################################
# Rebuild libpthread.a using --whole-archive to ensure all of libpthread
# is included in a static link. This prevents any problems when linking
# statically, using parts of libpthread, and other necessary parts not
# being included. Upstream has decided that this is the wrong approach to
# this problem and that the full set of dependencies should be resolved
# such that static linking works and produces the most minimally sized
# static application possible.
###############################################################################
pushd $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
2009-03-09 15:03:51 +00:00
$GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a
2009-02-18 20:47:04 +00:00
rm libpthread.a
ar rcs libpthread.a libpthread.o
rm libpthread.o
popd
2013-07-24 11:58:38 +00:00
###############################################################################
2009-02-18 20:47:04 +00:00
2009-06-26 15:46:27 +00:00
%if 0%{?_enable_debug_packages}
2007-08-10 01:55:13 +00:00
# The #line directives gperf generates do not give the proper
# file name relative to the build directory.
pushd locale
ln -s programs/*.gperf .
popd
pushd iconv
ln -s ../locale/programs/charmap-kw.gperf .
popd
2013-07-24 11:58:38 +00:00
# Print some diagnostic information in the builds about the
# getconf binaries.
# XXX: Why do we do this?
ls -l $RPM_BUILD_ROOT%{_prefix}/bin/getconf
ls -l $RPM_BUILD_ROOT%{_prefix}/libexec/getconf
eu-readelf -hS $RPM_BUILD_ROOT%{_prefix}/bin/getconf \
$RPM_BUILD_ROOT%{_prefix}/libexec/getconf/*
2007-08-10 01:55:13 +00:00
find_debuginfo_args='--strict-build-id -g'
%ifarch %{debuginfocommonarches}
find_debuginfo_args="$find_debuginfo_args \
-l common.filelist \
-l utils.filelist \
-l nscd.filelist \
-p '.*/(sbin|libexec)/.*' \
-o debuginfocommon.filelist \
-l rpm.filelist \
-l nosegneg.filelist"
2007-08-10 01:55:13 +00:00
%endif
eval /usr/lib/rpm/find-debuginfo.sh \
"$find_debuginfo_args" \
-o debuginfo.filelist
2013-07-24 11:58:38 +00:00
# List all of the *.a archives in the debug directory.
2007-08-10 01:55:13 +00:00
list_debug_archives()
{
local dir=%{_prefix}/lib/debug%{_libdir}
find $RPM_BUILD_ROOT$dir -name "*.a" -printf "$dir/%%P\n"
2007-08-10 01:55:13 +00:00
}
%ifarch %{debuginfocommonarches}
2007-08-10 01:55:13 +00:00
2013-07-24 11:58:38 +00:00
# Remove the source files from the common package debuginfo.
2011-02-15 13:29:18 +00:00
sed -i '\#^%{_prefix}/src/debug/#d' debuginfocommon.filelist
2013-07-24 11:58:38 +00:00
# Create a list of all of the source files we copied to the debug directory.
2011-02-15 13:29:18 +00:00
find $RPM_BUILD_ROOT%{_prefix}/src/debug \
\( -type d -printf '%%%%dir ' \) , \
-printf '%{_prefix}/src/debug/%%P\n' > debuginfocommon.sources
%ifarch %{biarcharches}
2013-07-24 11:58:38 +00:00
# Add the source files to the core debuginfo package.
2011-02-15 13:29:18 +00:00
cat debuginfocommon.sources >> debuginfo.filelist
%else
%ifarch %{ix86}
2009-07-20 13:24:45 +00:00
%define basearch i686
%endif
%ifarch sparc sparcv9
%define basearch sparc
%endif
2007-08-10 01:55:13 +00:00
2013-07-24 11:58:38 +00:00
# The auxarches get only these few source files.
2007-08-10 01:55:13 +00:00
auxarches_debugsources=\
'/(generic|linux|%{basearch}|nptl(_db)?)/|/%{glibcsrcdir}/build|/dl-osinfo\.h'
2013-07-24 11:58:38 +00:00
# Place the source files into the core debuginfo pakcage.
2007-08-10 01:55:13 +00:00
egrep "$auxarches_debugsources" debuginfocommon.sources >> debuginfo.filelist
2013-07-24 11:58:38 +00:00
# Remove the source files from the common debuginfo package.
2007-08-10 01:55:13 +00:00
egrep -v "$auxarches_debugsources" \
2008-03-05 10:32:39 +00:00
debuginfocommon.sources >> debuginfocommon.filelist
2007-08-10 01:55:13 +00:00
2013-07-25 02:45:11 +00:00
%endif # %{biarcharches}
2011-02-15 13:29:18 +00:00
2013-07-24 11:58:38 +00:00
# Add the list of *.a archives in the debug directory to
# the common debuginfo package.
2007-08-10 01:55:13 +00:00
list_debug_archives >> debuginfocommon.filelist
# It happens that find-debuginfo.sh produces duplicate entries even
# though the inputs are unique. Therefore we sort and unique the
# entries in the debug file lists. This avoids the following warnings:
# ~~~
# Processing files: glibc-debuginfo-common-2.17.90-10.fc20.x86_64
# warning: File listed twice: /usr/lib/debug/usr/sbin/build-locale-archive.debug
# warning: File listed twice: /usr/lib/debug/usr/sbin/nscd.debug
# warning: File listed twice: /usr/lib/debug/usr/sbin/zdump.debug
# warning: File listed twice: /usr/lib/debug/usr/sbin/zic.debug
# ~~~
sort -u debuginfocommon.filelist > debuginfocommon2.filelist
mv debuginfocommon2.filelist debuginfocommon.filelist
2013-07-24 11:58:38 +00:00
%endif # %{debuginfocommonarches}
# Remove any duplicates output by a buggy find-debuginfo.sh.
sort -u debuginfo.filelist > debuginfo2.filelist
mv debuginfo2.filelist debuginfo.filelist
# Remove some common directories from the common package debuginfo so that we
# don't end up owning them.
exclude_common_dirs()
{
exclude_dirs="%{_prefix}/src/debug"
exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug{,/%{_lib},/bin,/sbin})"
exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug%{_prefix}{,/%{_lib},/libexec,/bin,/sbin})"
for d in $(echo $exclude_dirs | sed 's/ /\n/g'); do
sed -i "\|^%%dir $d/\?$|d" $1
done
}
%ifarch %{debuginfocommonarches}
exclude_common_dirs debuginfocommon.filelist
%endif
exclude_common_dirs debuginfo.filelist
2013-07-24 11:58:38 +00:00
%endif # 0%{?_enable_debug_packages}
2007-08-10 01:55:13 +00:00
2013-07-24 11:58:38 +00:00
# Remove the `dir' info-heirarchy file which will be maintained
# by the system as it adds info files to the install.
2007-08-10 01:55:13 +00:00
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%ifarch %{auxarches}
2007-08-10 01:55:13 +00:00
2013-07-24 11:58:38 +00:00
# Delete files that we do not intended to ship with the auxarch.
echo Cutting down the list of unpackaged files
2007-08-10 01:55:13 +00:00
sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \
common.filelist devel.filelist static.filelist headers.filelist \
utils.filelist nscd.filelist \
%ifarch %{debuginfocommonarches}
debuginfocommon.filelist \
%endif
| (cd $RPM_BUILD_ROOT; xargs --no-run-if-empty rm -f 2> /dev/null || :)
2013-07-24 11:58:38 +00:00
%else
mkdir -p $RPM_BUILD_ROOT/var/{db,run}/nscd
touch $RPM_BUILD_ROOT/var/{db,run}/nscd/{passwd,group,hosts,services}
touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid}
2013-07-25 02:45:11 +00:00
%endif # %{auxarches}
2007-04-17 02:25:38 +00:00
%ifnarch %{auxarches}
2013-07-26 00:30:34 +00:00
truncate -s 0 $RPM_BUILD_ROOT/%{_prefix}/lib/locale/locale-archive
2007-04-17 02:25:38 +00:00
%endif
2007-07-31 18:18:37 +00:00
mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig
2013-07-26 00:30:34 +00:00
truncate -s 0 $RPM_BUILD_ROOT/var/cache/ldconfig/aux-cache
2007-07-31 18:18:37 +00:00
##############################################################################
# Run the glibc testsuite
##############################################################################
%check
%if %{run_glibc_tests}
# Run the glibc tests. If any tests fail to build we exit %check with an error
# of 1, otherwise we print the test failure list and the failed test output
# and exit with 0. In the future we want to compare against a baseline and
# exit with 1 if the results deviate from the baseline.
run_tests () {
truncate -s 0 check.log
tail -f check.log &
tailpid=$!
# Run the make a sub-shell (to avoid %check failing if make fails)
# but capture the status for use later. We use the normal sub-shell
# trick of printing the status. The actual result of the sub-shell
# is the successful execution of the echo.
status=$(set +e
make %{?_smp_mflags} check %{silentrules} > check.log 2>&1
status=$?
echo $status)
# Wait for the tail to catch up with the output and then kill it.
sleep 10
kill $tailpid
# Print the header, so we can find it, but skip the error printing
# if there aren't any failrues.
echo ===================FAILED TESTS=====================
if [ $status -ne 0 ]; then
# We are not running with `-k`, therefore a test build failure
# terminates the test run and that terminates %check with an
# error which terminates the build. We want this behaviour to
# ensure that all tests build, and all tests run.
# If the test result summary is not present it means one of
# tests failed to build.
if ! grep 'Summary of test results:' check.log; then
echo "FAIL: Some glibc tests failed to build."
exit 1
fi
# Print out information about all of the failed tests.
grep -e ^FAIL -e ^ERROR tests.sum \
| awk '{print $2}' \
| while read testcase;
do
echo "$testcase"
cat $testcase.out
echo -------------------------
done
fi
}
# Increase timeouts
export TIMEOUTFACTOR=16
parent=$$
echo ====================TESTING=========================
##############################################################################
# - Test the default runtime.
##############################################################################
pushd build-%{target}
run_tests
popd
##############################################################################
# - Test the xen runtimes (nosegneg).
##############################################################################
%if %{buildxen}
echo ====================TESTING -mno-tls-direct-seg-refs=============
pushd build-%{target}-nosegneg
run_tests
popd
%endif
##############################################################################
# - Test the power6 runtimes.
##############################################################################
%if %{buildpower6}
echo ====================TESTING -mcpu=power6=============
pushd build-%{target}-power6
if [ -d ../power6emul ]; then
export LD_PRELOAD=`cd ../power6emul; pwd`/\$LIB/power6emul.so
fi
run_tests
popd
%endif
echo ====================TESTING DETAILS=================
for i in `sed -n 's|^.*\*\*\* \[\([^]]*\.out\)\].*$|\1|p' build-*-linux*/check.log`; do
echo =====$i=====
cat $i || :
echo ============
done
echo ====================TESTING END=====================
PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p'
echo ====================PLT RELOCS LD.SO================
readelf -Wr $RPM_BUILD_ROOT/%{_lib}/ld-*.so | sed -n -e "$PLTCMD"
echo ====================PLT RELOCS LIBC.SO==============
readelf -Wr $RPM_BUILD_ROOT/%{_lib}/libc-*.so | sed -n -e "$PLTCMD"
echo ====================PLT RELOCS END==================
%if %{run_valgrind_tests}
# Finally, check if valgrind runs with the new glibc.
# We want to fail building if valgrind is not able to run with this glibc so
# that we can then coordinate with valgrind to get it fixed before we update
# glibc.
pushd build-%{target}
elf/ld.so --library-path .:elf:nptl:dlfcn /usr/bin/valgrind \
elf/ld.so --library-path .:elf:nptl:dlfcn /usr/bin/true
popd
%endif
%endif # %{run_glibc_tests}
2010-11-12 12:29:24 +00:00
%pre -p <lua>
-- Check that the running kernel is new enough
required = '%{enablekernel}'
2010-12-13 16:58:18 +00:00
rel = posix.uname("%r")
if rpm.vercmp(rel, required) < 0 then
error("FATAL: kernel too old", 0)
2010-11-12 12:29:24 +00:00
end
%post -p %{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu}
%postun -p /sbin/ldconfig
2011-07-14 13:53:14 +00:00
%triggerin common -p <lua> -- glibc
if posix.stat("%{_prefix}/lib/locale/locale-archive.tmpl", "size") > 0 then
pid = posix.fork()
if pid == 0 then
posix.exec("%{_prefix}/sbin/build-locale-archive")
elseif pid > 0 then
posix.wait(pid)
end
end
%post common -p <lua>
if posix.access("/etc/ld.so.cache") then
if posix.stat("%{_prefix}/lib/locale/locale-archive.tmpl", "size") > 0 then
pid = posix.fork()
if pid == 0 then
posix.exec("%{_prefix}/sbin/build-locale-archive")
elseif pid > 0 then
posix.wait(pid)
end
end
end
%post devel
2009-08-10 09:56:04 +00:00
/sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || :
%pre headers
# this used to be a link and it is causing nightmares now
if [ -L %{_prefix}/include/scsi ] ; then
2008-03-05 10:32:39 +00:00
rm -f %{_prefix}/include/scsi
fi
%preun devel
if [ "$1" = 0 ]; then
2009-08-10 09:56:04 +00:00
/sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || :
fi
%post utils -p /sbin/ldconfig
%postun utils -p /sbin/ldconfig
%pre -n nscd
2010-05-31 15:10:22 +00:00
getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd
getent passwd nscd >/dev/null ||
/usr/sbin/useradd -M -o -r -d / -s /sbin/nologin \
-c "NSCD Daemon" -u 28 -g nscd nscd
%post -n nscd
%systemd_post nscd.service
%preun -n nscd
%systemd_preun nscd.service
%postun -n nscd
2011-09-28 12:23:58 +00:00
if test $1 = 0; then
2008-03-05 10:32:39 +00:00
/usr/sbin/userdel nscd > /dev/null 2>&1 || :
fi
%systemd_postun_with_restart nscd.service
%if %{xenpackage}
%post xen -p /sbin/ldconfig
%postun xen -p /sbin/ldconfig
%endif
%clean
rm -rf "$RPM_BUILD_ROOT"
rm -f *.filelist*
%files -f rpm.filelist
%defattr(-,root,root)
%dir %{_prefix}/%{_lib}/audit
%ifarch %{rtkaioarches}
%dir /%{_lib}/rtkaio
%endif
%if %{buildxen} && !%{xenpackage}
%dir /%{_lib}/%{nosegneg_subdir_base}
%dir /%{_lib}/%{nosegneg_subdir}
%ifarch %{rtkaioarches}
%dir /%{_lib}/rtkaio/%{nosegneg_subdir_base}
%dir /%{_lib}/rtkaio/%{nosegneg_subdir}
%endif
%endif
%if %{buildpower6}
%dir /%{_lib}/power6
%dir /%{_lib}/power6x
%ifarch %{rtkaioarches}
%dir /%{_lib}/rtkaio/power6
%dir /%{_lib}/rtkaio/power6x
%endif
%endif
%ifarch s390x
/lib/ld64.so.1
%endif
2013-07-24 05:22:37 +00:00
%ifarch armv7hl armv7hnl
/lib/ld-linux.so.3
%endif
%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf
2010-06-15 08:43:24 +00:00
%verify(not md5 size mtime) %config(noreplace) /etc/rpc
%dir /etc/ld.so.conf.d
%dir %{_prefix}/libexec/getconf
%dir %{_libdir}/gconv
2007-07-31 18:18:37 +00:00
%dir %attr(0700,root,root) /var/cache/ldconfig
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
2010-10-14 10:30:32 +00:00
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf
%doc README NEWS INSTALL BUGS PROJECTS CONFORMANCE elf/rtld-debugger-interface.txt
2014-07-12 15:16:06 +00:00
%{!?_licensedir:%global license %%doc}
%license COPYING COPYING.LIB LICENSES
%doc hesiod/README.hesiod
%if %{xenpackage}
%files -f nosegneg.filelist xen
%defattr(-,root,root)
%dir /%{_lib}/%{nosegneg_subdir_base}
%dir /%{_lib}/%{nosegneg_subdir}
%endif
%ifnarch %{auxarches}
%files -f common.filelist common
%defattr(-,root,root)
2014-01-25 18:52:16 +00:00
%dir %{_prefix}/lib/locale
2007-07-31 18:18:37 +00:00
%attr(0644,root,root) %verify(not md5 size mtime) %{_prefix}/lib/locale/locale-archive.tmpl
%attr(0644,root,root) %verify(not md5 size mtime mode) %ghost %config(missingok,noreplace) %{_prefix}/lib/locale/locale-archive
%dir %attr(755,root,root) /etc/default
%verify(not md5 size mtime) %config(noreplace) /etc/default/nss
%doc documentation/*
%files -f devel.filelist devel
%defattr(-,root,root)
2009-02-18 20:47:04 +00:00
%files -f static.filelist static
%defattr(-,root,root)
%files -f headers.filelist headers
%defattr(-,root,root)
%files -f utils.filelist utils
%defattr(-,root,root)
%files -f nscd.filelist -n nscd
%defattr(-,root,root)
%config(noreplace) /etc/nscd.conf
%dir %attr(0755,root,root) /var/run/nscd
%dir %attr(0755,root,root) /var/db/nscd
/lib/systemd/system/nscd.service
/lib/systemd/system/nscd.socket
%{_tmpfilesdir}/nscd.conf
%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
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
%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
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/passwd
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/group
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services
%ghost %config(missingok,noreplace) /etc/sysconfig/nscd
%endif
2009-06-26 15:46:27 +00:00
%if 0%{?_enable_debug_packages}
%files debuginfo -f debuginfo.filelist
%defattr(-,root,root)
%ifarch %{debuginfocommonarches}
%ifnarch %{auxarches}
%files debuginfo-common -f debuginfocommon.filelist
%defattr(-,root,root)
%endif
%endif
%endif
%changelog
* Fri Dec 05 2014 Siddhesh Poyarekar <siddhesh@redhat.com> -.2.20.90-12
2014-12-05 07:45:57 +00:00
- Remove LIB_LANG since we don't install locales in /usr/lib/locale anymore.
- Don't own any directories in /usr/share/locale.
* Wed Dec 03 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.20.90-11
- aarch64: revert optimized strchrnul.S implementation (rhbz#1167501)
until it can be debugged.
2014-11-29 02:32:05 +00:00
* Fri Nov 28 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-10
- Auto-sync with upstream master.
2014-11-24 14:58:08 +00:00
* Wed Nov 19 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-9
- Sync with upstream master.
* Wed Nov 05 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-8
- Make getconf return only /usr/bin (#1138835).
2014-11-05 10:36:52 +00:00
- Sync with upstream master.
* Tue Nov 04 2014 Arjun Shankar <arjun.is@lostca.se> - 2.20.90-7
- Add patch that modifies several tests to use test-skeleton.c.
The patch is accepted but not yet committed upstream.
https://sourceware.org/ml/libc-alpha/2014-10/msg00744.html
* Tue Sep 30 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-6
2014-09-30 16:40:03 +00:00
- Sync with upstream master.
- Disable more Intel TSX usage in rwlocks (#1146967).
- Enable lock elision again on s390 and s390x.
- Enable Systemtap SDT probes for all architectures (#985109).
* Fri Sep 26 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-5
- Disable lock elision support for Intel hardware until microcode
updates can be done in early bootup (#1146967).
- Fix building test tst-strtod-round for ARM.
* Tue Sep 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-4
2014-09-23 17:28:21 +00:00
- Sync with upstream master.
- Don't own the common debuginfo directories (#1144853).
- Run valgrind in the %%check section to ensure that it does not break.
* Tue Sep 16 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-3
- Sync with upstream master.
- Revert patch for #737223.
* Mon Sep 08 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-2
- Build build-locale-archive statically again.
2014-09-08 07:02:01 +00:00
* Mon Sep 08 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-1
- Sync with upstream master.
* Thu Sep 4 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-36
- Allow up to 32 dlopened modules to use static TLS (#1124987).
- Run glibc tests in %%check section of RPM spec file.
- Do not run tests with `-k` and fail if any test fails to build.
* Tue Aug 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-35
- Sync with upstream master.
- Use INTERNAL_SYSCALL in TLS_INIT_TP (#1133134).
- Remove gconv loadable module transliteration support (CVE-2014-5119, #1119128).
* Fri Aug 22 2014 Dennis Gilmore <dennis@ausil.us> - 2.19.90-34
- add back sss to nsswitch.conf we have added workarounds in the tools
2014-08-21 17:48:00 +00:00
* Thu Aug 21 2014 Kevin Fenzi <kevin@scrye.com> - 2.19.90-33.1
- Rebuild for rpm bug 1131960
* Tue Aug 19 2014 Dennis Gilmore <dennis@ausil.us> - 2.19.90-33
- remove sss from default nsswitch.conf it causes issues with live image composing
* Wed Aug 13 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-32
- Auto-sync with upstream master.
- Revert to only defining __extern_always_inline for g++-4.3+.
- Fix build failure in compat-gcc-32 (#186410).
2014-07-28 18:55:03 +00:00
* Mon Jul 28 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-31
- Auto-sync with upstream master.
2014-07-23 08:34:08 +00:00
* Wed Jul 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-30
- Undo last master sync to fix up rawhide.
2014-07-15 16:43:48 +00:00
* Tue Jul 15 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-29
- Auto-sync with upstream master.
2014-07-12 15:16:06 +00:00
* Sat Jul 12 2014 Tom Callaway <spot@fedoraproject.org> - 2.19.90-28
- fix license handling
2014-07-07 17:05:01 +00:00
* Mon Jul 07 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-27
- Auto-sync with upstream master.
2014-07-04 18:30:22 +00:00
* Fri Jul 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-26
- Sync with upstream roland/nptl branch.
- Improve testsuite failure outputs in build.log
* Thu Jul 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-25
- Sync with upstream roland/nptl branch.
2014-07-02 10:45:02 +00:00
* Wed Jul 02 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-24
- Sync with upstream master.
2014-06-24 12:11:51 +00:00
* Tue Jun 24 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-23
- Sync with upstream master.
- Add fix to unbreak i386 ABI breakage due to a change in scalbn.
* Fri Jun 20 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.19.90-22
- AArch64: Save & restore NZCV (flags) upon entry to _dl_tlsdesc_dynamic
in order to work around GCC reordering compares across the TLS
descriptor sequence (GCC PR61545.) Committing a (temporary) fix here
allows us to avoid rebuilding the world with gcc 4.9.0-11.fc21.
2014-06-16 17:45:03 +00:00
* Mon Jun 16 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.19.90-21
- Auto-sync with upstream master.
2014-06-12 06:49:12 +00:00
* Thu Jun 12 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-20
- Auto-sync with upstream master.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.19.90-19.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-06-03 09:38:22 +00:00
* Tue Jun 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-19
- Sync with upstream master.
2014-05-26 07:55:00 +00:00
* Mon May 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-18
- Sync with upstream master.
- Adjust rtkaio patches to build with upstream master.
2014-05-26 07:55:00 +00:00
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-17
- Backport some upstream-wards patches to fix TLS issues on AArch64.
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-16
- AArch64: Fix handling of nocancel syscall failures (#1098327)
* Thu May 15 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-15
- Sync with upstream master.
* Wed May 14 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-14
- Add support for displaying all test results in build logs.
2014-05-14 07:21:29 +00:00
* Wed May 14 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-13
- Add initial support for ppc64le.
2014-04-29 09:28:45 +00:00
* Tue Apr 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-12
- Auto-sync with upstream master.
- Remove ports addon.
2014-04-29 09:28:45 +00:00
2014-04-18 06:44:38 +00:00
* Fri Apr 18 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-11
- Sync with upstream master.
* Thu Apr 10 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-10
- Sync with upstream master.
2014-04-03 11:38:52 +00:00
* Thu Apr 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-9
- Sync with upstream master.
2014-03-26 08:50:45 +00:00
* Wed Mar 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-8
- Sync with upstream master.
* Wed Mar 19 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-7
- Sync with upstream master.
- Fix offset computation for append+ mode on switching from read (#1078355).
* Wed Mar 12 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-6
- Sync with upstream master.
- Use cleaner upstream solution for -ftree-loop-distribute-patterns (#911307).
2014-03-04 17:50:27 +00:00
* Tue Mar 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-5
- Sync with upstream master.
* Thu Feb 27 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-4
- Use nscd service files from glibc sources.
- Make nscd service forking in systemd service file.
* Tue Feb 25 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-3
- Sync with upstream master.
- Separate ftell from fseek logic and avoid modifying FILE data (#1069559).
* Mon Feb 24 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-2
- Fix build-locale-archive failure to open default template.
* Tue Feb 18 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-1
- Sync with upstream master.
2014-02-04 07:47:38 +00:00
* Tue Feb 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-27
- Sync with upstream master.
* Wed Jan 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-26
- Modify regular expressions to include powerpcle stubs-*.h (#1058258).
2014-01-29 05:17:29 +00:00
* Wed Jan 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-25
- Sync with upstream master.
2014-01-29 05:17:29 +00:00
* Sat Jan 25 2014 Ville Skyttä <ville.skytta@iki.fi> - 2.18.90-24
2014-01-25 18:52:16 +00:00
- Own the %%{_prefix}/lib/locale dir.
2014-01-23 09:45:41 +00:00
* Thu Jan 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-23
- Sync with upstream master.
2014-01-16 06:33:18 +00:00
* Thu Jan 16 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-22
- Back out ftell test case (#1052846).
* Tue Jan 14 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-21
- Sync with upstream master.
- Fix infinite loop in ftell when writing wide char data (#1052846).
* Tue Jan 7 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-20
- Sync with upstream master.
- Enable systemtap probes on Power and S/390.