43aaa9
%define glibcsrcdir  glibc-2.22-536-g463ac90
Siddhesh Poyarekar daa5a4
%define glibcversion 2.22.90
43aaa9
%define glibcrelease 20%{?dist}
Siddhesh Poyarekar 581723
# Pre-release tarballs are pulled in from git using a command that is
Siddhesh Poyarekar 581723
# effectively:
Siddhesh Poyarekar 581723
#
Siddhesh Poyarekar 581723
# git archive HEAD --format=tar --prefix=$(git describe --match 'glibc-*')/ \
Siddhesh Poyarekar 581723
#	> $(git describe --match 'glibc-*').tar
Siddhesh Poyarekar 581723
# gzip -9 $(git describe --match 'glibc-*').tar
Siddhesh Poyarekar 581723
#
Siddhesh Poyarekar 581723
# glibc_release_url is only defined when we have a release tarball.
Siddhesh Poyarekar 35b750
# % define glibc_release_url http://ftp.gnu.org/gnu/glibc/
9abcef
##############################################################################
Carlos O'Donell 6e8e9f
# We support hte following options:
Carlos O'Donell 6e8e9f
# --with/--without,
Carlos O'Donell 6e8e9f
# * testsuite - Running the testsuite.
Carlos O'Donell 6e8e9f
# * benchtests - Running and building benchmark subpackage.
Carlos O'Donell 6e8e9f
# * bootstrap - Bootstrapping the package.
Carlos O'Donell 6e8e9f
# * werror - Build with -Werror
Carlos O'Donell 6e8e9f
# * docs - Build with documentation and the required dependencies.
Carlos O'Donell 6e8e9f
# * valgrind - Run smoke tests with valgrind to verify dynamic loader.
Carlos O'Donell 6e8e9f
#
Carlos O'Donell 6e8e9f
# You must always run the testsuite for production builds.
Carlos O'Donell 6e8e9f
# Default: Always run the testsuite.
Carlos O'Donell 6e8e9f
%bcond_without testsuite
Carlos O'Donell 6e8e9f
# Default: Always build the benchtests.
Carlos O'Donell 6e8e9f
%bcond_without benchtests
Carlos O'Donell 6e8e9f
# Default: Not bootstrapping.
Carlos O'Donell 6e8e9f
%bcond_with bootstrap
Carlos O'Donell 6e8e9f
# Default: Enable using -Werror
Carlos O'Donell 6e8e9f
%bcond_without werror
Carlos O'Donell 6e8e9f
# Default: Always build documentation.
Carlos O'Donell 6e8e9f
%bcond_without docs
Carlos O'Donell 6e8e9f
# Default: Always run valgrind tests
Carlos O'Donell 6e8e9f
%bcond_without valgrind
Carlos O'Donell 6e8e9f
Carlos O'Donell 6e8e9f
# Run a valgrind smoke test to ensure that the release is compatible and
Carlos O'Donell 6e8e9f
# doesn't any new feature that might cause valgrind to abort.
Carlos O'Donell 6e8e9f
%if %{with valgrind}
064765
%ifarch s390 ppc64 ppc64p7
Carlos O'Donell 6e8e9f
# There is no valgrind support for 31-bit s390.
064765
# The valgrind test does not work on ppc64, ppc64p7 (bug 1273103).
Carlos O'Donell 6e8e9f
%undefine with_valgrind
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
%if %{with werror}
be3e53
%ifarch s390 s390x
be3e53
# The s390 and s390x builds are not -Werror clean yet.  For s390, the
be3e53
# latest problem may be due to questionable code in test-string.h
be3e53
# (upstream bug 19261, rhbz#1283184).
Carlos O'Donell 6e8e9f
%undefine with_werror
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
%if %{with bootstrap}
Carlos O'Donell 6e8e9f
# Disable benchtests, -Werror, docs, and valgrind if we're bootstrapping
Carlos O'Donell 6e8e9f
%undefine with_benchtests
Carlos O'Donell 6e8e9f
%undefine with_werror
Carlos O'Donell 6e8e9f
%undefine with_docs
Carlos O'Donell 6e8e9f
%undefine with_valgrind
Siddhesh Poyarekar 5d3d5d
%endif
9abcef
##############################################################################
9abcef
# Auxiliary arches are those arches that can be built in addition
9abcef
# to the core supported arches. You either install an auxarch or
9abcef
# you install the base arch, not both. You would do this in order
9abcef
# to provide a more optimized version of the package for your arch.
c1407c
%define auxarches athlon alphaev6
9abcef
##############################################################################
Siddhesh Poyarekar 49b191
# Enable lock elision support for these architectures
Siddhesh Poyarekar 49b191
#
Siddhesh Poyarekar 49b191
# At the moment lock elision is disabled on x86_64 until there's a CPU that
Siddhesh Poyarekar 49b191
# would actually benefit from enabling it.  Intel released a microcode update
Siddhesh Poyarekar 49b191
# to disable HLE and RTM at boot and the Fedora kernel now applies it early
Siddhesh Poyarekar 49b191
# enough that keeping lock elision enabled should be harmless, but we have
Siddhesh Poyarekar 49b191
# disabled it anyway as a conservative measure.
Siddhesh Poyarekar 49b191
%define lock_elision_arches s390 s390x
Siddhesh Poyarekar 49b191
##############################################################################
9abcef
# We build a special package for Xen that includes TLS support with
9abcef
# no negative segment offsets for use with Xen guests. This is
9abcef
# purely an optimization for increased performance on those arches.
a9d8ca
%define xenarches i686 athlon
a9d8ca
%ifarch %{xenarches}
a9d8ca
%define buildxen 1
7ee799
%define xenpackage 0
a9d8ca
%else
a9d8ca
%define buildxen 0
a9d8ca
%define xenpackage 0
a9d8ca
%endif
9abcef
##############################################################################
9abcef
# For Power we actually support alternate runtimes in the same base package.
9abcef
# If we build for Power or Power64 we additionally build a power6 runtime that
9abcef
# is enabled by AT_HWCAPS selection and an alternate runtime directory.
18aa46
%ifarch ppc ppc64
18aa46
%define buildpower6 1
18aa46
%else
18aa46
%define buildpower6 0
18aa46
%endif
9abcef
##############################################################################
9abcef
# Any architecture/kernel combination that supports running 32-bit and 64-bit
9abcef
# code in userspace is considered a biarch arch.
98ddda
%define biarcharches %{ix86} x86_64 ppc %{power64} s390 s390x
9abcef
##############################################################################
9abcef
# If the debug information is split into two packages, the core debuginfo
9abcef
# pacakge and the common debuginfo package then the arch should be listed
9abcef
# here. If the arch is not listed here then a single core debuginfo package
9abcef
# will be created for the architecture.
Andreas Schwab 87a7e4
%define debuginfocommonarches %{biarcharches} alpha alphaev6
9abcef
##############################################################################
9abcef
# If the architecture has multiarch support in glibc then it should be listed
9abcef
# here to enable support in the build. Multiarch support is a single library
9abcef
# with implementations of certain functions for multiple architectures. The
9abcef
# most optimal function is selected at runtime based on the hardware that is
9abcef
# detected by glibc. The underlying support for function selection and
9abcef
# execution is provided by STT_GNU_IFUNC.
98ddda
%define multiarcharches ppc %{power64} %{ix86} x86_64 %{sparc}
9abcef
##############################################################################
b5a300
# Add -s for a less verbose build output.
b5a300
%define silentrules PARALLELMFLAGS=
9abcef
##############################################################################
9abcef
# %%package glibc - The GNU C Library (glibc) core package.
9abcef
##############################################################################
ffc48a
Summary: The GNU libc libraries
cvsdist c381c2
Name: glibc
Andreas Schwab 237bb9
Version: %{glibcversion}
Carlos O'Donell e63fda
Release: %{glibcrelease}
921482
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
921482
# Things that are linked directly into dynamically linked programs
921482
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
921482
# exception which allows linking it into any kind of programs or shared
921482
# libraries without restrictions.
921482
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
cvsdist c381c2
Group: System Environment/Libraries
Andreas Schwab 68ea17
URL: http://www.gnu.org/software/glibc/
f79eb1
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz
Siddhesh Poyarekar 17b00f
Source1: build-locale-archive.c
Siddhesh Poyarekar 17b00f
Source2: glibc_post_upgrade.c
Siddhesh Poyarekar 17b00f
Source3: libc-lock.h
Siddhesh Poyarekar 17b00f
Source4: nscd.conf
Siddhesh Poyarekar 17b00f
Source7: nsswitch.conf
Siddhesh Poyarekar 17b00f
Source8: power6emul.c
Siddhesh Poyarekar 67b30d
Source9: bench.mk
Siddhesh Poyarekar 67b30d
Source10: glibc-bench-compare
92f265
9abcef
##############################################################################
9abcef
# Start of glibc patches
9abcef
##############################################################################
92f265
# 0000-0999 for patches which are unlikely to ever go upstream or which
92f265
# have not been analyzed to see if they ought to go upstream yet.
bf6cb4
#
bf6cb4
# 1000-2000 for patches that are already upstream.
92f265
#
92f265
# 2000-3000 for patches that are awaiting upstream approval
92f265
#
92f265
# Yes, I realize this means some gratutious changes as patches to from
92f265
# one bucket to another, but I find this scheme makes it easier to track
92f265
# the upstream divergence and patches needing approval.
92f265
#
92f265
# Note that we can still apply the patches in any order we see fit, so
92f265
# the changes from one bucket to another won't necessarily result in needing
92f265
# to twiddle the patch because of dependencies on prior patches and the like.
92f265
92f265
6b3705
##############################################################################
92f265
#
6b3705
# Patches that are unlikely to go upstream or not yet analyzed.
92f265
#
6b3705
##############################################################################
665e71
665e71
# Configuration twiddle, not sure there's a good case to get upstream to
665e71
# change this.
Carlos O'Donell 33fde8
Patch0001: glibc-fedora-nscd.patch
92f265
Carlos O'Donell 33fde8
Patch0003: glibc-fedora-ldd.patch
dd8ae6
Carlos O'Donell 33fde8
Patch0004: glibc-fedora-ppc-unwind.patch
dd8ae6
dd8ae6
# Build info files in the source tree, then move to the build
dd8ae6
# tree so that they're identical for multilib builds
Carlos O'Donell 33fde8
Patch0005: glibc-rh825061.patch
dd8ae6
dd8ae6
# Horrible hack, never to be upstreamed.  Can go away once the world
dd8ae6
# has been rebuilt to use the new ld.so path.
Carlos O'Donell 33fde8
Patch0006: glibc-arm-hardfloat-3.patch
dd8ae6
92f265
# Needs to be sent upstream
Carlos O'Donell 33fde8
Patch0009: glibc-fedora-include-bits-ldbl.patch
92f265
0a2129
# All these were from the glibc-fedora.patch mega-patch and need another
0a2129
# round of reviewing.  Ideally they'll either be submitted upstream or
0a2129
# dropped.
Carlos O'Donell 33fde8
Patch0012: glibc-fedora-linux-tcsetattr.patch
Carlos O'Donell 33fde8
Patch0014: glibc-fedora-nptl-linklibc.patch
Carlos O'Donell 33fde8
Patch0015: glibc-fedora-localedef.patch
Carlos O'Donell 33fde8
Patch0016: glibc-fedora-i386-tls-direct-seg-refs.patch
Carlos O'Donell 33fde8
Patch0019: glibc-fedora-nis-rh188246.patch
Carlos O'Donell 33fde8
Patch0020: glibc-fedora-manual-dircategory.patch
Carlos O'Donell 33fde8
Patch0024: glibc-fedora-locarchive.patch
Carlos O'Donell 33fde8
Patch0025: glibc-fedora-streams-rh436349.patch
Carlos O'Donell 33fde8
Patch0028: glibc-fedora-localedata-rh61908.patch
Carlos O'Donell 33fde8
Patch0030: glibc-fedora-uname-getrlimit.patch
Carlos O'Donell 33fde8
Patch0031: glibc-fedora-__libc_multiple_libcs.patch
Carlos O'Donell 33fde8
Patch0033: glibc-fedora-elf-ORIGIN.patch
Carlos O'Donell 33fde8
Patch0034: glibc-fedora-elf-init-hidden_undef.patch
384f5b
43bff1
# Needs to be sent upstream.
43bff1
# Support mangling and demangling null pointers.
Carlos O'Donell 33fde8
Patch0037: glibc-rh952799.patch
6cfdaa
9c4147
# ARM: Accept that some objects marked hard ABI are now not because of a
9c4147
#      binutils bug.
Carlos O'Donell 33fde8
Patch0044: glibc-rh1009145.patch
9c4147
c2021d
# Allow applications to call pthread_atfork without libpthread.so.
Carlos O'Donell 33fde8
Patch0046: glibc-rh1013801.patch
c2021d
Carlos O'Donell 33fde8
Patch0047: glibc-nscd-sysconfig.patch
Siddhesh Poyarekar bdbcf8
f8be71
# Disable rwlock elision if --enable-lock-elision is not used.
Carlos O'Donell 33fde8
Patch0052: glibc-disable-rwlock-elision.patch
f8be71
Siddhesh Poyarekar b80bba
# confstr _CS_PATH should only return /usr/bin on Fedora since /bin is just a
Siddhesh Poyarekar b80bba
# symlink to it.
Carlos O'Donell 33fde8
Patch0053: glibc-cs-path.patch
Siddhesh Poyarekar b80bba
Carlos O'Donell 0457f6
# Fix -Warray-bounds warning for GCC5, likely PR/59124 or PR/66422.
Carlos O'Donell 0457f6
# See Fedora bug #1263817.
Carlos O'Donell 0457f6
Patch0054: glibc-res-hconf-gcc5.patch
Carlos O'Donell 0457f6
Patch0055: glibc-ld-ctype-gcc5.patch
Carlos O'Donell 0457f6
Patch0056: glibc-gethnamaddr-gcc5.patch
Carlos O'Donell 0457f6
Patch0057: glibc-dns-host-gcc5.patch
Carlos O'Donell 0457f6
Patch0058: glibc-bug-regex-gcc5.patch
Carlos O'Donell 0457f6
Carlos O'Donell 0457f6
# Add C.UTF-8 locale into /usr/lib/locale/
Carlos O'Donell 0457f6
Patch0059: glibc-c-utf8-locale.patch
Carlos O'Donell 0457f6
6b3705
##############################################################################
92f265
#
92f265
# Patches from upstream
92f265
#
6b3705
##############################################################################
6b3705
6b3705
##############################################################################
92f265
#
92f265
# Patches submitted, but not yet approved upstream.
6b3705
#
6b3705
##############################################################################
6b3705
#
92f265
# Each should be associated with a BZ.
92f265
# Obviously we're not there right now, but that's the goal
92f265
#
6b3705
0a2129
# http://sourceware.org/ml/libc-alpha/2012-12/msg00103.html
Carlos O'Donell 33fde8
Patch2007: glibc-rh697421.patch
92f265
Carlos O'Donell 33fde8
Patch2013: glibc-rh741105.patch
92f265
dd8ae6
# Upstream BZ 14247
Carlos O'Donell 33fde8
Patch2023: glibc-rh827510.patch
dd8ae6
200aeb
# Upstream BZ 14185
Carlos O'Donell 33fde8
Patch2027: glibc-rh819430.patch
Siddhesh Poyarekar 70cc4d
Carlos O'Donell 33fde8
Patch2031: glibc-rh1070416.patch
Siddhesh Poyarekar 52f69e
Carlos O'Donell 33fde8
Patch2033: glibc-aarch64-tls-fixes.patch
Carlos O'Donell 33fde8
Patch2034: glibc-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch
Kyle McMartin b39b86
dbf5f7
# Upstream BZ 18568
dbf5f7
Patch2101: glibc-rh1238412-remove-duplicate-transliterations.patch
dbf5f7
Patch2102: glibc-rh1238412-addition-and-fixes-for-translit_neutral.patch
dbf5f7
Patch2103: glibc-rh1238412-update-the-translit-files-to-unicode-7.0.0.patch
dbf5f7
Patch2104: glibc-rh1238412-add-translit-rules-for-da-nb-nn-sv-locales.patch
dbf5f7
Patch2105: glibc-rh1238412-unicode-8.0.0-update.patch
dbf5f7
9abcef
##############################################################################
Siddhesh Poyarekar 67b30d
#
Siddhesh Poyarekar 67b30d
# Benchmark comparison patches.
Siddhesh Poyarekar 67b30d
#
Siddhesh Poyarekar 67b30d
##############################################################################
Carlos O'Donell 33fde8
Patch3002: glibc-bench-build.patch
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
##############################################################################
9abcef
# End of glibc patches.
9abcef
##############################################################################
200aeb
9abcef
##############################################################################
9abcef
# Continued list of core "glibc" package information:
9abcef
##############################################################################
ffc48a
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ffc48a
Obsoletes: glibc-profile < 2.4
Andreas Schwab 538b3c
Obsoletes: nss_db
cvsdist c381c2
Provides: ldconfig
9abcef
754fe3
# The dynamic linker supports DT_GNU_HASH
754fe3
Provides: rtld(GNU_HASH)
69de14
69de14
# This is a short term need until everything is rebuilt in the ARM world
69de14
# to use the new dynamic linker path
69de14
%ifarch armv7hl armv7hnl
69de14
Provides: ld-linux.so.3
69de14
Provides: ld-linux.so.3(GLIBC_2.4)
69de14
%endif
69de14
cvsdist c381c2
Requires: glibc-common = %{version}-%{release}
9abcef
cvsdist c381c2
# Require libgcc in case some program calls pthread_cancel in its %%post
ffc48a
Requires(pre): basesystem, libgcc
9abcef
cvsdist e8590c
# This is for building auxiliary programs like memusage, nscd
cvsdist c381c2
# For initial glibc bootstraps it can be commented out
Carlos O'Donell 6e8e9f
BuildRequires: gd-devel libpng-devel zlib-devel
Carlos O'Donell 6e8e9f
%if %{with docs}
Carlos O'Donell 6e8e9f
# Removing texinfo will cause check-safety.sh test to fail because it seems to
Carlos O'Donell 6e8e9f
# trigger documentation generation based on dependencies.  We need to fix this
Carlos O'Donell 6e8e9f
# upstream in some way that doesn't depend on generating docs to validate the
Carlos O'Donell 6e8e9f
# texinfo.  I expect it's simply the wrong dependency for that target.
Carlos O'Donell 6e8e9f
BuildRequires: texinfo
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
%if %{without bootstrap}
Carlos O'Donell 6e8e9f
BuildRequires: libselinux-devel >= 1.33.4-3
Carlos O'Donell 6e8e9f
BuildRequires: nss-devel
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext
Carlos O'Donell 0457f6
# We need procps-ng (/bin/ps), util-linux (/bin/kill), and gawk (/bin/awk),
Carlos O'Donell 0457f6
# but it is more flexible to require the actual programs and let rpm infer
Carlos O'Donell 0457f6
# the packages. However, until bug 1259054 is widely fixed we avoid the
Carlos O'Donell 0457f6
# following:
Carlos O'Donell 0457f6
# BuildRequires: /bin/ps, /bin/kill, /bin/awk
Carlos O'Donell 0457f6
# And use instead (which should be reverted some time in the future):
Carlos O'Donell 0457f6
BuildRequires: procps-ng, util-linux, gawk
Andreas Schwab c883c1
BuildRequires: systemtap-sdt-devel
9abcef
Carlos O'Donell 6e8e9f
%if %{with valgrind}
Carlos O'Donell 0457f6
# Require valgrind for smoke testing the dynamic loader to make sure we
Carlos O'Donell 0457f6
# have not broken valgrind.
Siddhesh Poyarekar e9a7f4
BuildRequires: /usr/bin/valgrind
Siddhesh Poyarekar e9a7f4
%endif
Siddhesh Poyarekar e9a7f4
Siddhesh Poyarekar 944ed5
# We use systemd rpm macros for nscd
Siddhesh Poyarekar 944ed5
BuildRequires: systemd
Siddhesh Poyarekar 944ed5
37b7df
# We use python for the microbenchmarks
37b7df
BuildRequires: python
37b7df
cvsdist c381c2
# This is to ensure that __frame_state_for is exported by glibc
cvsdist c381c2
# will be compatible with egcs 1.x.y
ffc48a
BuildRequires: gcc >= 3.2
Andreas Schwab 808daf
%define enablekernel 2.6.32
Andreas Schwab 98c76a
Conflicts: kernel < %{enablekernel}
Andreas Schwab 444e2c
%define target %{_target_cpu}-redhat-linux
Andreas Schwab 444e2c
%ifarch %{arm}
Andreas Schwab 444e2c
%define target %{_target_cpu}-redhat-linuxeabi
cvsdist 7abcfd
%endif
98ddda
%ifarch %{power64}
cffaeb
%ifarch ppc64le
cffaeb
%define target ppc64le-redhat-linux
cffaeb
%else
98ddda
%define target ppc64-redhat-linux
98ddda
%endif
cffaeb
%endif
9abcef
Andreas Schwab 237bb9
%ifarch %{multiarcharches}
Andreas Schwab 237bb9
# Need STT_IFUNC support
98ddda
%ifarch ppc %{power64}
Andreas Schwab 2c5bbb
BuildRequires: binutils >= 2.20.51.0.2
Andreas Schwab 2c5bbb
Conflicts: binutils < 2.20.51.0.2
Andreas Schwab 2c5bbb
%else
1939ba
%ifarch s390 s390x
1939ba
# Needed for STT_GNU_IFUNC support for s390/390x
1939ba
BuildRequires: binutils >= 2.23.52.0.1-8
1939ba
Conflicts: binutils < 2.23.52.0.1-8
1939ba
%else
1939ba
# Default to this version
Andreas Schwab 237bb9
BuildRequires: binutils >= 2.19.51.0.10
Andreas Schwab 6c0e60
Conflicts: binutils < 2.19.51.0.10
Andreas Schwab 2c5bbb
%endif
1939ba
%endif
Andreas Schwab 677ba7
# Earlier releases have broken support for IRELATIVE relocations
Andreas Schwab 677ba7
Conflicts: prelink < 0.4.2
Andreas Schwab 237bb9
%else
Andreas Schwab 677ba7
# Need AS_NEEDED directive
Andreas Schwab 677ba7
# Need --hash-style=* support
eda216
BuildRequires: binutils >= 2.17.50.0.2-5
Andreas Schwab 237bb9
%endif
9abcef
cvsdist c381c2
BuildRequires: gcc >= 3.2.1-5
57d2c5
%ifarch ppc s390 s390x
57d2c5
BuildRequires: gcc >= 4.1.0-0.17
57d2c5
%endif
Andreas Schwab 237bb9
%if 0%{?_enable_debug_packages}
ffc48a
BuildRequires: elfutils >= 0.72
ffc48a
BuildRequires: rpm >= 4.2-0.56
cvsdist c381c2
%endif
9abcef
Carlos O'Donell 6e8e9f
# The testsuite builds static C++ binaries that require a C++ compiler
Carlos O'Donell 6e8e9f
# and static C++ runtime from libstdc++-static.
Carlos O'Donell 6e8e9f
BuildRequires: gcc-c++
dbc262
BuildRequires: libstdc++-static
dbc262
9abcef
# Filter out all GLIBC_PRIVATE symbols since they are internal to
8c7b7c
# the package and should not be examined by any other tool.
Andreas Schwab 96f2a7
%global __filter_GLIBC_PRIVATE 1
cvsdist c381c2
cvsdist c381c2
%description
cvsdist c381c2
The glibc package contains standard libraries which are used by
cvsdist c381c2
multiple programs on the system. In order to save disk space and
cvsdist c381c2
memory, as well as to make upgrading easier, common system code is
cvsdist c381c2
kept in one place and shared between programs. This particular package
cvsdist c381c2
contains the most important sets of shared libraries: the standard C
cvsdist c381c2
library and the standard math library. Without these two libraries, a
cvsdist c381c2
Linux system will not function.
cvsdist c381c2
9abcef
##############################################################################
9abcef
# glibc "xen" sub-package
9abcef
##############################################################################
a9d8ca
%if %{xenpackage}
a9d8ca
%package xen
a9d8ca
Summary: The GNU libc libraries (optimized for running under Xen)
a9d8ca
Group: System Environment/Libraries
a9d8ca
Requires: glibc = %{version}-%{release}, glibc-utils = %{version}-%{release}
a9d8ca
a9d8ca
%description xen
a9d8ca
The standard glibc package is optimized for native kernels and does not
a9d8ca
perform as well under the Xen hypervisor.  This package provides alternative
a9d8ca
library binaries that will be selected instead when running under Xen.
a9d8ca
a9d8ca
Install glibc-xen if you might run your system under the Xen hypervisor.
a9d8ca
%endif
a9d8ca
9abcef
##############################################################################
9abcef
# glibc "devel" sub-package
9abcef
##############################################################################
cvsdist c381c2
%package devel
cvsdist c381c2
Summary: Object files for development using standard C libraries.
cvsdist c381c2
Group: Development/Libraries
ffc48a
Requires(pre): /sbin/install-info
Andreas Schwab 237bb9
Requires(pre): %{name}-headers
Andreas Schwab 237bb9
Requires: %{name}-headers = %{version}-%{release}
ffc48a
Requires: %{name} = %{version}-%{release}
cvsdist c381c2
cvsdist c381c2
%description devel
cvsdist c381c2
The glibc-devel package contains the object files necessary
cvsdist c381c2
for developing programs which use the standard C libraries (which are
cvsdist c381c2
used by nearly all programs).  If you are developing programs which
cvsdist c381c2
will use the standard C libraries, your system needs to have these
cvsdist c381c2
standard object files available in order to create the
cvsdist c381c2
executables.
cvsdist c381c2
cvsdist c381c2
Install glibc-devel if you are going to develop programs which will
cvsdist c381c2
use the standard C libraries.
cvsdist c381c2
9abcef
##############################################################################
9abcef
# glibc "static" sub-package
9abcef
##############################################################################
65bf1c
%package static
65bf1c
Summary: C library static libraries for -static linking.
65bf1c
Group: Development/Libraries
65bf1c
Requires: %{name}-devel = %{version}-%{release}
65bf1c
65bf1c
%description static
65bf1c
The glibc-static package contains the C library static libraries
65bf1c
for -static linking.  You don't need these, unless you link statically,
65bf1c
which is highly discouraged.
65bf1c
9abcef
##############################################################################
9abcef
# glibc "headers" sub-package
Carlos O'Donell e63fda
# - The headers package includes all common headers that are shared amongst
Carlos O'Donell e63fda
#   the multilib builds. It was created to reduce the download size, and
Carlos O'Donell e63fda
#   thus avoid downloading one header package per multilib. The package is
Carlos O'Donell e63fda
#   identical both in content and file list, any difference is an error.
Carlos O'Donell e63fda
#   Files like gnu/stubs.h which have gnu/stubs-32.h (i686) and gnu/stubs-64.h
Carlos O'Donell e63fda
#   are included in glibc-headers, but the -32 and -64 files are in their
Carlos O'Donell e63fda
#   respective i686 and x86_64 devel packages.
9abcef
##############################################################################
cvsdist c381c2
%package headers
cvsdist c381c2
Summary: Header files for development using standard C libraries.
cvsdist c381c2
Group: Development/Libraries
cvsdist c381c2
Provides: %{name}-headers(%{_target_cpu})
cvsdist c381c2
%ifarch x86_64
cvsdist c381c2
# If both -m32 and -m64 is to be supported on AMD64, x86_64 glibc-headers
65bf1c
# have to be installed, not i586 ones.
65bf1c
Obsoletes: %{name}-headers(i586)
Andreas Schwab 50a003
Obsoletes: %{name}-headers(i686)
cvsdist c381c2
%endif
ffc48a
Requires(pre): kernel-headers
4465bb
Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release}
209436
BuildRequires: kernel-headers >= 2.6.22
cvsdist c381c2
cvsdist c381c2
%description headers
cvsdist c381c2
The glibc-headers package contains the header files necessary
cvsdist c381c2
for developing programs which use the standard C libraries (which are
cvsdist c381c2
used by nearly all programs).  If you are developing programs which
cvsdist c381c2
will use the standard C libraries, your system needs to have these
cvsdist c381c2
standard header files available in order to create the
cvsdist c381c2
executables.
cvsdist c381c2
cvsdist c381c2
Install glibc-headers if you are going to develop programs which will
cvsdist c381c2
use the standard C libraries.
cvsdist c381c2
9abcef
##############################################################################
9abcef
# glibc "common" sub-package
9abcef
##############################################################################
cvsdist c381c2
%package common
cvsdist c381c2
Summary: Common binaries and locale data for glibc
e5e8f7
Requires: %{name} = %{version}-%{release}
cvsdist c381c2
Requires: tzdata >= 2003a
cvsdist c381c2
Group: System Environment/Base
cvsdist c381c2
cvsdist c381c2
%description common
cvsdist c381c2
The glibc-common package includes common binaries for the GNU libc
cvsdist c381c2
libraries, as well as national language (locale) support.
cvsdist c381c2
9abcef
##############################################################################
9abcef
# glibc "nscd" sub-package
9abcef
##############################################################################
cvsdist c381c2
%package -n nscd
cvsdist c381c2
Summary: A Name Service Caching Daemon (nscd).
cvsdist c381c2
Group: System Environment/Daemons
Andreas Schwab d047b3
Requires: %{name} = %{version}-%{release}
Carlos O'Donell 6e8e9f
%if %{with bootstrap}
Carlos O'Donell 6e8e9f
Requires: libselinux >= 1.17.10-1
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
Requires: audit-libs >= 1.1.3
Andreas Schwab 389eed
Requires(pre): /usr/sbin/useradd, coreutils
Siddhesh Poyarekar a383e7
Requires(post): systemd
Siddhesh Poyarekar a383e7
Requires(preun): systemd
Siddhesh Poyarekar a383e7
Requires(postun): systemd, /usr/sbin/userdel
cvsdist c381c2
cvsdist c381c2
%description -n nscd
cvsdist c381c2
Nscd caches name service lookups and can dramatically improve
f90fe5
performance with NIS+, and may help with DNS as well.
cvsdist c381c2
9abcef
##############################################################################
9abcef
# glibc "utils" sub-package
9abcef
##############################################################################
cvsdist c381c2
%package utils
cvsdist c381c2
Summary: Development utilities from GNU C library
cvsdist c381c2
Group: Development/Tools
ffc48a
Requires: %{name} = %{version}-%{release}
cvsdist c381c2
cvsdist c381c2
%description utils
cvsdist c381c2
The glibc-utils package contains memusage, a memory usage profiler,
cvsdist c381c2
mtrace, a memory leak tracer and xtrace, a function call tracer
cvsdist c381c2
which can be helpful during program debugging.
cvsdist c381c2
cvsdist c381c2
If unsure if you need this, don't install this package.
cvsdist c381c2
8c7b7c
##############################################################################
8c7b7c
# glibc core "debuginfo" sub-package
8c7b7c
##############################################################################
Andreas Schwab 237bb9
%if 0%{?_enable_debug_packages}
cvsdist c381c2
%define debug_package %{nil}
e74e80
%define __debug_install_post %{nil}
e74e80
%global __debug_package 1
cvsdist c381c2
cvsdist c381c2
%package debuginfo
cvsdist c381c2
Summary: Debug information for package %{name}
cvsdist c381c2
Group: Development/Debug
e0b449
AutoReqProv: no
cvsdist c381c2
%ifarch %{debuginfocommonarches}
cvsdist c381c2
Requires: glibc-debuginfo-common = %{version}-%{release}
Andreas Schwab 50a003
%else
c1407c
%ifarch %{ix86} %{sparc}
Andreas Schwab 50a003
Obsoletes: glibc-debuginfo-common
Andreas Schwab 50a003
%endif
cvsdist c381c2
%endif
cvsdist c381c2
cvsdist c381c2
%description debuginfo
cvsdist c381c2
This package provides debug information for package %{name}.
cvsdist c381c2
Debug information is useful when developing applications that use this
cvsdist c381c2
package or when debugging this package.
cvsdist c381c2
cvsdist ce0910
This package also contains static standard C libraries with
cvsdist ce0910
debugging information.  You need this only if you want to step into
cvsdist ce0910
C library routines during debugging programs statically linked against
cvsdist ce0910
one or more of the standard C libraries.
cvsdist ce0910
To use this debugging information, you need to link binaries
0d1d15
with -static -L%{_prefix}/lib/debug%{_libdir} compiler options.
cvsdist ce0910
9abcef
##############################################################################
9abcef
# glibc common "debuginfo-common" sub-package
9abcef
##############################################################################
cvsdist c381c2
%ifarch %{debuginfocommonarches}
cvsdist c381c2
cvsdist c381c2
%package debuginfo-common
cvsdist c381c2
Summary: Debug information for package %{name}
cvsdist c381c2
Group: Development/Debug
e0b449
AutoReqProv: no
cvsdist c381c2
cvsdist c381c2
%description debuginfo-common
cvsdist c381c2
This package provides debug information for package %{name}.
cvsdist c381c2
Debug information is useful when developing applications that use this
cvsdist c381c2
package or when debugging this package.
cvsdist c381c2
9abcef
%endif # %{debuginfocommonarches}
9abcef
%endif # 0%{?_enable_debug_packages}
cvsdist c381c2
Carlos O'Donell 6e8e9f
%if %{with benchtests}
Siddhesh Poyarekar 67b30d
%package benchtests
Siddhesh Poyarekar 67b30d
Summary: Benchmarking binaries and scripts for %{name}
Siddhesh Poyarekar 67b30d
Group: Development/Debug
Siddhesh Poyarekar 67b30d
%description benchtests
Siddhesh Poyarekar 67b30d
This package provides built benchmark binaries and scripts to run
Siddhesh Poyarekar 67b30d
microbenchmark tests on the system.
Siddhesh Poyarekar 67b30d
%endif
Siddhesh Poyarekar 67b30d
9abcef
##############################################################################
9abcef
# Prepare for the build.
9abcef
##############################################################################
cvsdist c381c2
%prep
078b76
# Log system information
078b76
uname -a
078b76
cat /proc/cpuinfo
078b76
cat /proc/meminfo
078b76
Siddhesh Poyarekar 17b00f
%setup -q -n %{glibcsrcdir}
92f265
Carlos O'Donell 6e8e9f
# Patch order matters.
665e71
%patch0001 -p1
dd8ae6
%patch0003 -p1
dd8ae6
%patch0004 -p1
f7dfce
%patch0005 -p1
dd8ae6
%patch0006 -p1
0a2129
%patch2007 -p1
f7dfce
%patch0009 -p1
03545a
%patch0012 -p1
fdfcf2
%patch2013 -p1
a7ee17
%patch0014 -p1
4e1a9e
%patch0015 -p1
4e1a9e
%patch0016 -p1
9625d8
%patch0019 -p1
9625d8
%patch0020 -p1
24dc56
%patch2023 -p1
9625d8
%patch0024 -p1
e78194
%patch0025 -p1
dd8ae6
%patch2027 -p1
e3a9f6
%patch0028 -p1
f6de48
%patch0030 -p1
fb633e
%patch0031 -p1
fb633e
%patch0033 -p1
fb633e
%patch0034 -p1
7f6542
%patch0037 -p1
9c4147
%patch0044 -p1
c2021d
%patch0046 -p1
Siddhesh Poyarekar bdbcf8
%patch2031 -p1
Siddhesh Poyarekar bdbcf8
%patch0047 -p1
Kyle McMartin b39b86
%patch2033 -p1
Kyle McMartin b66a13
%patch2034 -p1
f8be71
%patch0052 -p1
Siddhesh Poyarekar b80bba
%patch0053 -p1
Siddhesh Poyarekar 67b30d
%patch3002 -p1
dbf5f7
%patch2101 -p1
dbf5f7
%patch2102 -p1
dbf5f7
%patch2103 -p1
dbf5f7
%patch2104 -p1
dbf5f7
%patch2105 -p1
Carlos O'Donell 0457f6
%patch0054 -p1
Carlos O'Donell 0457f6
%patch0055 -p1
Carlos O'Donell 0457f6
%patch0056 -p1
Carlos O'Donell 0457f6
%patch0057 -p1
Carlos O'Donell 0457f6
%patch0058 -p1
Carlos O'Donell 0457f6
%patch0059 -p1
dbf5f7
9abcef
##############################################################################
9abcef
# %%prep - Additional prep required...
9abcef
##############################################################################
9abcef
9abcef
# XXX: This sounds entirely out of date, particularly in light of the fact
9abcef
#      that we want to be building newer Power support. We should review this
9abcef
#      and potentially remove this workaround. However it will require
9abcef
#      determining which arches we support building for on our distributions.
9abcef
# ~~~
8126ba
# On powerpc32, hp timing is only available in power4/power6
8126ba
# libs, not in base, so pre-power4 dynamic linker is incompatible
8126ba
# with power6 libs.
9abcef
# ~~~
b63a79
%if %{buildpower6}
8126ba
rm -f sysdeps/powerpc/powerpc32/power4/hp-timing.[ch]
8126ba
%endif
cvsdist c381c2
Siddhesh Poyarekar 67b30d
# Make benchmark scripts executable
Siddhesh Poyarekar 67b30d
chmod +x benchtests/scripts/*.py scripts/pylint
Siddhesh Poyarekar 67b30d
9abcef
# Remove all files generated from patching.
cvsdist c381c2
find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
9abcef
9abcef
# Ensure timestamps on configure files are current to prevent
9abcef
# regenerating them.
cvsdist c381c2
touch `find . -name configure`
9abcef
9abcef
# Ensure *-kw.h files are current to prevent regenerating them.
da64ee
touch locale/programs/*-kw.h
cvsdist c381c2
9abcef
##############################################################################
9abcef
# Build glibc...
9abcef
##############################################################################
cvsdist c381c2
%build
9abcef
8c7b7c
# We build using the native system compilers.
cvsdist c381c2
GCC=gcc
e1fb04
GXX=g++
9abcef
9abcef
##############################################################################
9abcef
# %%build - x86 options.
9abcef
##############################################################################
9abcef
# On x86 we build for the specific target cpu rpm is using.
cvsdist c381c2
%ifarch %{ix86}
Andreas Schwab 444e2c
BuildFlags="-march=%{_target_cpu} -mtune=generic"
cvsdist c381c2
%endif
b5a300
# We don't support building for i386. The generic i386 architecture lacks the
b5a300
# atomic primitives required for NPTL support. However, when a user asks to
bf6cb4
# build for i386 we interpret that as "for whatever works on x86" and we
b5a300
# select i686. Thus we treat i386 as an alias for i686.
b5a300
%ifarch i386 i686
52b0ac
BuildFlags="-march=i686 -mtune=generic"
aa6813
%endif
b5a300
%ifarch i486 i586
35a1d0
BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
35a1d0
%endif
a18e83
%ifarch x86_64
52b0ac
BuildFlags="-mtune=generic"
a18e83
%endif
9abcef
9abcef
##############################################################################
9abcef
# %%build - SPARC options.
9abcef
##############################################################################
cvsdist c381c2
%ifarch sparc
cvsdist c381c2
BuildFlags="-fcall-used-g6"
cvsdist c381c2
GCC="gcc -m32"
e1fb04
GXX="g++ -m32"
cvsdist c381c2
%endif
cvsdist c381c2
%ifarch sparcv9
cvsdist c381c2
BuildFlags="-mcpu=ultrasparc -fcall-used-g6"
cvsdist c381c2
GCC="gcc -m32"
e1fb04
GXX="g++ -m32"
cvsdist c381c2
%endif
bd0855
%ifarch sparcv9v
bd0855
BuildFlags="-mcpu=niagara -fcall-used-g6"
bd0855
GCC="gcc -m32"
bd0855
GXX="g++ -m32"
bd0855
%endif
cvsdist c381c2
%ifarch sparc64
cvsdist c381c2
BuildFlags="-mcpu=ultrasparc -mvis -fcall-used-g6"
cvsdist c381c2
GCC="gcc -m64"
e1fb04
GXX="g++ -m64"
cvsdist c381c2
%endif
bd0855
%ifarch sparc64v
bd0855
BuildFlags="-mcpu=niagara -mvis -fcall-used-g6"
bd0855
GCC="gcc -m64"
bd0855
GXX="g++ -m64"
bd0855
%endif
98ddda
%ifarch %{power64}
a7ee17
BuildFlags=""
cvsdist c381c2
GCC="gcc -m64"
e1fb04
GXX="g++ -m64"
cvsdist c381c2
%endif
cvsdist c381c2
9abcef
##############################################################################
9abcef
# %%build - Generic options.
9abcef
##############################################################################
25b38c
BuildFlags="$BuildFlags -fasynchronous-unwind-tables"
Andreas Schwab c57ebc
# Add -DNDEBUG unless using a prerelease
Andreas Schwab c57ebc
case %{version} in
Andreas Schwab c57ebc
  *.*.9[0-9]*) ;;
Andreas Schwab 96d4f4
  *)
Andreas Schwab c57ebc
     BuildFlags="$BuildFlags -DNDEBUG"
Andreas Schwab c57ebc
     ;;
Andreas Schwab c57ebc
esac
cvsdist c381c2
EnableKernel="--enable-kernel=%{enablekernel}"
9abcef
# Save the used compiler and options into the file "Gcc" for use later
9abcef
# by %%install.
2f520c
echo "$GCC" > Gcc
Carlos O'Donell 6e8e9f
AddOns=`echo */configure | sed -e 's!/configure!!g;s!\(nptl\|powerpc-cpu\)\( \|$\)!!g;s! \+$!!;s! !,!g;s!^!,!;/^,\*$/d'`
cvsdist ce0910
9abcef
##############################################################################
9abcef
# build()
9abcef
#	Build glibc in `build-%{target}$1', passing the rest of the arguments
9abcef
#	as CFLAGS to the build (not the same as configure CFLAGS). Several
9abcef
#	global values are used to determine build flags, add-ons, kernel
9abcef
#	version, multiarch support, system tap support, etc.
9abcef
##############################################################################
Andreas Schwab 444e2c
build()
a9d8ca
{
d4d7ef
	builddir=build-%{target}${1:+-$1}
d4d7ef
	${1+shift}
d4d7ef
	rm -rf $builddir
d4d7ef
	mkdir $builddir
d4d7ef
	pushd $builddir
d4d7ef
	build_CFLAGS="$BuildFlags -g -O3 $*"
d4d7ef
	# Some configure checks can spuriously fail for some architectures if
d4d7ef
	# unwind info is present
d4d7ef
	configure_CFLAGS="$build_CFLAGS -fno-asynchronous-unwind-tables"
d4d7ef
	../configure CC="$GCC" CXX="$GXX" CFLAGS="$configure_CFLAGS" \
d4d7ef
		--prefix=%{_prefix} \
Siddhesh Poyarekar c96b7f
		--enable-add-ons=$AddOns \
d4d7ef
		--with-headers=%{_prefix}/include $EnableKernel --enable-bind-now \
d4d7ef
		--build=%{target} \
Andreas Schwab 237bb9
%ifarch %{multiarcharches}
d4d7ef
		--enable-multi-arch \
Andreas Schwab 237bb9
%endif
d4d7ef
		--enable-obsolete-rpc \
d4d7ef
		--enable-systemtap \
98ddda
%ifarch ppc64p7
d4d7ef
		--with-cpu=power7 \
98ddda
%endif
Siddhesh Poyarekar 49b191
%ifarch %{lock_elision_arches}
Siddhesh Poyarekar 49b191
		--enable-lock-elision \
Siddhesh Poyarekar 49b191
%endif
Carlos O'Donell 6e8e9f
%if %{without werror}
Carlos O'Donell 6e8e9f
		--disable-werror \
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
		--disable-profile \
Carlos O'Donell 6e8e9f
%if %{with bootstrap}
Carlos O'Donell 6e8e9f
		--without-selinux \
Carlos O'Donell 6e8e9f
		--disable-nss-crypt ||
Carlos O'Donell 6e8e9f
%else
Carlos O'Donell 6e8e9f
		--enable-nss-crypt ||
Siddhesh Poyarekar 5d3d5d
%endif
d4d7ef
		{ cat config.log; false; }
Andreas Schwab f81c27
d4d7ef
	make %{?_smp_mflags} -r CFLAGS="$build_CFLAGS" %{silentrules}
d4d7ef
	popd
a9d8ca
}
a9d8ca
9abcef
##############################################################################
9abcef
# Build glibc for the default set of options.
9abcef
##############################################################################
Andreas Schwab 444e2c
build
a9d8ca
9abcef
##############################################################################
9abcef
# Build glibc for xen:
9abcef
# If we support xen build glibc again for xen support.
9abcef
##############################################################################
a9d8ca
%if %{buildxen}
Andreas Schwab 444e2c
build nosegneg -mno-tls-direct-seg-refs
a9d8ca
%endif
5a7053
9abcef
##############################################################################
9abcef
# Build glibc for power6:
9abcef
# If we support building a power6 alternate runtime then built glibc again for
9abcef
# power6.
9abcef
# XXX: We build in a sub-shell for no apparent reason.
9abcef
##############################################################################
18aa46
%if %{buildpower6}
18aa46
(
d4d7ef
	platform=`LD_SHOW_AUXV=1 /bin/true | sed -n 's/^AT_PLATFORM:[[:blank:]]*//p'`
d4d7ef
	if [ "$platform" != power6 ]; then
2eb150
		mkdir -p power6emul/{lib,lib64}
Siddhesh Poyarekar 17b00f
		$GCC -shared -O2 -fpic -o power6emul/%{_lib}/power6emul.so %{SOURCE8} -Wl,-z,initfirst
18aa46
%ifarch ppc
2eb150
		gcc -shared -nostdlib -O2 -fpic -m64 -o power6emul/lib64/power6emul.so -xc - 
18aa46
%endif
18aa46
%ifarch ppc64
2eb150
		gcc -shared -nostdlib -O2 -fpic -m32 -o power6emul/lib/power6emul.so -xc - < /dev/null
18aa46
%endif
2eb150
		export LD_PRELOAD=`pwd`/power6emul/\$LIB/power6emul.so
d4d7ef
	fi
d4d7ef
	AddOns="$AddOns --with-cpu=power6"
d4d7ef
	GCC="$GCC -mcpu=power6"
d4d7ef
	GXX="$GXX -mcpu=power6"
d4d7ef
	build power6
18aa46
)
2eb150
%endif # %{buildpower6}
18aa46
9abcef
##############################################################################
9abcef
# Build the glibc post-upgrade program:
9abcef
# We only build one of these with the default set of options. This program
9abcef
# must be able to run on all hardware for the lowest common denomintor since
9abcef
# we only build it once.
9abcef
##############################################################################
7e232b
pushd build-%{target}
Siddhesh Poyarekar 17b00f
$GCC -static -L. -Os -g %{SOURCE2} \
2eb150
	-o glibc_post_upgrade.%{_target_cpu} \
d4d7ef
	'-DLIBTLS="/%{_lib}/tls/"' \
0d1d15
	'-DGCONV_MODULES_DIR="%{_libdir}/gconv"' \
d4d7ef
	'-DLD_SO_CONF="/etc/ld.so.conf"' \
d4d7ef
	'-DICONVCONFIG="%{_sbindir}/iconvconfig.%{_target_cpu}"'
7e232b
popd
cvsdist c381c2
9abcef
##############################################################################
9abcef
# Install glibc...
9abcef
##############################################################################
cvsdist c381c2
%install
c13214
c13214
# Ensure the permissions of errlist.c do not change.  When the file is
c13214
# regenerated the Makefile sets the permissions to 444. We set it to 644
c13214
# to match what comes out of git. The tarball of the git archive won't have
c13214
# correct permissions because git doesn't track all of the permissions
c13214
# accurately (see git-cache-meta if you need that). We also set it to 644 to
c13214
# match pre-existing rpms. We do this *after* the build because the build
c13214
# might regenerate the file and set the permissions to 444.
c13214
chmod 644 sysdeps/gnu/errlist.c
c13214
9abcef
# Reload compiler and build options that were used during %%build.
cvsdist c381c2
GCC=`cat Gcc`
cvsdist c381c2
9abcef
# Cleanup any previous installs...
cvsdist c381c2
rm -rf $RPM_BUILD_ROOT
cvsdist c381c2
mkdir -p $RPM_BUILD_ROOT
d4d7ef
make -j1 install_root=$RPM_BUILD_ROOT \
d4d7ef
	install -C build-%{target} %{silentrules}
9abcef
# If we are not building an auxiliary arch then install all of the supported
9abcef
# locales.
cvsdist c381c2
%ifnarch %{auxarches}
7e232b
pushd build-%{target}
d4d7ef
make %{?_smp_mflags} install_root=$RPM_BUILD_ROOT \
d4d7ef
	install-locales -C ../localedata objdir=`pwd`
7e232b
popd
cvsdist c381c2
%endif
cvsdist c381c2
71c008
# install_different:
71c008
#	Install all core libraries into DESTDIR/SUBDIR. Either the file is
71c008
#	installed as a copy or a symlink to the default install (if it is the
71c008
#	same). The path SUBDIR_UP is the prefix used to go from
71c008
#	DESTDIR/SUBDIR to the default installed libraries e.g.
71c008
#	ln -s SUBDIR_UP/foo.so DESTDIR/SUBDIR/foo.so.
71c008
#	When you call this function it is expected that you are in the root
71c008
#	of the build directory, and that the default build directory is:
71c008
#	"../build-%{target}" (relatively).
71c008
#	The primary use of this function is to install alternate runtimes
71c008
#	into the build directory and avoid duplicating this code for each
71c008
#	runtime.
71c008
install_different()
71c008
{
baa7ac
	local lib libbase libbaseso dlib
71c008
	local destdir="$1"
71c008
	local subdir="$2"
71c008
	local subdir_up="$3"
71c008
	local libdestdir="$destdir/$subdir"
71c008
	# All three arguments must be non-zero paths.
71c008
	if ! [ "$destdir" \
71c008
	       -a "$subdir" \
71c008
	       -a "$subdir_up" ]; then
71c008
		echo "One of the arguments to install_different was emtpy."
71c008
		exit 1
71c008
	fi
71c008
	# Create the destination directory and the multilib directory.
71c008
	mkdir -p "$destdir"
71c008
	mkdir -p "$libdestdir"
71c008
	# Walk all of the libraries we installed...
71c008
	for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db
71c008
	do
71c008
		libbase=${lib#*/}
71c008
		# Take care that `libbaseso' has a * that needs expanding so
71c008
		# take care with quoting.
b8e476
		libbaseso=$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}-*.so)
71c008
		# Only install if different from default build library.
71c008
		if cmp -s ${lib}.so ../build-%{target}/${lib}.so; then
71c008
			ln -sf "$subdir_up"/$libbaseso $libdestdir/$libbaseso
71c008
		else
71c008
			cp -a ${lib}.so $libdestdir/$libbaseso
71c008
		fi
b8e476
		dlib=$libdestdir/$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}.so.*)
71c008
		ln -sf $libbaseso $dlib
71c008
	done
71c008
}
71c008
9abcef
##############################################################################
9abcef
# Install the xen build files.
9abcef
##############################################################################
5a7053
%if %{buildxen}
d1be4d
%define nosegneg_subdir_base i686
5a7053
%define nosegneg_subdir i686/nosegneg
Andreas Schwab 6c0e60
%define nosegneg_subdir_up ../..
7e232b
pushd build-%{target}-nosegneg
b8e476
destdir=$RPM_BUILD_ROOT/%{_lib}
71c008
install_different "$destdir" "%{nosegneg_subdir}" "%{nosegneg_subdir_up}"
7e232b
popd
2eb150
%endif # %{buildxen}
a9d8ca
9abcef
##############################################################################
9abcef
# Install the power6 build files.
9abcef
##############################################################################
18aa46
%if %{buildpower6}
71c008
%define power6_subdir power6
71c008
%define power6_subdir_up ..
71c008
%define power6_legacy power6x
71c008
%define power6_legacy_up ..
7e232b
pushd build-%{target}-power6
71c008
destdir=$RPM_BUILD_ROOT/%{_lib}
db59a6
install_different "$destdir" "%{power6_subdir}" "%{power6_subdir_up}"
71c008
# Make a legacy /usr/lib[64]/power6x directory that is a symlink to the
71c008
# power6 runtime.
71c008
# XXX: When can we remove this? What is the history behind this?
71c008
mkdir -p ${destdir}/%{power6_legacy}
71c008
pushd ${destdir}/%{power6_legacy}
71c008
ln -sf %{power6_legacy_up}/%{power6_subdir}/*.so .
71c008
cp -a %{power6_legacy_up}/%{power6_subdir}/*.so.* .
1e072a
popd
7e232b
popd
2eb150
%endif # %{buildpower6}
18aa46
9abcef
##############################################################################
cvsdist c381c2
# Remove the files we don't want to distribute
9abcef
##############################################################################
9abcef
9abcef
# Remove the libNoVersion files.
9abcef
# XXX: This looks like a bug in glibc that accidentally installed these
9abcef
#      wrong files. We probably don't need this today.
0d1d15
rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
cvsdist c381c2
rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion*
cvsdist c381c2
5a3b56
# rquota.x and rquota.h are now provided by quota
5a3b56
rm -f $RPM_BUILD_ROOT%{_prefix}/include/rpcsvc/rquota.[hx]
5a3b56
5a3b56
# In F7+ this is provided by rpcbind rpm
5a3b56
rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo
5a3b56
5a3b56
# Remove the old nss modules.
5a3b56
rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss1-*
5a3b56
rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss-*.so.1
24d911
8c7b7c
##############################################################################
5a3b56
# Install info files
8c7b7c
##############################################################################
8c7b7c
Carlos O'Donell 6e8e9f
%if %{with docs}
9abcef
# Move the info files if glibc installed them into the wrong location.
cvsdist c381c2
if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
ffc48a
  mkdir -p $RPM_BUILD_ROOT%{_infodir}
ffc48a
  mv -f $RPM_BUILD_ROOT%{_prefix}/info/* $RPM_BUILD_ROOT%{_infodir}
ffc48a
  rm -rf $RPM_BUILD_ROOT%{_prefix}/info
cvsdist c381c2
fi
cvsdist c381c2
9abcef
# Compress all of the info files.
cvsdist c381c2
gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
Carlos O'Donell 6e8e9f
%endif
cvsdist c381c2
5a3b56
##############################################################################
5a3b56
# Install locale files
5a3b56
##############################################################################
5a3b56
5a3b56
# Create archive of locale files
5a3b56
%ifnarch %{auxarches}
5a3b56
olddir=`pwd`
5a3b56
pushd ${RPM_BUILD_ROOT}%{_prefix}/lib/locale
37b5e6
rm -f locale-archive
5a3b56
# Intentionally we do not pass --alias-file=, aliases will be added
5a3b56
# by build-locale-archive.
5a3b56
$olddir/build-%{target}/elf/ld.so \
d4d7ef
	--library-path $olddir/build-%{target}/ \
d4d7ef
	$olddir/build-%{target}/locale/localedef \
d4d7ef
	--prefix ${RPM_BUILD_ROOT} --add-to-archive \
Carlos O'Donell 0457f6
	C.utf8 *_*
Carlos O'Donell 0457f6
# Removes all locales except C.utf8 which remains as fallback in
Carlos O'Donell 0457f6
# the event the user cleans the locale-archive using localedef.
5a3b56
rm -rf *_*
5a3b56
mv locale-archive{,.tmpl}
5a3b56
popd
5a3b56
%endif
cvsdist c381c2
9abcef
##############################################################################
9abcef
# Install configuration files for services
9abcef
##############################################################################
9abcef
Siddhesh Poyarekar 17b00f
install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc/nsswitch.conf
cvsdist c381c2
Andreas Schwab 2fa87b
%ifnarch %{auxarches}
cvsdist ce0910
mkdir -p $RPM_BUILD_ROOT/etc/default
bb8d77
install -p -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/nss
cvsdist ce0910
cvsdist c381c2
# This is for ncsd - in glibc 2.2
cvsdist c381c2
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
Siddhesh Poyarekar 944ed5
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
Siddhesh Poyarekar 17b00f
install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}
b8e476
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
Siddhesh Poyarekar bdbcf8
install -m 644 nscd/nscd.service nscd/nscd.socket $RPM_BUILD_ROOT/lib/systemd/system
Andreas Schwab 2fa87b
%endif
cvsdist c381c2
cvsdist c381c2
# Include ld.so.conf
cvsdist 195182
echo 'include ld.so.conf.d/*.conf' > $RPM_BUILD_ROOT/etc/ld.so.conf
1d99c0
truncate -s 0 $RPM_BUILD_ROOT/etc/ld.so.cache
cvsdist c381c2
chmod 644 $RPM_BUILD_ROOT/etc/ld.so.conf
cvsdist ce0910
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
Andreas Schwab 2fa87b
%ifnarch %{auxarches}
63b6b6
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
1d99c0
truncate -s 0 $RPM_BUILD_ROOT/etc/sysconfig/nscd
1d99c0
truncate -s 0 $RPM_BUILD_ROOT/etc/gai.conf
Andreas Schwab 2fa87b
%endif
cvsdist c381c2
0d1d15
# Include %{_libdir}/gconv/gconv-modules.cache
0d1d15
truncate -s 0 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
0d1d15
chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
cvsdist c381c2
9abcef
##############################################################################
5a3b56
# Misc...
9abcef
##############################################################################
9abcef
5a3b56
# NPTL <bits stdio-lock.h=""> is not usable outside of glibc, so include
Carlos O'Donell e61b8f
# the generic one (#162634). This header is required by older gcc builds
Carlos O'Donell e61b8f
# which shared libio. Once we stop supporting building old compilers which
Carlos O'Donell e61b8f
# need shared libio we can remove this.
Carlos O'Donell e61b8f
cp -a sysdeps/generic/stdio-lock.h \
Carlos O'Donell e61b8f
	$RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
5a3b56
# And <bits libc-lock.h=""> needs sanitizing as well.
Siddhesh Poyarekar 17b00f
cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_prefix}/include/bits/libc-lock.h
cvsdist c381c2
5a3b56
# Install the upgrade program
5a3b56
install -m 700 build-%{target}/glibc_post_upgrade.%{_target_cpu} \
63769b
  $RPM_BUILD_ROOT%{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu}
cae834
5a3b56
# Strip all of the installed object files.
0d1d15
strip -g $RPM_BUILD_ROOT%{_libdir}/*.o
5a3b56
5a3b56
# XXX: Ugly hack for buggy rpm. What bug? BZ? Is this fixed?
5a3b56
ln -f ${RPM_BUILD_ROOT}%{_sbindir}/iconvconfig{,.%{_target_cpu}}
d465a0
9abcef
##############################################################################
3bc8fa
# Install debug copies of unstripped static libraries
3bc8fa
# - This step must be last in order to capture any additional static
3bc8fa
#   archives we might have added.
3bc8fa
##############################################################################
3bc8fa
3bc8fa
# If we are building a debug package then copy all of the static archives
3bc8fa
# into the debug directory to keep them as unstripped copies.
3bc8fa
%if 0%{?_enable_debug_packages}
0d1d15
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}
0d1d15
cp -a $RPM_BUILD_ROOT%{_libdir}/*.a \
0d1d15
	$RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/
0d1d15
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/*_p.a
3bc8fa
%endif
3bc8fa
3bc8fa
##############################################################################
9abcef
# Build the file lists used for describing the package and subpackages.
9abcef
##############################################################################
9abcef
# There are 11 file lists:
9abcef
# * rpm.fileslist
9abcef
#	- Master file list. Eventually, after removing files from this list
9abcef
#	  we are left with the list of files for the glibc package.
9abcef
# * common.filelist
9abcef
#	- Contains the list of flies for the common subpackage.
9abcef
# * utils.filelist
9abcef
#	- Contains the list of files for the utils subpackage.
9abcef
# * nscd.filelist
9abcef
#	- Contains the list of files for the nscd subpackage.
9abcef
# * devel.filelist
9abcef
#	- Contains the list of files for the devel subpackage.
9abcef
# * headers.filelist
9abcef
#	- Contains the list of files for the headers subpackage.
9abcef
# * static.filelist
9abcef
#	- Contains the list of files for the static subpackage.
9abcef
# * nosegneg.filelist
9abcef
#	- Contains the list of files for the xen subpackage.
9abcef
# * debuginfo.filelist
9abcef
#	- Contains the list of files for the glibc debuginfo package.
9abcef
# * debuginfocommon.filelist
9abcef
#	- Contains the list of files for the glibc common debuginfo package.
9abcef
#
9abcef
Andreas Schwab 237bb9
{
Andreas Schwab 6843c2
  find $RPM_BUILD_ROOT \( -type f -o -type l \) \
Andreas Schwab 237bb9
       \( \
Andreas Schwab 237bb9
	 -name etc -printf "%%%%config " -o \
Andreas Schwab 237bb9
	 -name gconv-modules \
Andreas Schwab 237bb9
	 -printf "%%%%verify(not md5 size mtime) %%%%config(noreplace) " -o \
Andreas Schwab 237bb9
	 -name gconv-modules.cache \
Andreas Schwab 237bb9
	 -printf "%%%%verify(not md5 size mtime) " \
Andreas Schwab 237bb9
	 , \
Andreas Schwab 6843c2
	 ! -path "*/lib/debug/*" -printf "/%%P\n" \)
Siddhesh Poyarekar aeaedc
  # Print all directories with a %%dir prefix.  We omit the info directory and
Siddhesh Poyarekar aeaedc
  # all directories in (and including) /usr/share/locale.
Andreas Schwab 237bb9
  find $RPM_BUILD_ROOT -type d \
Siddhesh Poyarekar aeaedc
       \( -path '*%{_prefix}/share/locale' -prune -o \
Carlos O'Donell 6e8e9f
       \( -path '*%{_prefix}/share/*' \
Carlos O'Donell 6e8e9f
%if %{with docs}
Carlos O'Donell 6e8e9f
	! -path '*%{_infodir}' -o \
Carlos O'Donell 6e8e9f
%endif
Andreas Schwab 976b17
	  -path "*%{_prefix}/include/*" \
Siddhesh Poyarekar aeaedc
       \) -printf "%%%%dir /%%P\n" \)
Andreas Schwab 237bb9
} | {
Andreas Schwab 237bb9
Andreas Schwab 237bb9
  # primary filelist
Siddhesh Poyarekar 0cda72
Siddhesh Poyarekar 7728cb
  # Add %%lang entries for language-specific locale files.  This allows users
Siddhesh Poyarekar 7728cb
  # to set %%_install_lang and not install the unnecessary locale files.
Siddhesh Poyarekar 7728cb
  I18N_LANG='s|.*/share/i18n/locales/\([a-z]\{2\}[a-z]\?\)_[A-Z]\{2\}.*|%lang(\1) &|'
Siddhesh Poyarekar 0cda72
  # Remove the *.mo entries.  We will add that using %%find_lang
Siddhesh Poyarekar 0cda72
  sed -e '\,.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo,d' \
Siddhesh Poyarekar 7728cb
      -e "$I18N_LANG" \
Andreas Schwab d047b3
      -e '\,/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \
Andreas Schwab 237bb9
      -e '\,/%{_lib}/lib\(pcprofile\|memusage\)\.so,d' \
Andreas Schwab 237bb9
      -e '\,bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d'
Andreas Schwab 237bb9
} | sort > rpm.filelist
cvsdist c381c2
Siddhesh Poyarekar 0cda72
# Our *.mo files.  Put them in glibc-common.
Siddhesh Poyarekar 0cda72
%find_lang libc
Siddhesh Poyarekar 0cda72
mv libc.lang common.filelist
Siddhesh Poyarekar 0cda72
b8e476
mkdir -p $RPM_BUILD_ROOT%{_libdir}
b8e476
mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so $RPM_BUILD_ROOT%{_libdir}
b8e476
9abcef
# The xtrace and memusage scripts have hard-coded paths that need to be
9abcef
# translated to a correct set of paths using the $LIB token which is
9abcef
# dynamically translated by ld.so as the default lib directory.
cvsdist c381c2
for i in $RPM_BUILD_ROOT%{_prefix}/bin/{xtrace,memusage}; do
0d1d15
  sed -e 's~=/%{_lib}/libpcprofile.so~=%{_libdir}/libpcprofile.so~' \
0d1d15
      -e 's~=/%{_lib}/libmemusage.so~=%{_libdir}/libmemusage.so~' \
29d3ac
      -e 's~='\''/\\\$LIB/libpcprofile.so~='\''%{_prefix}/\\$LIB/libpcprofile.so~' \
29d3ac
      -e 's~='\''/\\\$LIB/libmemusage.so~='\''%{_prefix}/\\$LIB/libmemusage.so~' \
Andreas Schwab 237bb9
      -i $i
cvsdist c381c2
done
cvsdist c381c2
Carlos O'Donell 6e8e9f
%if %{with docs}
9abcef
# Put the info files into the devel file list.
271728
grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist
Carlos O'Donell 6e8e9f
%endif
9abcef
Carlos O'Donell e63fda
# The glibc-headers package includes only common files which are identical
Carlos O'Donell e63fda
# across all multilib packages. We must keep gnu/stubs.h and gnu/lib-names.h
Carlos O'Donell e63fda
# in the glibc-headers package, but the -32, -64, -64-v1, and -64-v2 versions
Carlos O'Donell e63fda
# go into the development packages.
Carlos O'Donell e63fda
grep '%{_prefix}/include/gnu/stubs-.*\.h$' < rpm.filelist >> devel.filelist || :
Carlos O'Donell e63fda
grep '%{_prefix}/include/gnu/lib-names-.*\.h$' < rpm.filelist >> devel.filelist || :
9abcef
# Put the include files into headers file list.
Carlos O'Donell e63fda
grep '%{_prefix}/include' < rpm.filelist \
Carlos O'Donell 2542c0
  | egrep -v '%{_prefix}/include/gnu/stubs-.*\.h$' \
Carlos O'Donell 2542c0
  | egrep -v '%{_prefix}/include/gnu/lib-names-.*\.h$' \
Carlos O'Donell e63fda
  > headers.filelist
cvsdist c381c2
9abcef
# Remove partial (lib*_p.a) static libraries, include files, and info files from
9abcef
# the core glibc package.
0d1d15
sed -i -e '\|%{_libdir}/lib.*_p.a|d' \
Andreas Schwab 237bb9
       -e '\|%{_prefix}/include|d' \
Carlos O'Donell 6e8e9f
%if %{with docs}
Carlos O'Donell 6e8e9f
       -e '\|%{_infodir}|d' \
Carlos O'Donell 6e8e9f
%endif
Carlos O'Donell 6e8e9f
	rpm.filelist
cvsdist c381c2
9abcef
# Put some static files into the devel package.
0d1d15
grep '%{_libdir}/lib.*\.a' < rpm.filelist \
Carlos O'Donell 4d789e
  | grep '/lib\(\(c\|pthread\|nldbl\)_nonshared\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \
65bf1c
  >> devel.filelist
9abcef
9abcef
# Put the rest of the static files into the static package.
0d1d15
grep '%{_libdir}/lib.*\.a' < rpm.filelist \
Carlos O'Donell 4d789e
  | grep -v '/lib\(\(c\|pthread\|nldbl\)_nonshared\|g\|ieee\|mcheck\|rpcsvc\)\.a$' \
65bf1c
  > static.filelist
9abcef
9abcef
# Put all of the object files and *.so (not the versioned ones) into the
9abcef
# devel package.
0d1d15
grep '%{_libdir}/.*\.o' < rpm.filelist >> devel.filelist
b8e476
grep '%{_libdir}/lib.*\.so' < rpm.filelist >> devel.filelist
cvsdist c381c2
Carlos O'Donell 2542c0
# Remove all of the static, object, unversioned DSOs, and nscd from the core
Carlos O'Donell 2542c0
# glibc package.
0d1d15
sed -i -e '\|%{_libdir}/lib.*\.a|d' \
0d1d15
       -e '\|%{_libdir}/.*\.o|d' \
b8e476
       -e '\|%{_libdir}/lib.*\.so|d' \
Andreas Schwab 237bb9
       -e '\|nscd|d' rpm.filelist
cvsdist c381c2
9abcef
# All of the bin and certain sbin files go into the common package.
9abcef
# We explicitly exclude certain sbin files that need to go into
9abcef
# the core glibc package for use during upgrades.
b8e476
grep '%{_prefix}/bin' < rpm.filelist >> common.filelist
b8e476
grep '%{_prefix}/sbin/[^gi]' < rpm.filelist >> common.filelist
9abcef
# All of the files under share go into the common package since
b8e476
# they should be multilib-independent.
ffc48a
grep '%{_prefix}/share' < rpm.filelist | \
b8e476
  grep -v -e '%{_prefix}/share/zoneinfo' -e '%%dir %{prefix}/share' \
b8e476
       >> common.filelist
cvsdist c381c2
Siddhesh Poyarekar 9a33c9
# Remove the bin, locale, some sbin, and share from the
9abcef
# core glibc package. We cheat a bit and use the slightly dangerous
b8e476
# /usr/sbin/[^gi] to match the inverse of the search that put the
9abcef
# files into common.filelist. It's dangerous in that additional files
b8e476
# that start with g, or i would get put into common.filelist and
9abcef
# rpm.filelist.
Andreas Schwab 237bb9
sed -i -e '\|%{_prefix}/bin|d' \
b8e476
       -e '\|%{_prefix}/lib/locale|d' \
b8e476
       -e '\|%{_prefix}/sbin/[^gi]|d' \
b8e476
       -e '\|%{_prefix}/share|d' rpm.filelist
cvsdist c381c2
9abcef
##############################################################################
9abcef
# Build the xen package file list (nosegneg.filelist)
9abcef
##############################################################################
1d99c0
truncate -s 0 nosegneg.filelist
a9d8ca
%if %{xenpackage}
b8e476
grep '/%{_lib}/%{nosegneg_subdir}' < rpm.filelist >> nosegneg.filelist
b8e476
sed -i -e '\|/%{_lib}/%{nosegneg_subdir}|d' rpm.filelist
9abcef
# TODO: There are files in the nosegneg list which should be in the devel
9abcef
#	pacakge, but we leave them instead in the xen subpackage. We may
9abcef
#	wish to clean that up at some point.
a9d8ca
%endif
a9d8ca
9abcef
# Add the binary to build localse to the common subpackage.
cvsdist c381c2
echo '%{_prefix}/sbin/build-locale-archive' >> common.filelist
9abcef
9abcef
# The nscd binary must go into the nscd subpackage.
cvsdist c381c2
echo '%{_prefix}/sbin/nscd' > nscd.filelist
cvsdist c381c2
9abcef
# The memusage and pcprofile libraries are put back into the core
9abcef
# glibc package even though they are only used by utils package
9abcef
# scripts..
Andreas Schwab aeada3
cat >> rpm.filelist <
0d1d15
%{_libdir}/libmemusage.so
0d1d15
%{_libdir}/libpcprofile.so
Andreas Schwab aeada3
EOF
9abcef
9abcef
# Add the utils scripts and programs to the utils subpackage.
Andreas Schwab aeada3
cat > utils.filelist <
cvsdist c381c2
%{_prefix}/bin/memusage
cvsdist c381c2
%{_prefix}/bin/memusagestat
cvsdist c381c2
%{_prefix}/bin/mtrace
cvsdist c381c2
%{_prefix}/bin/pcprofiledump
cvsdist c381c2
%{_prefix}/bin/xtrace
cvsdist c381c2
EOF
cvsdist c381c2
b8e476
# Remove the zoneinfo files
b8e476
# XXX: Why isn't this don't earlier when we are removing files?
b8e476
#      Won't this impact what is shipped?
cvsdist 7da373
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
cvsdist 7da373
Siddhesh Poyarekar 17b00f
# Make sure %config files have the same timestamp across multilib packages.
Siddhesh Poyarekar 17b00f
#
Siddhesh Poyarekar 17b00f
# XXX: Ideally ld.so.conf should have the timestamp of the spec file, but there
Siddhesh Poyarekar 17b00f
# doesn't seem to be any macro to give us that.  So we do the next best thing,
Siddhesh Poyarekar 17b00f
# which is to at least keep the timestamp consistent.  The choice of using
Siddhesh Poyarekar 17b00f
# glibc_post_upgrade.c is arbitrary.
Siddhesh Poyarekar 17b00f
touch -r %{SOURCE2} $RPM_BUILD_ROOT/etc/ld.so.conf
b45468
touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc
b45468
69de14
# We allow undefined symbols in shared libraries because the libraries
69de14
# referenced at link time here, particularly ld.so, may be different than
bf6cb4
# the one used at runtime.  This is really only needed during the ARM
69de14
# transition from ld-linux.so.3 to ld-linux-armhf.so.3.
Siddhesh Poyarekar 17b00f
pushd build-%{target}
Siddhesh Poyarekar afa87a
$GCC -Os -g -static -o build-locale-archive %{SOURCE1} \
d4d7ef
	../build-%{target}/locale/locarchive.o \
d4d7ef
	../build-%{target}/locale/md5.o \
Siddhesh Poyarekar 17b00f
	-I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \
d4d7ef
	-L../build-%{target} \
d4d7ef
	-Wl,--allow-shlib-undefined \
d4d7ef
	-B../build-%{target}/csu/ -lc -lc_nonshared
63769b
install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive
7e232b
popd
cvsdist c381c2
9abcef
# Lastly copy some additional documentation for the packages.
cvsdist c381c2
rm -rf documentation
cvsdist c381c2
mkdir documentation
cvsdist c381c2
cp crypt/README.ufc-crypt documentation/README.ufc-crypt
cvsdist c381c2
cp timezone/README documentation/README.timezone
a2dbc1
cp posix/gai.conf documentation/
cvsdist c381c2
62c308
%ifarch s390x
b8e476
# Compatibility symlink
b8e476
mkdir -p $RPM_BUILD_ROOT/lib
b8e476
ln -sf /%{_lib}/ld64.so.1 $RPM_BUILD_ROOT/lib/ld64.so.1
cvsdist c381c2
%endif
cvsdist c381c2
69de14
# Leave a compatibility symlink for the dynamic loader on armhfp targets,
69de14
# at least until the world gets rebuilt
69de14
%ifarch armv7hl armv7hnl
b8e476
ln -sf /lib/ld-linux-armhf.so.3 $RPM_BUILD_ROOT/lib/ld-linux.so.3
69de14
%endif
69de14
Carlos O'Donell 6e8e9f
%if %{with benchtests}
Siddhesh Poyarekar 67b30d
# Build benchmark binaries.  Ignore the output of the benchmark runs.
Siddhesh Poyarekar 67b30d
pushd build-%{target}
Siddhesh Poyarekar 67b30d
make BENCH_DURATION=1 bench-build
Siddhesh Poyarekar 67b30d
popd
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
# Copy over benchmark binaries.
Siddhesh Poyarekar 67b30d
mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests
Siddhesh Poyarekar 67b30d
cp $(find build-%{target}/benchtests -type f -executable) $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
find build-%{target}/benchtests -type f -executable | while read b; do
Siddhesh Poyarekar 67b30d
	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)"
Siddhesh Poyarekar 67b30d
done >> benchtests.filelist
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
# ... and the makefile.
Siddhesh Poyarekar 67b30d
for b in %{SOURCE9} %{SOURCE10}; do
Siddhesh Poyarekar 67b30d
	cp $b $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
	echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist
Siddhesh Poyarekar 67b30d
done
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
# .. and finally, the comparison scripts.
Siddhesh Poyarekar 67b30d
cp benchtests/scripts/benchout.schema.json $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
cp benchtests/scripts/compare_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
cp benchtests/scripts/import_bench.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
cp benchtests/scripts/validate_benchout.py $RPM_BUILD_ROOT%{_prefix}/libexec/glibc-benchtests/
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar 67b30d
echo "%{_prefix}/libexec/glibc-benchtests/benchout.schema.json" >> benchtests.filelist
Siddhesh Poyarekar 67b30d
echo "%{_prefix}/libexec/glibc-benchtests/compare_bench.py*" >> benchtests.filelist
Siddhesh Poyarekar 67b30d
echo "%{_prefix}/libexec/glibc-benchtests/import_bench.py*" >> benchtests.filelist
Siddhesh Poyarekar 67b30d
echo "%{_prefix}/libexec/glibc-benchtests/validate_benchout.py*" >> benchtests.filelist
Siddhesh Poyarekar 67b30d
%endif
Siddhesh Poyarekar 67b30d
9abcef
###############################################################################
9abcef
# Rebuild libpthread.a using --whole-archive to ensure all of libpthread
9abcef
# is included in a static link. This prevents any problems when linking
9abcef
# statically, using parts of libpthread, and other necessary parts not
9abcef
# being included. Upstream has decided that this is the wrong approach to
9abcef
# this problem and that the full set of dependencies should be resolved
9abcef
# such that static linking works and produces the most minimally sized
9abcef
# static application possible.
9abcef
###############################################################################
63769b
pushd $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
268a86
$GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a
65bf1c
rm libpthread.a
65bf1c
ar rcs libpthread.a libpthread.o
65bf1c
rm libpthread.o
65bf1c
popd
9abcef
###############################################################################
65bf1c
Andreas Schwab 237bb9
%if 0%{?_enable_debug_packages}
cvsdist c381c2
e0b449
# The #line directives gperf generates do not give the proper
e0b449
# file name relative to the build directory.
37b5e6
pushd locale
37b5e6
ln -s programs/*.gperf .
37b5e6
popd
37b5e6
pushd iconv
37b5e6
ln -s ../locale/programs/charmap-kw.gperf .
37b5e6
popd
cvsdist c381c2
9abcef
# Print some diagnostic information in the builds about the
9abcef
# getconf binaries.
9abcef
# XXX: Why do we do this?
63769b
ls -l $RPM_BUILD_ROOT%{_prefix}/bin/getconf
63769b
ls -l $RPM_BUILD_ROOT%{_prefix}/libexec/getconf
63769b
eu-readelf -hS $RPM_BUILD_ROOT%{_prefix}/bin/getconf \
63769b
	$RPM_BUILD_ROOT%{_prefix}/libexec/getconf/*
cvsdist c381c2
e0b449
find_debuginfo_args='--strict-build-id -g'
e0b449
%ifarch %{debuginfocommonarches}
e0b449
find_debuginfo_args="$find_debuginfo_args \
d4d7ef
	-l common.filelist \
d4d7ef
	-l utils.filelist \
d4d7ef
	-l nscd.filelist \
b8e476
	-p '.*/(sbin|libexec)/.*' \
d4d7ef
	-o debuginfocommon.filelist \
d4d7ef
	-l rpm.filelist \
Carlos O'Donell 6e8e9f
%if %{with benchtests}
Siddhesh Poyarekar 67b30d
	-l nosegneg.filelist -l benchtests.filelist"
Carlos O'Donell 6e8e9f
%else
Carlos O'Donell 6e8e9f
	-l nosegneg.filelist"
Carlos O'Donell 6e8e9f
%endif
e0b449
%endif
b8e476
eval /usr/lib/rpm/find-debuginfo.sh \
d4d7ef
	"$find_debuginfo_args" \
d4d7ef
	-o debuginfo.filelist
cvsdist c381c2
9abcef
# List all of the *.a archives in the debug directory.
e0b449
list_debug_archives()
e0b449
{
0d1d15
	local dir=%{_prefix}/lib/debug%{_libdir}
d4d7ef
	find $RPM_BUILD_ROOT$dir -name "*.a" -printf "$dir/%%P\n"
e0b449
}
cvsdist c381c2
cvsdist c381c2
%ifarch %{debuginfocommonarches}
e0b449
9abcef
# Remove the source files from the common package debuginfo.
Andreas Schwab 87a7e4
sed -i '\#^%{_prefix}/src/debug/#d' debuginfocommon.filelist
9abcef
9abcef
# Create a list of all of the source files we copied to the debug directory.
Andreas Schwab 87a7e4
find $RPM_BUILD_ROOT%{_prefix}/src/debug \
Andreas Schwab 87a7e4
     \( -type d -printf '%%%%dir ' \) , \
Andreas Schwab 87a7e4
     -printf '%{_prefix}/src/debug/%%P\n' > debuginfocommon.sources
Andreas Schwab 87a7e4
Andreas Schwab 87a7e4
%ifarch %{biarcharches}
Andreas Schwab 87a7e4
9abcef
# Add the source files to the core debuginfo package.
Andreas Schwab 87a7e4
cat debuginfocommon.sources >> debuginfo.filelist
Andreas Schwab 87a7e4
Andreas Schwab 87a7e4
%else
Andreas Schwab 87a7e4
cvsdist c381c2
%ifarch %{ix86}
Andreas Schwab 50a003
%define basearch i686
cvsdist c381c2
%endif
cvsdist c381c2
%ifarch sparc sparcv9
cvsdist c381c2
%define basearch sparc
cvsdist c381c2
%endif
e0b449
9abcef
# The auxarches get only these few source files.
e0b449
auxarches_debugsources=\
e0b449
'/(generic|linux|%{basearch}|nptl(_db)?)/|/%{glibcsrcdir}/build|/dl-osinfo\.h'
e0b449
9abcef
# Place the source files into the core debuginfo pakcage.
e0b449
egrep "$auxarches_debugsources" debuginfocommon.sources >> debuginfo.filelist
e0b449
9abcef
# Remove the source files from the common debuginfo package.
e0b449
egrep -v "$auxarches_debugsources" \
ffc48a
  debuginfocommon.sources >> debuginfocommon.filelist
e0b449
8c7b7c
%endif # %{biarcharches}
Andreas Schwab 87a7e4
9abcef
# Add the list of *.a archives in the debug directory to
9abcef
# the common debuginfo package.
e0b449
list_debug_archives >> debuginfocommon.filelist
e0b449
85447d
# It happens that find-debuginfo.sh produces duplicate entries even
85447d
# though the inputs are unique. Therefore we sort and unique the
85447d
# entries in the debug file lists. This avoids the following warnings:
85447d
# ~~~
85447d
# Processing files: glibc-debuginfo-common-2.17.90-10.fc20.x86_64
85447d
# warning: File listed twice: /usr/lib/debug/usr/sbin/build-locale-archive.debug
85447d
# warning: File listed twice: /usr/lib/debug/usr/sbin/nscd.debug
85447d
# warning: File listed twice: /usr/lib/debug/usr/sbin/zdump.debug
85447d
# warning: File listed twice: /usr/lib/debug/usr/sbin/zic.debug
85447d
# ~~~
85447d
sort -u debuginfocommon.filelist > debuginfocommon2.filelist
85447d
mv debuginfocommon2.filelist debuginfocommon.filelist
85447d
9abcef
%endif # %{debuginfocommonarches}
cvsdist c381c2
85447d
# Remove any duplicates output by a buggy find-debuginfo.sh.
85447d
sort -u debuginfo.filelist > debuginfo2.filelist
85447d
mv debuginfo2.filelist debuginfo.filelist
85447d
Siddhesh Poyarekar 700749
# Remove some common directories from the common package debuginfo so that we
Siddhesh Poyarekar 700749
# don't end up owning them.
Siddhesh Poyarekar 700749
exclude_common_dirs()
Siddhesh Poyarekar 700749
{
Siddhesh Poyarekar 700749
	exclude_dirs="%{_prefix}/src/debug"
Siddhesh Poyarekar 700749
	exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug{,/%{_lib},/bin,/sbin})"
Siddhesh Poyarekar 700749
	exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug%{_prefix}{,/%{_lib},/libexec,/bin,/sbin})"
Siddhesh Poyarekar 700749
Siddhesh Poyarekar 700749
	for d in $(echo $exclude_dirs | sed 's/ /\n/g'); do
Siddhesh Poyarekar 700749
		sed -i "\|^%%dir $d/\?$|d" $1
Siddhesh Poyarekar 700749
	done
Siddhesh Poyarekar 700749
}
Siddhesh Poyarekar 700749
Siddhesh Poyarekar 700749
%ifarch %{debuginfocommonarches}
Siddhesh Poyarekar 700749
exclude_common_dirs debuginfocommon.filelist
Siddhesh Poyarekar 700749
%endif
Siddhesh Poyarekar 700749
exclude_common_dirs debuginfo.filelist
Siddhesh Poyarekar 700749
9abcef
%endif # 0%{?_enable_debug_packages}
e0b449
Carlos O'Donell 6e8e9f
%if %{with docs}
9abcef
# Remove the `dir' info-heirarchy file which will be maintained
9abcef
# by the system as it adds info files to the install.
e0b449
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
Carlos O'Donell 6e8e9f
%endif
e0b449
cvsdist c381c2
%ifarch %{auxarches}
e0b449
9abcef
# Delete files that we do not intended to ship with the auxarch.
cvsdist c381c2
echo Cutting down the list of unpackaged files
e0b449
sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \
02e825
	common.filelist devel.filelist static.filelist headers.filelist \
02e825
	utils.filelist nscd.filelist \
02e825
%ifarch %{debuginfocommonarches}
02e825
	debuginfocommon.filelist \
02e825
%endif
02e825
	| (cd $RPM_BUILD_ROOT; xargs --no-run-if-empty rm -f 2> /dev/null || :)
9abcef
cfeb07
%else
cfeb07
cfeb07
mkdir -p $RPM_BUILD_ROOT/var/{db,run}/nscd
9893fa
touch $RPM_BUILD_ROOT/var/{db,run}/nscd/{passwd,group,hosts,services}
cfeb07
touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid}
2eb150
8c7b7c
%endif # %{auxarches}
cvsdist c381c2
3dbfe4
%ifnarch %{auxarches}
1d99c0
truncate -s 0 $RPM_BUILD_ROOT/%{_prefix}/lib/locale/locale-archive
3dbfe4
%endif
cvsdist 195182
50740a
mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig
1d99c0
truncate -s 0 $RPM_BUILD_ROOT/var/cache/ldconfig/aux-cache
50740a
744852
##############################################################################
744852
# Run the glibc testsuite
744852
##############################################################################
744852
%check
Carlos O'Donell 6e8e9f
%if %{with testsuite}
f51594
f51594
# Run the glibc tests. If any tests fail to build we exit %check with an error
f51594
# of 1, otherwise we print the test failure list and the failed test output
f51594
# and exit with 0. In the future we want to compare against a baseline and
f51594
# exit with 1 if the results deviate from the baseline.
f51594
run_tests () {
f51594
	truncate -s 0 check.log
f51594
	tail -f check.log &
f51594
	tailpid=$!
f51594
	# Run the make a sub-shell (to avoid %check failing if make fails)
f51594
	# but capture the status for use later. We use the normal sub-shell
f51594
	# trick of printing the status. The actual result of the sub-shell
f51594
	# is the successful execution of the echo.
f51594
	status=$(set +e
f51594
		 make %{?_smp_mflags} check %{silentrules} > check.log 2>&1
f51594
		 status=$?
f51594
		 echo $status)
f51594
	# Wait for the tail to catch up with the output and then kill it.
f51594
	sleep 10
f51594
	kill $tailpid
f51594
	# Print the header, so we can find it, but skip the error printing
f51594
	# if there aren't any failrues.
f51594
	echo ===================FAILED TESTS=====================
f51594
	if [ $status -ne 0 ]; then
f51594
		# We are not running with `-k`, therefore a test build failure
f51594
		# terminates the test run and that terminates %check with an
f51594
		# error which terminates the build. We want this behaviour to
f51594
		# ensure that all tests build, and all tests run.
f51594
		# If the test result summary is not present it means one of
f51594
		# tests failed to build.
f51594
		if ! grep 'Summary of test results:' check.log; then
f51594
			echo "FAIL: Some glibc tests failed to build."
f51594
			exit 1
f51594
		fi
f51594
f51594
		# Print out information about all of the failed tests.
f51594
		grep -e ^FAIL -e ^ERROR tests.sum \
f51594
			| awk '{print $2}' \
f51594
			| while read testcase;
f51594
		do
f51594
			echo "$testcase"
f51594
			cat $testcase.out
f51594
			echo -------------------------
f51594
		done
f51594
	fi
f51594
}
f51594
744852
# Increase timeouts
744852
export TIMEOUTFACTOR=16
744852
parent=$$
744852
echo ====================TESTING=========================
744852
##############################################################################
744852
# - Test the default runtime.
744852
##############################################################################
744852
pushd build-%{target}
f51594
run_tests
744852
popd
744852
744852
##############################################################################
744852
# - Test the xen runtimes (nosegneg).
744852
##############################################################################
744852
%if %{buildxen}
744852
echo ====================TESTING -mno-tls-direct-seg-refs=============
744852
pushd build-%{target}-nosegneg
f51594
run_tests
744852
popd
744852
%endif
744852
744852
##############################################################################
744852
# - Test the power6 runtimes.
744852
##############################################################################
744852
%if %{buildpower6}
744852
echo ====================TESTING -mcpu=power6=============
744852
pushd build-%{target}-power6
f51594
if [ -d ../power6emul ]; then
744852
    export LD_PRELOAD=`cd ../power6emul; pwd`/\$LIB/power6emul.so
f51594
fi
f51594
run_tests
744852
popd
744852
%endif
744852
echo ====================TESTING DETAILS=================
744852
for i in `sed -n 's|^.*\*\*\* \[\([^]]*\.out\)\].*$|\1|p' build-*-linux*/check.log`; do
744852
  echo =====$i=====
744852
  cat $i || :
744852
  echo ============
744852
done
744852
echo ====================TESTING END=====================
744852
PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p'
744852
echo ====================PLT RELOCS LD.SO================
744852
readelf -Wr $RPM_BUILD_ROOT/%{_lib}/ld-*.so | sed -n -e "$PLTCMD"
744852
echo ====================PLT RELOCS LIBC.SO==============
744852
readelf -Wr $RPM_BUILD_ROOT/%{_lib}/libc-*.so | sed -n -e "$PLTCMD"
744852
echo ====================PLT RELOCS END==================
744852
Carlos O'Donell 6e8e9f
%if %{with valgrind}
Siddhesh Poyarekar e9a7f4
# Finally, check if valgrind runs with the new glibc.
Siddhesh Poyarekar e9a7f4
# We want to fail building if valgrind is not able to run with this glibc so
Siddhesh Poyarekar e9a7f4
# that we can then coordinate with valgrind to get it fixed before we update
Siddhesh Poyarekar e9a7f4
# glibc.
Siddhesh Poyarekar e9a7f4
pushd build-%{target}
Siddhesh Poyarekar e9a7f4
elf/ld.so --library-path .:elf:nptl:dlfcn /usr/bin/valgrind \
Siddhesh Poyarekar e9a7f4
	elf/ld.so --library-path .:elf:nptl:dlfcn /usr/bin/true
Siddhesh Poyarekar e9a7f4
popd
Siddhesh Poyarekar e9a7f4
%endif
Siddhesh Poyarekar e9a7f4
744852
%endif # %{run_glibc_tests}
744852
744852
Andreas Schwab 960330
%pre -p <lua>
Andreas Schwab 960330
-- Check that the running kernel is new enough
Andreas Schwab 960330
required = '%{enablekernel}'
Andreas Schwab 7dc670
rel = posix.uname("%r")
Andreas Schwab 7dc670
if rpm.vercmp(rel, required) < 0 then
Andreas Schwab 7dc670
  error("FATAL: kernel too old", 0)
Andreas Schwab 960330
end
Andreas Schwab 960330
63769b
%post -p %{_prefix}/sbin/glibc_post_upgrade.%{_target_cpu}
cvsdist c381c2
b8e476
%postun -p /sbin/ldconfig
cvsdist c381c2
Carlos O'Donell e51327
%triggerin common -p <lua> -- glibc
Andreas Schwab 4dd080
if posix.stat("%{_prefix}/lib/locale/locale-archive.tmpl", "size") > 0 then
Andreas Schwab 4dd080
  pid = posix.fork()
Andreas Schwab 4dd080
  if pid == 0 then
Carlos O'Donell e51327
    posix.exec("%{_prefix}/sbin/build-locale-archive", "--install-langs", rpm.expand("%%{_install_langs}"))
Andreas Schwab 4dd080
  elseif pid > 0 then
Andreas Schwab 4dd080
    posix.wait(pid)
Andreas Schwab 4dd080
  end
Andreas Schwab 4dd080
end
Andreas Schwab 4dd080
Carlos O'Donell e51327
%post common -p <lua>
Andreas Schwab 4dd080
if posix.access("/etc/ld.so.cache") then
Andreas Schwab 4dd080
  if posix.stat("%{_prefix}/lib/locale/locale-archive.tmpl", "size") > 0 then
Andreas Schwab 4dd080
    pid = posix.fork()
Andreas Schwab 4dd080
    if pid == 0 then
Carlos O'Donell e51327
      posix.exec("%{_prefix}/sbin/build-locale-archive", "--install-langs", rpm.expand("%%{_install_langs}"))
Andreas Schwab 4dd080
    elseif pid > 0 then
Andreas Schwab 4dd080
      posix.wait(pid)
Andreas Schwab 4dd080
    end
Andreas Schwab 4dd080
  end
Andreas Schwab 4dd080
end
cvsdist c381c2
Carlos O'Donell 6e8e9f
%if %{with docs}
cvsdist c381c2
%post devel
Andreas Schwab 713def
/sbin/install-info %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || :
Carlos O'Donell 6e8e9f
%endif
cvsdist c381c2
cvsdist c381c2
%pre headers
cvsdist c381c2
# this used to be a link and it is causing nightmares now
cvsdist c381c2
if [ -L %{_prefix}/include/scsi ] ; then
ffc48a
  rm -f %{_prefix}/include/scsi
cvsdist c381c2
fi
cvsdist c381c2
Carlos O'Donell 6e8e9f
%if %{with docs}
cvsdist c381c2
%preun devel
cvsdist c381c2
if [ "$1" = 0 ]; then
Andreas Schwab 713def
  /sbin/install-info --delete %{_infodir}/libc.info.gz %{_infodir}/dir > /dev/null 2>&1 || :
cvsdist c381c2
fi
Carlos O'Donell 6e8e9f
%endif
cvsdist c381c2
b8e476
%post utils -p /sbin/ldconfig
cvsdist c381c2
b8e476
%postun utils -p /sbin/ldconfig
cvsdist c381c2
cvsdist c381c2
%pre -n nscd
Andreas Schwab 08541d
getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd
Andreas Schwab 08541d
getent passwd nscd >/dev/null ||
Andreas Schwab 08541d
  /usr/sbin/useradd -M -o -r -d / -s /sbin/nologin \
Andreas Schwab 08541d
		    -c "NSCD Daemon" -u 28 -g nscd nscd
cvsdist c381c2
cvsdist c381c2
%post -n nscd
f8556b
%systemd_post nscd.service
cvsdist c381c2
cvsdist c381c2
%preun -n nscd
f8556b
%systemd_preun nscd.service
cvsdist c381c2
cvsdist c381c2
%postun -n nscd
Andreas Schwab 389eed
if test $1 = 0; then
ffc48a
  /usr/sbin/userdel nscd > /dev/null 2>&1 || :
cvsdist c381c2
fi
f8556b
%systemd_postun_with_restart nscd.service
cvsdist c381c2
a9d8ca
%if %{xenpackage}
b8e476
%post xen -p /sbin/ldconfig
b8e476
%postun xen -p /sbin/ldconfig
a9d8ca
%endif
a9d8ca
cvsdist c381c2
%clean
cvsdist c381c2
rm -rf "$RPM_BUILD_ROOT"
cvsdist c381c2
rm -f *.filelist*
cvsdist c381c2
cvsdist c381c2
%files -f rpm.filelist
cvsdist c381c2
%defattr(-,root,root)
63769b
%dir %{_prefix}/%{_lib}/audit
a9d8ca
%if %{buildxen} && !%{xenpackage}
b8e476
%dir /%{_lib}/%{nosegneg_subdir_base}
b8e476
%dir /%{_lib}/%{nosegneg_subdir}
a9d8ca
%endif
18aa46
%if %{buildpower6}
b8e476
%dir /%{_lib}/power6
b8e476
%dir /%{_lib}/power6x
18aa46
%endif
cvsdist c381c2
%ifarch s390x
b8e476
/lib/ld64.so.1
cvsdist c381c2
%endif
bf6cb4
%ifarch armv7hl armv7hnl
b8e476
/lib/ld-linux.so.3
69de14
%endif
cvsdist c381c2
%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
cvsdist c381c2
%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf
Andreas Schwab 809a54
%verify(not md5 size mtime) %config(noreplace) /etc/rpc
cvsdist 195182
%dir /etc/ld.so.conf.d
ef031d
%dir %{_prefix}/libexec/getconf
0d1d15
%dir %{_libdir}/gconv
50740a
%dir %attr(0700,root,root) /var/cache/ldconfig
50740a
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
cvsdist 4a201b
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
Andreas Schwab d047b3
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf
01a209
%doc README NEWS INSTALL BUGS PROJECTS CONFORMANCE elf/rtld-debugger-interface.txt
Carlos O'Donell 6e8e9f
# If rpm doesn't support %license, then use %doc instead.
e653c3
%{!?_licensedir:%global license %%doc}
e653c3
%license COPYING COPYING.LIB LICENSES
cvsdist c381c2
%doc hesiod/README.hesiod
cvsdist c381c2
a9d8ca
%if %{xenpackage}
a9d8ca
%files -f nosegneg.filelist xen
a9d8ca
%defattr(-,root,root)
b8e476
%dir /%{_lib}/%{nosegneg_subdir_base}
b8e476
%dir /%{_lib}/%{nosegneg_subdir}
a9d8ca
%endif
a9d8ca
cvsdist c381c2
%ifnarch %{auxarches}
cvsdist c381c2
%files -f common.filelist common
cvsdist c381c2
%defattr(-,root,root)
111d75
%dir %{_prefix}/lib/locale
Carlos O'Donell 0457f6
%dir %{_prefix}/lib/locale/C.utf8
Carlos O'Donell 0457f6
%{_prefix}/lib/locale/C.utf8/*
50740a
%attr(0644,root,root) %verify(not md5 size mtime) %{_prefix}/lib/locale/locale-archive.tmpl
cvsdist 195182
%attr(0644,root,root) %verify(not md5 size mtime mode) %ghost %config(missingok,noreplace) %{_prefix}/lib/locale/locale-archive
45fdec
%dir %attr(755,root,root) /etc/default
45fdec
%verify(not md5 size mtime) %config(noreplace) /etc/default/nss
cvsdist c381c2
%doc documentation/*
cvsdist c381c2
cvsdist c381c2
%files -f devel.filelist devel
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
65bf1c
%files -f static.filelist static
65bf1c
%defattr(-,root,root)
65bf1c
cvsdist c381c2
%files -f headers.filelist headers
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
cvsdist c381c2
%files -f utils.filelist utils
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
cvsdist c381c2
%files -f nscd.filelist -n nscd
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
%config(noreplace) /etc/nscd.conf
cfeb07
%dir %attr(0755,root,root) /var/run/nscd
cfeb07
%dir %attr(0755,root,root) /var/db/nscd
b8e476
/lib/systemd/system/nscd.service
b8e476
/lib/systemd/system/nscd.socket
Siddhesh Poyarekar 944ed5
%{_tmpfilesdir}/nscd.conf
cfeb07
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
cfeb07
%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
9893fa
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/passwd
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/group
cfeb07
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts
9893fa
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services
63b6b6
%ghost %config(missingok,noreplace) /etc/sysconfig/nscd
cvsdist c381c2
%endif
cvsdist c381c2
Andreas Schwab 237bb9
%if 0%{?_enable_debug_packages}
cvsdist c381c2
%files debuginfo -f debuginfo.filelist
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
%ifarch %{debuginfocommonarches}
cvsdist c381c2
%ifnarch %{auxarches}
cvsdist c381c2
%files debuginfo-common -f debuginfocommon.filelist
cvsdist c381c2
%defattr(-,root,root)
cvsdist c381c2
%endif
cvsdist c381c2
%endif
cvsdist c381c2
%endif
cvsdist c381c2
Carlos O'Donell 6e8e9f
%if %{with benchtests}
Siddhesh Poyarekar 67b30d
%files benchtests -f benchtests.filelist
Siddhesh Poyarekar 67b30d
%defattr(-,root,root)
Siddhesh Poyarekar 67b30d
%endif
Siddhesh Poyarekar 67b30d
cvsdist c381c2
%changelog
43aaa9
* Wed Nov 18 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-20
43aaa9
- Auto-sync with upstream master.
43aaa9
be3e53
* Wed Nov 18 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-19
be3e53
- Disable -Werror on s390 (#1283184).
be3e53
209b48
* Mon Nov 16 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-18
209b48
- Auto-sync with upstream master.
209b48
711d62
* Mon Nov 16 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-17
711d62
- Revert temporary armhfp build fix.
711d62
bf5e09
* Mon Nov  9 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-16
bf5e09
- Apply temporary fix for armhfp build issue.
bf5e09
c6ef02
* Mon Nov 09 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-15
c6ef02
- Auto-sync with upstream master.
c6ef02
078b76
* Tue Nov  3 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-14
078b76
- Log uname, cpuinfo, meminfo during build (#1276636)
078b76
4cc081
* Fri Oct 30 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-13
4cc081
- Auto-sync with upstream master.
4cc081
dd0aad
* Fri Oct 30 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-12
dd0aad
- Revert to upstream implementation of condition variables (#1229659)
dd0aad
064765
* Wed Oct 28 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-11
064765
- Disable valgrind test on ppc64p7, too.
064765
Carlos O'Donell d38785
* Mon Oct 26 2015 Carlos O'Donell <carlos@redhat.com> - 2.22.90-10
Carlos O'Donell d38785
- Disable valgrind test for ppc64.
Carlos O'Donell d38785
Carlos O'Donell e61b8f
* Wed Oct 21 2015 Carlos O'Donell <carlos@redhat.com> - 2.22.90-9
Carlos O'Donell f76836
- Sync with upstream master.
Carlos O'Donell e61b8f
- Update new condvar implementation.
Carlos O'Donell e61b8f
Carlos O'Donell 4d789e
* Fri Oct  9 2015 Carlos O'Donell <carlos@redhat.com> - 2.22.90-8
Carlos O'Donell 4d789e
- Remove libbsd.a (#1193168).
Carlos O'Donell 4d789e
Carlos O'Donell 0457f6
* Wed Sep 16 2015 Mike FABIAN <mfabian@redhat.com> - 2.22.90-7
Carlos O'Donell 0457f6
- Add the C.UTF-8 locale (#902094).
Carlos O'Donell 0457f6
Carlos O'Donell 0457f6
* Wed Sep 16 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.22.90-6
Carlos O'Donell 0457f6
- Fix GCC 5 and -Werror related build failures.
Carlos O'Donell 0457f6
- Fix --install-langs bug which causes SIGABRT (#1262040).
Carlos O'Donell 0457f6
Carlos O'Donell 444c2e
* Fri Aug 28 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.22.90-5
Carlos O'Donell 444c2e
- Auto-sync with upstream master.
Carlos O'Donell 444c2e
Carlos O'Donell 6e8e9f
* Thu Aug 27 2015 Carlos O'Donell <carlos@redhat.com> - 2.22.90-4
Carlos O'Donell 6e8e9f
- Build require gcc-c++ for the C++ tests.
Carlos O'Donell 6e8e9f
- Support --without testsuite option to disable testing after build.
Carlos O'Donell 6e8e9f
- Support --without benchtests option to disable microbenchmarks.
Carlos O'Donell 6e8e9f
- Update --with bootstrap to disable benchtests, valgrind, documentation,
Carlos O'Donell 6e8e9f
  selinux, and nss-crypt during bootstrap.
Carlos O'Donell 6e8e9f
- Support --without werror to disable building with -Werror.
Carlos O'Donell 6e8e9f
- Support --without docs to disable build requirement on texinfo.
Carlos O'Donell 6e8e9f
- Support --without valgrind to disable testing with valgrind.
Carlos O'Donell 6e8e9f
- Remove c_stubs add-on and enable fuller support for static binaries.
Carlos O'Donell 6e8e9f
- Remove librtkaio support (#1227855).
Carlos O'Donell 6e8e9f
Siddhesh Poyarekar ac22d6
* Sun Aug 16 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.22.90-3
Siddhesh Poyarekar ac22d6
- Auto-sync with upstream master.
Siddhesh Poyarekar ac22d6
Siddhesh Poyarekar b893ed
* Fri Aug 14 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.22.90-2
Siddhesh Poyarekar b893ed
- Remove initgroups from the default nsswitch.conf (#751450).
Siddhesh Poyarekar b893ed
Siddhesh Poyarekar b893ed
* Fri Aug 14 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.22.90-1
Siddhesh Poyarekar daa5a4
- Sync with upstream master.
Siddhesh Poyarekar daa5a4
Siddhesh Poyarekar 6223db
* Tue Jul 28 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-20
Siddhesh Poyarekar 6223db
- Sync with upstream master.
Siddhesh Poyarekar 6223db
706a05
* Thu Jul 23 2015 Mike FABIAN <mfabian@redhat.com> - 2.21.90-19
706a05
- some more additions to the translit_neutral file by Marko Myllynen
706a05
dbf5f7
* Tue Jul 14 2015 Mike FABIAN <mfabian@redhat.com> - 2.21.90-18
37b7df
- Unicode 8.0.0 updates, including the transliteration files (#1238412).
dbf5f7
Carlos O'Donell 2542c0
* Sun Jun 21 2015 Carlos O'Donell <carlos@redhat.com> - 2.21.90-17
Carlos O'Donell 2542c0
- Remove all linuxthreads handling from glibc spec file.
Carlos O'Donell 2542c0
Carlos O'Donell e63fda
* Wed Jun 17 2015 Carlos O'Donell <carlos@redhat.com> - 2.21.90-16
Carlos O'Donell e63fda
- Move split out architecture-dependent header files into devel package
Carlos O'Donell e63fda
  and keep generic variant in headers package, thus keeping headers package
Carlos O'Donell e63fda
  content and file list identical across multilib rpms.
Carlos O'Donell e63fda
5ee623
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.21.90-15.1
5ee623
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
5ee623
Carlos O'Donell 1c7c72
* Wed Jun  3 2015 Carlos O'Donell <carlos@redhat.com> - 2.21.90-15
Carlos O'Donell 1c7c72
- Remove patch to increase DTV surplus which is no longer needed after
Carlos O'Donell 1c7c72
  upstream commit f8aeae347377f3dfa8cbadde057adf1827fb1d44.
Carlos O'Donell 1c7c72
Siddhesh Poyarekar 8178d6
* Sat May 30 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-14
Siddhesh Poyarekar 8178d6
- Fix build failure on aarch64 (#1226459).
Siddhesh Poyarekar 8178d6
Siddhesh Poyarekar 704769
* Mon May 18 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-13
Siddhesh Poyarekar 704769
- Sync with upstream master.
Siddhesh Poyarekar a7f6b6
- Install new condvar implementation.
Siddhesh Poyarekar 704769
Siddhesh Poyarekar 67b30d
* Fri May 08 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-12
Siddhesh Poyarekar 67b30d
- Add benchmark comparison scripts.
Siddhesh Poyarekar 67b30d
Siddhesh Poyarekar adbfe4
* Thu May 07 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-11
Siddhesh Poyarekar adbfe4
- Auto-sync with upstream master.
Siddhesh Poyarekar adbfe4
- Revert arena threshold fix to work around #1209451.
Siddhesh Poyarekar adbfe4
Siddhesh Poyarekar 943a06
* Tue Apr 07 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-10
Siddhesh Poyarekar 943a06
- Revert last auto-sync (#1209451).
Siddhesh Poyarekar 943a06
Siddhesh Poyarekar 3d147a
* Mon Apr 06 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-9
Siddhesh Poyarekar 3d147a
- Auto-sync with upstream master.
Siddhesh Poyarekar 3d147a
Siddhesh Poyarekar 85b542
* Tue Mar 24 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-8
Siddhesh Poyarekar 85b542
- Auto-sync with upstream master.
Siddhesh Poyarekar 85b542
Carlos O'Donell e51327
* Tue Mar 17 2015 Carlos O'Donell <carlos@redhat.com> - 2.21.90-7
Carlos O'Donell e51327
- Use rpm.expand in scripts to reduce set of required RPM features.
Carlos O'Donell e51327
Siddhesh Poyarekar ca47b3
* Thu Mar 12 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-6
Siddhesh Poyarekar ca47b3
- Auto-sync with upstream master.
Siddhesh Poyarekar ca47b3
Carlos O'Donell 91764b
* Tue Mar  3 2015 Mike Fabian <mfabian@redhat.com> - 2.21.90-5
Carlos O'Donell 91764b
- Support installing only those locales specified by the RPM macro
Carlos O'Donell 91764b
  %%_install_langs (#156477).
Carlos O'Donell 91764b
Siddhesh Poyarekar 5c9790
* Mon Feb 23 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.21.90-4
Siddhesh Poyarekar 5c9790
- Auto-sync with upstream master.
Siddhesh Poyarekar 5c9790
6e81b3
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 2.21.90-3.1
6e81b3
- Rebuilt for Fedora 23 Change
6e81b3
  https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
6e81b3
Carlos O'Donell e03dd6
* Thu Feb 12 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.21.90-3
Carlos O'Donell e03dd6
- Fix missing clock_* IFUNCs in librtkaio.
Carlos O'Donell e03dd6
Carlos O'Donell c6d44c
* Thu Feb 12 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.21.90-2
Carlos O'Donell c6d44c
- Auto-sync with upstream master.
Carlos O'Donell c6d44c
Carlos O'Donell 85a093
* Wed Feb 11 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.21.90-1
Carlos O'Donell 85a093
- Add back x86 vDSO support.
Carlos O'Donell 85a093
- Fix rtkaio build to reference clock_* functions from libc.
Carlos O'Donell 85a093
Siddhesh Poyarekar 5d3d5d
* Wed Jan 21 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-20
Siddhesh Poyarekar 5d3d5d
- Sync with upstream master.
Siddhesh Poyarekar 5d3d5d
- Disable werror on s390x.
Siddhesh Poyarekar a086cd
- Revert x86 vDSO support since it breaks i686 rtkaio build.
Siddhesh Poyarekar 5d3d5d
20d87d
* Tue Jan 20 2015 Peter Robinson <pbrobinson@fedoraproject.org> 2.20.90-19
20d87d
- Drop large ancient ChangeLogs (rhbz #1169546)
20d87d
Siddhesh Poyarekar 2415b8
* Mon Jan 12 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-18
Siddhesh Poyarekar 2415b8
- Pass address of main_arena.mutex to mutex_lock/unlock.
Siddhesh Poyarekar 2415b8
Siddhesh Poyarekar 84d340
* Thu Jan 08 2015 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-17
Siddhesh Poyarekar 84d340
- Define a __tls_get_addr macro to avoid a conflicting declaration.
Siddhesh Poyarekar 84d340
Siddhesh Poyarekar 80f415
* Wed Jan 07 2015 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com> - 2.20.90-16
Siddhesh Poyarekar 80f415
- Disable -Werror for s390 as well.
Siddhesh Poyarekar 80f415
Siddhesh Poyarekar 6105e8
* Wed Jan 07 2015 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com> - 2.20.90-14
Siddhesh Poyarekar 6105e8
- Sync with upstream master.
Siddhesh Poyarekar 6105e8
- Disable -Werror on powerpc and armv7hl.
Siddhesh Poyarekar 6105e8
- Temporarily disable valgrind test on ppc64.
Siddhesh Poyarekar 6105e8
8b0496
* Sun Dec 28 2014 Dan Horák <dan[at]danny.cz>
8b0496
- valgrind available only on selected arches (missing on s390)
8b0496
Kyle McMartin fd8c9e
* Wed Dec 10 2014 Kyle McMartin <kmcmarti@redhat.com>
Kyle McMartin fd8c9e
- aarch64: Drop strchrnul.S revert, apply fix from Richard Earnshaw.
Kyle McMartin fd8c9e
c13214
* Fri Dec 05 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-13
c13214
- Fix permission of debuginfo source files to allow multiarch
c13214
  debuginfo packages to be installed and upgraded.
c13214
c13214
* Fri Dec 05 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-12
Siddhesh Poyarekar e7f91b
- Remove LIB_LANG since we don't install locales in /usr/lib/locale anymore.
Siddhesh Poyarekar 0cda72
- Don't own any directories in /usr/share/locale (#1167445).
Siddhesh Poyarekar 0cda72
- Use the %%find_lang macro to get the *.mo files (#1167445).
Siddhesh Poyarekar 7728cb
- Add %%lang tags to language locale files in /usr/share/i18n/locale (#1169044).
Siddhesh Poyarekar a9ff8b
Kyle McMartin eb1641
* Wed Dec 03 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.20.90-11
Kyle McMartin eb1641
- aarch64: revert optimized strchrnul.S implementation (rhbz#1167501)
Kyle McMartin eb1641
  until it can be debugged.
Kyle McMartin eb1641
66b39f
* Fri Nov 28 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-10
66b39f
- Auto-sync with upstream master.
66b39f
ce126e
* Wed Nov 19 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-9
ce126e
- Sync with upstream master.
ce126e
Siddhesh Poyarekar b80bba
* Wed Nov 05 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-8
Siddhesh Poyarekar b80bba
- Make getconf return only /usr/bin (#1138835).
Siddhesh Poyarekar 5c361d
- Sync with upstream master.
Siddhesh Poyarekar b80bba
88659d
* Tue Nov 04 2014 Arjun Shankar <arjun.is@lostca.se> - 2.20.90-7
88659d
- Add patch that modifies several tests to use test-skeleton.c.
88659d
  The patch is accepted but not yet committed upstream.
88659d
  https://sourceware.org/ml/libc-alpha/2014-10/msg00744.html
88659d
f8be71
* Tue Sep 30 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-6
Siddhesh Poyarekar a391f0
- Sync with upstream master.
f8be71
- Disable more Intel TSX usage in rwlocks (#1146967).
Siddhesh Poyarekar 49b191
- Enable lock elision again on s390 and s390x.
Siddhesh Poyarekar 484979
- Enable Systemtap SDT probes for all architectures (#985109).
f8be71
f51594
* Fri Sep 26 2014 Carlos O'Donell <carlos@redhat.com> - 2.20.90-5
f51594
- Disable lock elision support for Intel hardware until microcode
f51594
  updates can be done in early bootup (#1146967).
f51594
- Fix building test tst-strtod-round for ARM.
f51594
Siddhesh Poyarekar 700749
* Tue Sep 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-4
Siddhesh Poyarekar a5b5c3
- Sync with upstream master.
Siddhesh Poyarekar 700749
- Don't own the common debuginfo directories (#1144853).
Siddhesh Poyarekar e9a7f4
- Run valgrind in the %%check section to ensure that it does not break.
Siddhesh Poyarekar 700749
Siddhesh Poyarekar 7ba078
* Tue Sep 16 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-3
Siddhesh Poyarekar 7ba078
- Sync with upstream master.
Siddhesh Poyarekar 7ba078
- Revert patch for #737223.
Siddhesh Poyarekar 7ba078
Siddhesh Poyarekar afa87a
* Mon Sep 08 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-2
Siddhesh Poyarekar afa87a
- Build build-locale-archive statically again.
Siddhesh Poyarekar afa87a
Siddhesh Poyarekar 680bff
* Mon Sep 08 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.20.90-1
Siddhesh Poyarekar 680bff
- Sync with upstream master.
Siddhesh Poyarekar 680bff
744852
* Thu Sep  4 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-36
744852
- Allow up to 32 dlopened modules to use static TLS (#1124987).
744852
- Run glibc tests in %%check section of RPM spec file.
744852
- Do not run tests with `-k` and fail if any test fails to build.
744852
Siddhesh Poyarekar f64bff
* Tue Aug 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-35
Siddhesh Poyarekar f64bff
- Sync with upstream master.
Siddhesh Poyarekar f64bff
- Use INTERNAL_SYSCALL in TLS_INIT_TP (#1133134).
Siddhesh Poyarekar f64bff
- Remove gconv loadable module transliteration support (CVE-2014-5119, #1119128).
Siddhesh Poyarekar f64bff
677678
* Fri Aug 22 2014 Dennis Gilmore <dennis@ausil.us> - 2.19.90-34
677678
- add back sss to nsswitch.conf we have added workarounds in the tools
677678
d0b160
* Thu Aug 21 2014 Kevin Fenzi <kevin@scrye.com> - 2.19.90-33.1
d0b160
- Rebuild for rpm bug 1131960
d0b160
87e4cc
* Tue Aug 19 2014 Dennis Gilmore <dennis@ausil.us> - 2.19.90-33
87e4cc
- remove sss from default nsswitch.conf it causes issues with live image composing
87e4cc
Siddhesh Poyarekar 75bedb
* Wed Aug 13 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-32
Siddhesh Poyarekar 75bedb
- Auto-sync with upstream master.
Siddhesh Poyarekar 75bedb
- Revert to only defining __extern_always_inline for g++-4.3+.
Siddhesh Poyarekar 75bedb
- Fix build failure in compat-gcc-32 (#186410).
Siddhesh Poyarekar 75bedb
Siddhesh Poyarekar d579c1
* Mon Jul 28 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-31
Siddhesh Poyarekar d579c1
- Auto-sync with upstream master.
Siddhesh Poyarekar d579c1
Siddhesh Poyarekar 3cb7ba
* Wed Jul 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-30
Siddhesh Poyarekar 2ca89e
- Undo last master sync to fix up rawhide.
Siddhesh Poyarekar 2ca89e
Siddhesh Poyarekar c54d24
* Tue Jul 15 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-29
Siddhesh Poyarekar c54d24
- Auto-sync with upstream master.
Siddhesh Poyarekar c54d24
e653c3
* Sat Jul 12 2014 Tom Callaway <spot@fedoraproject.org> - 2.19.90-28
e653c3
- fix license handling
e653c3
Siddhesh Poyarekar dc2e7c
* Mon Jul 07 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-27
Siddhesh Poyarekar dc2e7c
- Auto-sync with upstream master.
Siddhesh Poyarekar dc2e7c
Siddhesh Poyarekar 1779ef
* Fri Jul 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-26
Siddhesh Poyarekar 1779ef
- Sync with upstream roland/nptl branch.
Siddhesh Poyarekar 1779ef
- Improve testsuite failure outputs in build.log
Siddhesh Poyarekar 1779ef
Siddhesh Poyarekar 1ea305
* Thu Jul 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-25
Siddhesh Poyarekar 1ea305
- Sync with upstream roland/nptl branch.
Siddhesh Poyarekar 1ea305
Siddhesh Poyarekar 191c4d
* Wed Jul 02 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-24
Siddhesh Poyarekar 191c4d
- Sync with upstream master.
Siddhesh Poyarekar 191c4d
Siddhesh Poyarekar 9eb38c
* Tue Jun 24 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-23
Siddhesh Poyarekar 9eb38c
- Sync with upstream master.
Siddhesh Poyarekar 9eb38c
- Add fix to unbreak i386 ABI breakage due to a change in scalbn.
Siddhesh Poyarekar 9eb38c
Kyle McMartin b66a13
* Fri Jun 20 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.19.90-22
Kyle McMartin b66a13
- AArch64: Save & restore NZCV (flags) upon entry to _dl_tlsdesc_dynamic
Kyle McMartin b66a13
  in order to work around GCC reordering compares across the TLS
Kyle McMartin b66a13
  descriptor sequence (GCC PR61545.) Committing a (temporary) fix here
Kyle McMartin b66a13
  allows us to avoid rebuilding the world with gcc 4.9.0-11.fc21.
Kyle McMartin b66a13
Kyle McMartin a0c2da
* Mon Jun 16 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.19.90-21
Kyle McMartin a0c2da
- Auto-sync with upstream master.
Kyle McMartin a0c2da
Siddhesh Poyarekar 8f0eca
* Thu Jun 12 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-20
Siddhesh Poyarekar 8f0eca
- Auto-sync with upstream master.
Siddhesh Poyarekar 8f0eca
19b41e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.19.90-19.1
19b41e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
19b41e
Siddhesh Poyarekar 9d331e
* Tue Jun 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-19
Siddhesh Poyarekar 9d331e
- Sync with upstream master.
Siddhesh Poyarekar 9d331e
Siddhesh Poyarekar 8710f4
* Mon May 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-18
Siddhesh Poyarekar 8710f4
- Sync with upstream master.
Siddhesh Poyarekar 8da75f
- Adjust rtkaio patches to build with upstream master.
Siddhesh Poyarekar 8710f4
Kyle McMartin b39b86
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-17
Kyle McMartin b39b86
- Backport some upstream-wards patches to fix TLS issues on AArch64.
Kyle McMartin b39b86
Kyle McMartin abfaca
* Wed May 21 2014 Kyle McMartin <kyle@fedoraproject.org> - 2.19.90-16
Kyle McMartin abfaca
- AArch64: Fix handling of nocancel syscall failures (#1098327)
Kyle McMartin abfaca
Siddhesh Poyarekar 25cc20
* Thu May 15 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-15
Siddhesh Poyarekar 25cc20
- Sync with upstream master.
Siddhesh Poyarekar 25cc20
647ffb
* Wed May 14 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-14
647ffb
- Add support for displaying all test results in build logs.
647ffb
cffaeb
* Wed May 14 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-13
cffaeb
- Add initial support for ppc64le.
cffaeb
Siddhesh Poyarekar f0de90
* Tue Apr 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-12
Siddhesh Poyarekar f0de90
- Auto-sync with upstream master.
Siddhesh Poyarekar 543337
- Remove ports addon.
Siddhesh Poyarekar f0de90
Siddhesh Poyarekar 4d17ec
* Fri Apr 18 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-11
Siddhesh Poyarekar 4d17ec
- Sync with upstream master.
Siddhesh Poyarekar 4d17ec
Siddhesh Poyarekar c899b4
* Thu Apr 10 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-10
Siddhesh Poyarekar c899b4
- Sync with upstream master.
Siddhesh Poyarekar c899b4
Siddhesh Poyarekar b5ec00
* Thu Apr 03 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-9
Siddhesh Poyarekar b5ec00
- Sync with upstream master.
Siddhesh Poyarekar b5ec00
Siddhesh Poyarekar e7c5d5
* Wed Mar 26 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-8
Siddhesh Poyarekar e7c5d5
- Sync with upstream master.
Siddhesh Poyarekar e7c5d5
Siddhesh Poyarekar b7b25c
* Wed Mar 19 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-7
Siddhesh Poyarekar b7b25c
- Sync with upstream master.
Siddhesh Poyarekar b7b25c
- Fix offset computation for append+ mode on switching from read (#1078355).
Siddhesh Poyarekar b7b25c
43bff1
* Wed Mar 12 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-6
43bff1
- Sync with upstream master.
43bff1
- Use cleaner upstream solution for -ftree-loop-distribute-patterns (#911307).
43bff1
Siddhesh Poyarekar 51574b
* Tue Mar 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-5
Siddhesh Poyarekar 51574b
- Sync with upstream master.
Siddhesh Poyarekar 51574b
Siddhesh Poyarekar bdbcf8
* Thu Feb 27 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-4
Siddhesh Poyarekar bdbcf8
- Use nscd service files from glibc sources.
Siddhesh Poyarekar bdbcf8
- Make nscd service forking in systemd service file.
Siddhesh Poyarekar bdbcf8
Siddhesh Poyarekar 52f69e
* Tue Feb 25 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-3
Siddhesh Poyarekar 52f69e
- Sync with upstream master.
Siddhesh Poyarekar 52f69e
- Separate ftell from fseek logic and avoid modifying FILE data (#1069559).
Siddhesh Poyarekar 52f69e
eaa1d4
* Mon Feb 24 2014 Carlos O'Donell <carlos@redhat.com> - 2.19.90-2
eaa1d4
- Fix build-locale-archive failure to open default template.
eaa1d4
Siddhesh Poyarekar 372014
* Tue Feb 18 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.19.90-1
Siddhesh Poyarekar 372014
- Sync with upstream master.
Siddhesh Poyarekar 372014
Siddhesh Poyarekar c90adf
* Tue Feb 04 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-27
Siddhesh Poyarekar c90adf
- Sync with upstream master.
Siddhesh Poyarekar c90adf
Siddhesh Poyarekar 80e87f
* Wed Jan 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-26
Siddhesh Poyarekar 80e87f
- Modify regular expressions to include powerpcle stubs-*.h (#1058258).
Siddhesh Poyarekar 80e87f
Siddhesh Poyarekar 68ca56
* Wed Jan 29 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-25
Siddhesh Poyarekar ef2183
- Sync with upstream master.
Siddhesh Poyarekar 68ca56
Siddhesh Poyarekar 56fa24
* Sat Jan 25 2014 Ville Skyttä <ville.skytta@iki.fi> - 2.18.90-24
111d75
- Own the %%{_prefix}/lib/locale dir.
111d75
Siddhesh Poyarekar e74f40
* Thu Jan 23 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-23
Siddhesh Poyarekar e74f40
- Sync with upstream master.
Siddhesh Poyarekar e74f40
Siddhesh Poyarekar 0a210c
* Thu Jan 16 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-22
Siddhesh Poyarekar 0a210c
- Back out ftell test case (#1052846).
Siddhesh Poyarekar 0a210c
Siddhesh Poyarekar 8ecbee
* Tue Jan 14 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-21
Siddhesh Poyarekar 8ecbee
- Sync with upstream master.
Siddhesh Poyarekar 8ecbee
- Fix infinite loop in ftell when writing wide char data (#1052846).
Siddhesh Poyarekar 8ecbee
Siddhesh Poyarekar 216cf9
* Tue Jan  7 2014 Siddhesh Poyarekar <siddhesh@redhat.com> - 2.18.90-20
Siddhesh Poyarekar 216cf9
- Sync with upstream master.
Siddhesh Poyarekar 216cf9
- Enable systemtap probes on Power and S/390.