|
Patsy Franklin |
c0cdff7 |
%define glibcsrcdir glibc-2.31.9000-263-g2de7fe6253
|
|
Patsy Franklin |
505d538 |
%define glibcversion 2.31.9000
|
|
Siddhesh Poyarekar |
5817231 |
# Pre-release tarballs are pulled in from git using a command that is
|
|
Siddhesh Poyarekar |
5817231 |
# effectively:
|
|
Siddhesh Poyarekar |
5817231 |
#
|
|
Siddhesh Poyarekar |
5817231 |
# git archive HEAD --format=tar --prefix=$(git describe --match 'glibc-*')/ \
|
|
Siddhesh Poyarekar |
5817231 |
# > $(git describe --match 'glibc-*').tar
|
|
Siddhesh Poyarekar |
5817231 |
# gzip -9 $(git describe --match 'glibc-*').tar
|
|
Siddhesh Poyarekar |
5817231 |
#
|
|
Siddhesh Poyarekar |
5817231 |
# glibc_release_url is only defined when we have a release tarball.
|
|
 |
3bd5cf3 |
%{lua: if string.match(rpm.expand("%glibcsrcdir"), "^glibc%-[0-9.]+$") then
|
|
 |
3bd5cf3 |
rpm.define("glibc_release_url https://ftp.gnu.org/gnu/glibc/") end}
|
|
 |
9abcefa |
##############################################################################
|
|
 |
c57221c |
# We support the following options:
|
|
Carlos O'Donell |
6e8e9f6 |
# --with/--without,
|
|
Carlos O'Donell |
6e8e9f6 |
# * testsuite - Running the testsuite.
|
|
Carlos O'Donell |
6e8e9f6 |
# * benchtests - Running and building benchmark subpackage.
|
|
Carlos O'Donell |
6e8e9f6 |
# * bootstrap - Bootstrapping the package.
|
|
Carlos O'Donell |
6e8e9f6 |
# * werror - Build with -Werror
|
|
Carlos O'Donell |
6e8e9f6 |
# * docs - Build with documentation and the required dependencies.
|
|
Carlos O'Donell |
6e8e9f6 |
# * valgrind - Run smoke tests with valgrind to verify dynamic loader.
|
|
Carlos O'Donell |
6e8e9f6 |
#
|
|
Carlos O'Donell |
6e8e9f6 |
# You must always run the testsuite for production builds.
|
|
Carlos O'Donell |
6e8e9f6 |
# Default: Always run the testsuite.
|
|
Carlos O'Donell |
6e8e9f6 |
%bcond_without testsuite
|
|
Carlos O'Donell |
6e8e9f6 |
# Default: Always build the benchtests.
|
|
Carlos O'Donell |
6e8e9f6 |
%bcond_without benchtests
|
|
Carlos O'Donell |
6e8e9f6 |
# Default: Not bootstrapping.
|
|
Carlos O'Donell |
6e8e9f6 |
%bcond_with bootstrap
|
|
Carlos O'Donell |
6e8e9f6 |
# Default: Enable using -Werror
|
|
Carlos O'Donell |
6e8e9f6 |
%bcond_without werror
|
|
Carlos O'Donell |
6e8e9f6 |
# Default: Always build documentation.
|
|
Carlos O'Donell |
6e8e9f6 |
%bcond_without docs
|
|
Carlos O'Donell |
6e8e9f6 |
|
|
 |
b0deb57 |
# Default: Always run valgrind tests if there is architecture support.
|
|
 |
b0deb57 |
%ifarch %{valgrind_arches}
|
|
 |
b0deb57 |
%bcond_without valgrind
|
|
 |
b0deb57 |
%else
|
|
 |
b0deb57 |
%bcond_with valgrind
|
|
 |
b0deb57 |
%endif
|
|
 |
b0deb57 |
# Restrict %%{valgrind_arches} further in case there are problems with
|
|
 |
b0deb57 |
# the smoke test.
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with valgrind}
|
|
 |
b0deb57 |
%ifarch ppc64 ppc64p7
|
|
 |
b0deb57 |
# The valgrind smoke test does not work on ppc64, ppc64p7 (bug 1273103).
|
|
Carlos O'Donell |
6e8e9f6 |
%undefine with_valgrind
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
 |
b0deb57 |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with bootstrap}
|
|
Carlos O'Donell |
6e8e9f6 |
# Disable benchtests, -Werror, docs, and valgrind if we're bootstrapping
|
|
Carlos O'Donell |
6e8e9f6 |
%undefine with_benchtests
|
|
Carlos O'Donell |
6e8e9f6 |
%undefine with_werror
|
|
Carlos O'Donell |
6e8e9f6 |
%undefine with_docs
|
|
Carlos O'Donell |
6e8e9f6 |
%undefine with_valgrind
|
|
Siddhesh Poyarekar |
5d3d5d4 |
%endif
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Auxiliary arches are those arches that can be built in addition
|
|
 |
9abcefa |
# to the core supported arches. You either install an auxarch or
|
|
 |
9abcefa |
# you install the base arch, not both. You would do this in order
|
|
 |
9abcefa |
# to provide a more optimized version of the package for your arch.
|
|
 |
c1407c8 |
%define auxarches athlon alphaev6
|
|
Carlos O'Donell |
b60f740 |
|
|
 |
cc5db6c |
# Only some architectures have static PIE support.
|
|
 |
a4166cd |
%define pie_arches %{ix86} x86_64
|
|
 |
cc5db6c |
|
|
 |
3bef91d |
# Build the POWER9 runtime on POWER, but only for downstream.
|
|
 |
3bef91d |
%ifarch ppc64le
|
|
 |
3bef91d |
%define buildpower9 0%{?rhel} > 0
|
|
 |
3bef91d |
%else
|
|
 |
3bef91d |
%define buildpower9 0
|
|
 |
3bef91d |
%endif
|
|
 |
3bef91d |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Any architecture/kernel combination that supports running 32-bit and 64-bit
|
|
 |
9abcefa |
# code in userspace is considered a biarch arch.
|
|
Carlos O'Donell |
130c497 |
%define biarcharches %{ix86} x86_64 %{power64} s390 s390x
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# If the debug information is split into two packages, the core debuginfo
|
|
 |
9abcefa |
# pacakge and the common debuginfo package then the arch should be listed
|
|
 |
9abcefa |
# here. If the arch is not listed here then a single core debuginfo package
|
|
 |
9abcefa |
# will be created for the architecture.
|
|
Andreas Schwab |
87a7e49 |
%define debuginfocommonarches %{biarcharches} alpha alphaev6
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# %%package glibc - The GNU C Library (glibc) core package.
|
|
 |
9abcefa |
##############################################################################
|
|
 |
ffc48ad |
Summary: The GNU libc libraries
|
|
cvsdist |
c381c23 |
Name: glibc
|
|
Andreas Schwab |
237bb90 |
Version: %{glibcversion}
|
|
Patsy Franklin |
c0cdff7 |
Release: 4%{?dist}
|
|
 |
43a2140 |
|
|
 |
43a2140 |
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
|
 |
43a2140 |
# libraries.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# LGPLv2+ with exceptions is used for things that are linked directly
|
|
 |
43a2140 |
# into dynamically linked programs and shared libraries (e.g. crt
|
|
 |
43a2140 |
# files, lib*_nonshared.a). Historically, this exception also applies
|
|
 |
43a2140 |
# to parts of libio.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# GPLv2+ with exceptions is used for parts of the Arm unwinder.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# GFDL is used for the documentation.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# Some other licenses are used in various places (BSD, Inner-Net,
|
|
 |
43a2140 |
# ISC, Public Domain).
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# HSRL and FSFAP are only used in test cases, which currently do not
|
|
 |
43a2140 |
# ship in binary RPMs, so they are not listed here. MIT is used for
|
|
 |
43a2140 |
# scripts/install-sh, which does not ship, either.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# GPLv3+ is used by manual/texinfo.tex, which we do not use.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# LGPLv3+ is used by some Hurd code, which we do not build.
|
|
 |
43a2140 |
#
|
|
 |
43a2140 |
# LGPLv2 is used in one place (time/timespec_get.c, by mistake), but
|
|
 |
43a2140 |
# it is not actually compiled, so it does not matter for libraries.
|
|
 |
43a2140 |
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL
|
|
 |
43a2140 |
|
|
Andreas Schwab |
68ea17c |
URL: http://www.gnu.org/software/glibc/
|
|
 |
fb1f848 |
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.xz
|
|
 |
7e6e06c |
Source1: nscd.conf
|
|
 |
7e6e06c |
Source2: bench.mk
|
|
 |
7e6e06c |
Source3: glibc-bench-compare
|
|
 |
5a04553 |
# A copy of localedata/SUPPORTED in the Source0 tarball. The
|
|
 |
a92e3b7 |
# SUPPORTED file is used below to generate the list of locale
|
|
 |
5a04553 |
# packages, using a Lua snippet.
|
|
Patsy Franklin |
ebf7539 |
# When the upstream SUPPORTED is out of sync with our copy, the
|
|
Patsy Franklin |
ebf7539 |
# prep phase will fail and you will need to update the local
|
|
Patsy Franklin |
ebf7539 |
# copy.
|
|
 |
9edc2b6 |
Source11: SUPPORTED
|
|
 |
29d1004 |
# Include in the source RPM for reference.
|
|
 |
29d1004 |
Source12: ChangeLog.old
|
|
 |
64db3ac |
# Provide ISO language code to name translation using Python's
|
|
 |
64db3ac |
# langtable. The langtable data is maintained by the Fedora
|
|
 |
64db3ac |
# i18n team and is a harmonization of CLDR and glibc lang_name
|
|
 |
64db3ac |
# data in a more accessible API (also used by Anaconda).
|
|
 |
64db3ac |
Source13: convnames.py
|
|
 |
29d1004 |
|
|
 |
9abcefa |
##############################################################################
|
|
Carlos O'Donell |
0e17ea2 |
# Patches:
|
|
Carlos O'Donell |
0e17ea2 |
# - See each individual patch file for origin and upstream status.
|
|
Carlos O'Donell |
0e17ea2 |
# - For new patches follow template.patch format.
|
|
Carlos O'Donell |
0e17ea2 |
##############################################################################
|
|
 |
7e6e06c |
Patch1: glibc-fedora-nscd.patch
|
|
Carlos O'Donell |
bebdebb |
Patch3: glibc-rh697421.patch
|
|
Carlos O'Donell |
bebdebb |
Patch4: glibc-fedora-linux-tcsetattr.patch
|
|
Carlos O'Donell |
bebdebb |
Patch5: glibc-rh741105.patch
|
|
Carlos O'Donell |
bebdebb |
Patch6: glibc-fedora-localedef.patch
|
|
Carlos O'Donell |
bebdebb |
Patch7: glibc-fedora-nis-rh188246.patch
|
|
Carlos O'Donell |
bebdebb |
Patch8: glibc-fedora-manual-dircategory.patch
|
|
Carlos O'Donell |
bebdebb |
Patch9: glibc-rh827510.patch
|
|
Carlos O'Donell |
bebdebb |
Patch12: glibc-rh819430.patch
|
|
Carlos O'Donell |
bebdebb |
Patch13: glibc-fedora-localedata-rh61908.patch
|
|
Carlos O'Donell |
bebdebb |
Patch14: glibc-fedora-__libc_multiple_libcs.patch
|
|
Carlos O'Donell |
bebdebb |
Patch15: glibc-rh1070416.patch
|
|
Carlos O'Donell |
bebdebb |
Patch16: glibc-nscd-sysconfig.patch
|
|
Carlos O'Donell |
bebdebb |
Patch17: glibc-cs-path.patch
|
|
Carlos O'Donell |
bebdebb |
Patch18: glibc-c-utf8-locale.patch
|
|
 |
71cb283 |
Patch23: glibc-python3.patch
|
|
 |
7e6e06c |
Patch29: glibc-fedora-nsswitch.patch
|
|
 |
a4d24cb |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Continued list of core "glibc" package information:
|
|
 |
9abcefa |
##############################################################################
|
|
 |
ffc48ad |
Obsoletes: glibc-profile < 2.4
|
|
cvsdist |
c381c23 |
Provides: ldconfig
|
|
 |
9abcefa |
|
|
 |
754fe39 |
# The dynamic linker supports DT_GNU_HASH
|
|
 |
754fe39 |
Provides: rtld(GNU_HASH)
|
|
 |
afea822 |
|
|
 |
afea822 |
# We need libgcc for cancellation support in POSIX threads.
|
|
 |
afea822 |
Requires: libgcc%{_isa}
|
|
 |
afea822 |
|
|
cvsdist |
c381c23 |
Requires: glibc-common = %{version}-%{release}
|
|
 |
9abcefa |
|
|
 |
ad93166 |
# Various components (regex, glob) have been imported from gnulib.
|
|
 |
ad93166 |
Provides: bundled(gnulib)
|
|
 |
ad93166 |
|
|
 |
87b6ed7 |
Requires(pre): basesystem
|
|
 |
eb580e4 |
Requires: basesystem
|
|
 |
9abcefa |
|
|
cvsdist |
e8590cd |
# This is for building auxiliary programs like memusage, nscd
|
|
cvsdist |
c381c23 |
# For initial glibc bootstraps it can be commented out
|
|
Andreas Krebbel |
71d4a02 |
%if %{without bootstrap}
|
|
Carlos O'Donell |
6e8e9f6 |
BuildRequires: gd-devel libpng-devel zlib-devel
|
|
Andreas Krebbel |
71d4a02 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with docs}
|
|
Carlos O'Donell |
6e8e9f6 |
# Removing texinfo will cause check-safety.sh test to fail because it seems to
|
|
Carlos O'Donell |
6e8e9f6 |
# trigger documentation generation based on dependencies. We need to fix this
|
|
Carlos O'Donell |
6e8e9f6 |
# upstream in some way that doesn't depend on generating docs to validate the
|
|
Carlos O'Donell |
6e8e9f6 |
# texinfo. I expect it's simply the wrong dependency for that target.
|
|
 |
238627a |
BuildRequires: texinfo >= 5.0
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{without bootstrap}
|
|
Carlos O'Donell |
6e8e9f6 |
BuildRequires: libselinux-devel >= 1.33.4-3
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext
|
|
Carlos O'Donell |
0457f64 |
# We need procps-ng (/bin/ps), util-linux (/bin/kill), and gawk (/bin/awk),
|
|
Carlos O'Donell |
0457f64 |
# but it is more flexible to require the actual programs and let rpm infer
|
|
Carlos O'Donell |
0457f64 |
# the packages. However, until bug 1259054 is widely fixed we avoid the
|
|
Carlos O'Donell |
0457f64 |
# following:
|
|
Carlos O'Donell |
0457f64 |
# BuildRequires: /bin/ps, /bin/kill, /bin/awk
|
|
Carlos O'Donell |
0457f64 |
# And use instead (which should be reverted some time in the future):
|
|
Carlos O'Donell |
0457f64 |
BuildRequires: procps-ng, util-linux, gawk
|
|
Andreas Schwab |
c883c14 |
BuildRequires: systemtap-sdt-devel
|
|
 |
9abcefa |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with valgrind}
|
|
Carlos O'Donell |
0457f64 |
# Require valgrind for smoke testing the dynamic loader to make sure we
|
|
Carlos O'Donell |
0457f64 |
# have not broken valgrind.
|
|
Mark Wielaard |
05146e3 |
BuildRequires: valgrind
|
|
Siddhesh Poyarekar |
e9a7f4c |
%endif
|
|
Siddhesh Poyarekar |
e9a7f4c |
|
|
Siddhesh Poyarekar |
944ed51 |
# We use systemd rpm macros for nscd
|
|
Siddhesh Poyarekar |
944ed51 |
BuildRequires: systemd
|
|
Siddhesh Poyarekar |
944ed51 |
|
|
 |
a63c0b6 |
# We use python for the microbenchmarks and locale data regeneration
|
|
 |
a63c0b6 |
# from unicode sources (carried out manually). We choose python3
|
|
 |
a63c0b6 |
# explicitly because it supports both use cases. On some
|
|
 |
a63c0b6 |
# distributions, python3 does not actually install /usr/bin/python3,
|
|
 |
a63c0b6 |
# so we also depend on python3-devel.
|
|
 |
a63c0b6 |
BuildRequires: python3 python3-devel
|
|
 |
64db3ac |
BuildRequires: python3dist(langtable)
|
|
 |
37b7dfd |
|
|
 |
00b734f |
# This GCC version is needed for -fstack-clash-protection support.
|
|
 |
cf072ec |
BuildRequires: gcc >= 7.2.1-6
|
|
 |
fda3e07 |
%define enablekernel 3.2
|
|
Andreas Schwab |
98c76af |
Conflicts: kernel < %{enablekernel}
|
|
Andreas Schwab |
444e2cc |
%define target %{_target_cpu}-redhat-linux
|
|
Andreas Schwab |
444e2cc |
%ifarch %{arm}
|
|
Andreas Schwab |
444e2cc |
%define target %{_target_cpu}-redhat-linuxeabi
|
|
cvsdist |
7abcfd3 |
%endif
|
|
 |
98dddaf |
%ifarch %{power64}
|
|
 |
cffaeb6 |
%ifarch ppc64le
|
|
 |
cffaeb6 |
%define target ppc64le-redhat-linux
|
|
 |
cffaeb6 |
%else
|
|
 |
98dddaf |
%define target ppc64-redhat-linux
|
|
 |
98dddaf |
%endif
|
|
 |
cffaeb6 |
%endif
|
|
 |
9abcefa |
|
|
 |
e098446 |
# GNU make 4.0 introduced the -O option.
|
|
 |
e098446 |
BuildRequires: make >= 4.0
|
|
 |
e098446 |
|
|
 |
bb83f92 |
# The intl subsystem generates a parser using bison.
|
|
 |
bb83f92 |
BuildRequires: bison >= 2.7
|
|
 |
bb83f92 |
|
|
 |
8a71833 |
# binutils 2.30-17 is needed for --generate-missing-build-notes.
|
|
 |
8a71833 |
BuildRequires: binutils >= 2.30-17
|
|
 |
cd5e5a1 |
|
|
Andreas Schwab |
677ba77 |
# Earlier releases have broken support for IRELATIVE relocations
|
|
Andreas Schwab |
677ba77 |
Conflicts: prelink < 0.4.2
|
|
 |
9abcefa |
|
|
Andreas Schwab |
237bb90 |
%if 0%{?_enable_debug_packages}
|
|
 |
ffc48ad |
BuildRequires: elfutils >= 0.72
|
|
 |
dcaaa78 |
BuildRequires: rpm >= 4.2-0.56
|
|
cvsdist |
c381c23 |
%endif
|
|
 |
9abcefa |
|
|
Andreas Krebbel |
71d4a02 |
%if %{without bootstrap}
|
|
Carlos O'Donell |
8fdf674 |
%if %{with testsuite}
|
|
Carlos O'Donell |
8fdf674 |
# The testsuite builds static C++ binaries that require a C++ compiler,
|
|
Carlos O'Donell |
8fdf674 |
# static C++ runtime from libstdc++-static, and lastly static glibc.
|
|
Carlos O'Donell |
6e8e9f6 |
BuildRequires: gcc-c++
|
|
 |
dbc262b |
BuildRequires: libstdc++-static
|
|
Carlos O'Donell |
8fdf674 |
# A configure check tests for the ability to create static C++ binaries
|
|
Carlos O'Donell |
8fdf674 |
# before glibc is built and therefore we need a glibc-static for that
|
|
Carlos O'Donell |
8fdf674 |
# check to pass even if we aren't going to use any of those objects to
|
|
Carlos O'Donell |
8fdf674 |
# build the tests.
|
|
Carlos O'Donell |
8fdf674 |
BuildRequires: glibc-static
|
|
 |
90612b2 |
|
|
 |
90612b2 |
# libidn2 (but not libidn2-devel) is needed for testing AI_IDN/NI_IDN.
|
|
 |
90612b2 |
BuildRequires: libidn2
|
|
Carlos O'Donell |
8fdf674 |
%endif
|
|
Carlos O'Donell |
8fdf674 |
%endif
|
|
 |
dbc262b |
|
|
 |
9abcefa |
# Filter out all GLIBC_PRIVATE symbols since they are internal to
|
|
 |
8c7b7c2 |
# the package and should not be examined by any other tool.
|
|
Andreas Schwab |
96f2a7b |
%global __filter_GLIBC_PRIVATE 1
|
|
cvsdist |
c381c23 |
|
|
Carlos O'Donell |
f2d4020 |
# For language packs we have glibc require a virtual dependency
|
|
Carlos O'Donell |
f2d4020 |
# "glibc-langpack" wich gives us at least one installed langpack.
|
|
Carlos O'Donell |
f2d4020 |
# If no langpack providing 'glibc-langpack' was installed you'd
|
|
Carlos O'Donell |
f2d4020 |
# get all of them, and that would make the transition from a
|
|
Carlos O'Donell |
f2d4020 |
# system without langpacks smoother (you'd get all the locales
|
|
Carlos O'Donell |
f2d4020 |
# installed). You would then trim that list, and the trimmed list
|
|
Carlos O'Donell |
f2d4020 |
# is preserved. One problem is you can't have "no" locales installed,
|
|
Carlos O'Donell |
f2d4020 |
# in that case we offer a "glibc-minimal-langpack" sub-pakcage for
|
|
Carlos O'Donell |
f2d4020 |
# this purpose.
|
|
Carlos O'Donell |
f2d4020 |
Requires: glibc-langpack = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
Suggests: glibc-all-langpacks = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
|
|
cvsdist |
c381c23 |
%description
|
|
cvsdist |
c381c23 |
The glibc package contains standard libraries which are used by
|
|
cvsdist |
c381c23 |
multiple programs on the system. In order to save disk space and
|
|
cvsdist |
c381c23 |
memory, as well as to make upgrading easier, common system code is
|
|
cvsdist |
c381c23 |
kept in one place and shared between programs. This particular package
|
|
cvsdist |
c381c23 |
contains the most important sets of shared libraries: the standard C
|
|
cvsdist |
c381c23 |
library and the standard math library. Without these two libraries, a
|
|
cvsdist |
c381c23 |
Linux system will not function.
|
|
cvsdist |
c381c23 |
|
|
 |
7ad97ba |
######################################################################
|
|
 |
b8bc11a |
# libnsl subpackage
|
|
 |
b8bc11a |
######################################################################
|
|
 |
b8bc11a |
|
|
 |
b8bc11a |
%package -n libnsl
|
|
 |
b8bc11a |
Summary: Legacy support library for NIS
|
|
 |
b8bc11a |
Requires: %{name}%{_isa} = %{version}-%{release}
|
|
 |
b8bc11a |
|
|
 |
b8bc11a |
%description -n libnsl
|
|
 |
b8bc11a |
This package provides the legacy version of libnsl library, for
|
|
 |
b8bc11a |
accessing NIS services.
|
|
 |
b8bc11a |
|
|
 |
b8bc11a |
This library is provided for backwards compatibility only;
|
|
 |
b8bc11a |
applications should use libnsl2 instead to gain IPv6 support.
|
|
 |
b8bc11a |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc "devel" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%package devel
|
|
cvsdist |
c381c23 |
Summary: Object files for development using standard C libraries.
|
|
Andreas Schwab |
237bb90 |
Requires(pre): %{name}-headers
|
|
Andreas Schwab |
237bb90 |
Requires: %{name}-headers = %{version}-%{release}
|
|
 |
ffc48ad |
Requires: %{name} = %{version}-%{release}
|
|
 |
2687b3c |
Requires: libxcrypt-devel%{_isa} >= 4.0.0
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description devel
|
|
cvsdist |
c381c23 |
The glibc-devel package contains the object files necessary
|
|
cvsdist |
c381c23 |
for developing programs which use the standard C libraries (which are
|
|
cvsdist |
c381c23 |
used by nearly all programs). If you are developing programs which
|
|
cvsdist |
c381c23 |
will use the standard C libraries, your system needs to have these
|
|
cvsdist |
c381c23 |
standard object files available in order to create the
|
|
cvsdist |
c381c23 |
executables.
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
Install glibc-devel if you are going to develop programs which will
|
|
cvsdist |
c381c23 |
use the standard C libraries.
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc "static" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
 |
65bf1c4 |
%package static
|
|
 |
65bf1c4 |
Summary: C library static libraries for -static linking.
|
|
 |
65bf1c4 |
Requires: %{name}-devel = %{version}-%{release}
|
|
 |
2687b3c |
Requires: libxcrypt-static%{?_isa} >= 4.0.0
|
|
 |
65bf1c4 |
|
|
 |
65bf1c4 |
%description static
|
|
 |
65bf1c4 |
The glibc-static package contains the C library static libraries
|
|
 |
65bf1c4 |
for -static linking. You don't need these, unless you link statically,
|
|
 |
65bf1c4 |
which is highly discouraged.
|
|
 |
65bf1c4 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc "headers" sub-package
|
|
Carlos O'Donell |
e63fda9 |
# - The headers package includes all common headers that are shared amongst
|
|
Carlos O'Donell |
e63fda9 |
# the multilib builds. It was created to reduce the download size, and
|
|
Carlos O'Donell |
e63fda9 |
# thus avoid downloading one header package per multilib. The package is
|
|
Carlos O'Donell |
e63fda9 |
# identical both in content and file list, any difference is an error.
|
|
Carlos O'Donell |
e63fda9 |
# Files like gnu/stubs.h which have gnu/stubs-32.h (i686) and gnu/stubs-64.h
|
|
Carlos O'Donell |
e63fda9 |
# are included in glibc-headers, but the -32 and -64 files are in their
|
|
Carlos O'Donell |
e63fda9 |
# respective i686 and x86_64 devel packages.
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%package headers
|
|
cvsdist |
c381c23 |
Summary: Header files for development using standard C libraries.
|
|
cvsdist |
c381c23 |
Provides: %{name}-headers(%{_target_cpu})
|
|
 |
ffc48ad |
Requires(pre): kernel-headers
|
|
 |
eb580e4 |
# Uses 'rm' to remove problematic kernel headers.
|
|
 |
eb580e4 |
Requires(pre): coreutils
|
|
 |
4465bbc |
Requires: kernel-headers >= 2.2.1, %{name} = %{version}-%{release}
|
|
 |
fda3e07 |
BuildRequires: kernel-headers >= 3.2
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description headers
|
|
cvsdist |
c381c23 |
The glibc-headers package contains the header files necessary
|
|
cvsdist |
c381c23 |
for developing programs which use the standard C libraries (which are
|
|
cvsdist |
c381c23 |
used by nearly all programs). If you are developing programs which
|
|
cvsdist |
c381c23 |
will use the standard C libraries, your system needs to have these
|
|
cvsdist |
c381c23 |
standard header files available in order to create the
|
|
cvsdist |
c381c23 |
executables.
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
Install glibc-headers if you are going to develop programs which will
|
|
cvsdist |
c381c23 |
use the standard C libraries.
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc "common" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%package common
|
|
cvsdist |
c381c23 |
Summary: Common binaries and locale data for glibc
|
|
 |
e5e8f77 |
Requires: %{name} = %{version}-%{release}
|
|
cvsdist |
c381c23 |
Requires: tzdata >= 2003a
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description common
|
|
cvsdist |
c381c23 |
The glibc-common package includes common binaries for the GNU libc
|
|
cvsdist |
c381c23 |
libraries, as well as national language (locale) support.
|
|
cvsdist |
c381c23 |
|
|
 |
c09c662 |
######################################################################
|
|
 |
c09c662 |
# File triggers to do ldconfig calls automatically (see rhbz#1380878)
|
|
 |
c09c662 |
######################################################################
|
|
 |
c09c662 |
|
|
 |
c09c662 |
# File triggers for when libraries are added or removed in standard
|
|
 |
28e47fe |
# paths.
|
|
 |
28e47fe |
%transfiletriggerin common -P 2000000 -- /lib /usr/lib /lib64 /usr/lib64
|
|
 |
28e47fe |
/sbin/ldconfig
|
|
 |
c09c662 |
%end
|
|
 |
c09c662 |
|
|
 |
28e47fe |
%transfiletriggerpostun common -P 2000000 -- /lib /usr/lib /lib64 /usr/lib64
|
|
 |
28e47fe |
/sbin/ldconfig
|
|
 |
c09c662 |
%end
|
|
 |
c09c662 |
|
|
 |
34927af |
# We need to run ldconfig manually because __brp_ldconfig assumes that
|
|
 |
34927af |
# glibc itself is always installed in $RPM_BUILD_ROOT, but with sysroots
|
|
 |
34927af |
# we may be installed into a subdirectory of that path. Therefore we
|
|
 |
34927af |
# unset __brp_ldconfig and run ldconfig by hand with the sysroots path
|
|
 |
34927af |
# passed to -r.
|
|
 |
c09c662 |
%undefine __brp_ldconfig
|
|
 |
c09c662 |
|
|
 |
c09c662 |
######################################################################
|
|
 |
c09c662 |
|
|
 |
9edc2b6 |
%package locale-source
|
|
 |
9edc2b6 |
Summary: The sources for the locales
|
|
 |
9edc2b6 |
Requires: %{name} = %{version}-%{release}
|
|
 |
9edc2b6 |
Requires: %{name}-common = %{version}-%{release}
|
|
 |
9edc2b6 |
|
|
 |
9edc2b6 |
%description locale-source
|
|
 |
9edc2b6 |
The sources for all locales provided in the language packs.
|
|
 |
9edc2b6 |
If you are building custom locales you will most likely use
|
|
 |
9edc2b6 |
these sources as the basis for your new locale.
|
|
 |
9edc2b6 |
|
|
 |
9df6505 |
%{lua:
|
|
 |
746617c |
-- Array of languages (ISO-639 codes).
|
|
 |
746617c |
local languages = {}
|
|
 |
746617c |
-- Dictionary from language codes (as in the languages array) to arrays
|
|
 |
746617c |
-- of regions.
|
|
 |
746617c |
local supplements = {}
|
|
 |
746617c |
do
|
|
 |
746617c |
-- Parse the SUPPORTED file. Eliminate duplicates.
|
|
 |
746617c |
local lang_region_seen = {}
|
|
 |
746617c |
for line in io.lines(rpm.expand("%{SOURCE11}")) do
|
|
 |
746617c |
-- Match lines which contain a language (eo) or language/region
|
|
 |
746617c |
-- (en_US) strings.
|
|
 |
746617c |
local lang_region = string.match(line, "^([a-z][^/@.]+)")
|
|
 |
746617c |
if lang_region ~= nil then
|
|
 |
746617c |
if lang_region_seen[lang_region] == nil then
|
|
 |
746617c |
lang_region_seen[lang_region] = true
|
|
 |
746617c |
|
|
 |
746617c |
-- Split language/region pair.
|
|
 |
746617c |
local lang, region = string.match(lang_region, "^(.+)_(.+)")
|
|
 |
746617c |
if lang == nil then
|
|
 |
746617c |
-- Region is missing, use only the language.
|
|
 |
746617c |
lang = lang_region
|
|
 |
746617c |
end
|
|
 |
746617c |
local suppl = supplements[lang]
|
|
 |
746617c |
if suppl == nil then
|
|
 |
746617c |
suppl = {}
|
|
 |
746617c |
supplements[lang] = suppl
|
|
 |
746617c |
-- New language not seen before.
|
|
 |
746617c |
languages[#languages + 1] = lang
|
|
 |
746617c |
end
|
|
 |
746617c |
if region ~= nil then
|
|
 |
746617c |
-- New region because of the check against
|
|
 |
746617c |
-- lang_region_seen above.
|
|
 |
746617c |
suppl[#suppl + 1] = region
|
|
 |
746617c |
end
|
|
 |
746617c |
end
|
|
 |
746617c |
end
|
|
 |
746617c |
end
|
|
 |
746617c |
-- Sort for determinism.
|
|
 |
746617c |
table.sort(languages)
|
|
 |
746617c |
for _, supples in pairs(supplements) do
|
|
 |
746617c |
table.sort(supplements)
|
|
 |
746617c |
end
|
|
 |
746617c |
end
|
|
 |
746617c |
|
|
 |
64db3ac |
-- Compute the language names
|
|
 |
64db3ac |
local langnames = {}
|
|
 |
64db3ac |
local python3 = io.open('/usr/bin/python3', 'r')
|
|
 |
64db3ac |
if python3 then
|
|
 |
64db3ac |
python3:close()
|
|
 |
64db3ac |
local args = table.concat(languages, ' ')
|
|
 |
64db3ac |
local file = io.popen(rpm.expand("%{SOURCE13}") .. ' ' .. args)
|
|
 |
64db3ac |
while true do
|
|
 |
64db3ac |
line = file:read()
|
|
 |
64db3ac |
if line == nil then break end
|
|
 |
64db3ac |
langnames[#langnames + 1] = line
|
|
 |
64db3ac |
end
|
|
 |
64db3ac |
file:close()
|
|
 |
64db3ac |
else
|
|
 |
64db3ac |
for i = 1, #languages do
|
|
 |
64db3ac |
langnames[#langnames + 1] = languages[i]
|
|
 |
64db3ac |
end
|
|
 |
64db3ac |
end
|
|
 |
64db3ac |
|
|
 |
746617c |
-- Compute the Supplements: list for a language, based on the regions.
|
|
 |
746617c |
local function compute_supplements(lang)
|
|
 |
ea59ae7 |
result = "langpacks-core-" .. lang
|
|
 |
746617c |
regions = supplements[lang]
|
|
 |
746617c |
if regions ~= nil then
|
|
 |
746617c |
for i = 1, #regions do
|
|
 |
ea59ae7 |
result = result .. " or langpacks-core-" .. lang .. "_" .. regions[i]
|
|
 |
746617c |
end
|
|
 |
746617c |
end
|
|
 |
746617c |
return result
|
|
 |
746617c |
end
|
|
 |
746617c |
|
|
 |
746617c |
-- Emit the definition of a language pack package.
|
|
 |
64db3ac |
local function lang_package(lang, langname)
|
|
 |
746617c |
local suppl = compute_supplements(lang)
|
|
 |
746617c |
print(rpm.expand([[
|
|
 |
746617c |
|
|
 |
746617c |
%package langpack-]]..lang..[[
|
|
 |
746617c |
|
|
 |
64db3ac |
Summary: Locale data for ]]..langname..[[
|
|
 |
746617c |
|
|
 |
746617c |
Provides: glibc-langpack = %{version}-%{release}
|
|
 |
746617c |
Requires: %{name} = %{version}-%{release}
|
|
 |
746617c |
Requires: %{name}-common = %{version}-%{release}
|
|
 |
684ac6e |
Supplements: (glibc and (]]..suppl..[[))
|
|
 |
746617c |
%description langpack-]]..lang..[[
|
|
 |
746617c |
|
|
 |
746617c |
The glibc-langpack-]]..lang..[[ package includes the basic information required
|
|
 |
64db3ac |
to support the ]]..langname..[[ language in your applications.
|
|
 |
746617c |
%ifnarch %{auxarches}
|
|
 |
746617c |
%files -f langpack-]]..lang..[[.filelist langpack-]]..lang..[[
|
|
 |
746617c |
|
|
 |
746617c |
%endif
|
|
 |
746617c |
]]))
|
|
 |
746617c |
end
|
|
 |
746617c |
|
|
 |
746617c |
for i = 1, #languages do
|
|
 |
64db3ac |
lang_package(languages[i], langnames[i])
|
|
 |
746617c |
end
|
|
 |
9df6505 |
}
|
|
 |
9edc2b6 |
|
|
Carlos O'Donell |
f2d4020 |
# The glibc-all-langpacks provides the virtual glibc-langpack,
|
|
Carlos O'Donell |
f2d4020 |
# and thus satisfies glibc's requirement for installed locales.
|
|
Carlos O'Donell |
f2d4020 |
# Users can add one more other langauge packs and then eventually
|
|
Carlos O'Donell |
f2d4020 |
# uninstall all-langpacks to save space.
|
|
 |
9edc2b6 |
%package all-langpacks
|
|
Carlos O'Donell |
f2d4020 |
Summary: All language packs for %{name}.
|
|
Carlos O'Donell |
f2d4020 |
Requires: %{name} = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
Requires: %{name}-common = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
Provides: %{name}-langpack = %{version}-%{release}
|
|
 |
9edc2b6 |
%description all-langpacks
|
|
Carlos O'Donell |
f2d4020 |
|
|
Carlos O'Donell |
f2d4020 |
# No %files, this is an empty pacakge. The C/POSIX and
|
|
Carlos O'Donell |
f2d4020 |
# C.UTF-8 files are already installed by glibc. We create
|
|
Carlos O'Donell |
f2d4020 |
# minimal-langpack because the virtual provide of
|
|
Carlos O'Donell |
f2d4020 |
# glibc-langpack needs at least one package installed
|
|
Carlos O'Donell |
f2d4020 |
# to satisfy it. Given that no-locales installed is a valid
|
|
Carlos O'Donell |
f2d4020 |
# use case we support it here with this package.
|
|
Carlos O'Donell |
f2d4020 |
%package minimal-langpack
|
|
Carlos O'Donell |
f2d4020 |
Summary: Minimal language packs for %{name}.
|
|
Carlos O'Donell |
f2d4020 |
Provides: glibc-langpack = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
Requires: %{name} = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
Requires: %{name}-common = %{version}-%{release}
|
|
Carlos O'Donell |
f2d4020 |
%description minimal-langpack
|
|
Carlos O'Donell |
f2d4020 |
This is a Meta package that is used to install minimal language packs.
|
|
Carlos O'Donell |
f2d4020 |
This package ensures you can use C, POSIX, or C.UTF-8 locales, but
|
|
Carlos O'Donell |
f2d4020 |
nothing else. It is designed for assembling a minimal system.
|
|
 |
9edc2b6 |
%ifnarch %{auxarches}
|
|
Carlos O'Donell |
f2d4020 |
%files minimal-langpack
|
|
 |
9edc2b6 |
%endif
|
|
 |
9edc2b6 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc "nscd" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%package -n nscd
|
|
cvsdist |
c381c23 |
Summary: A Name Service Caching Daemon (nscd).
|
|
Andreas Schwab |
d047b37 |
Requires: %{name} = %{version}-%{release}
|
|
Carlos O'Donell |
4f51555 |
%if %{without bootstrap}
|
|
Carlos O'Donell |
6e8e9f6 |
Requires: libselinux >= 1.17.10-1
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
Requires: audit-libs >= 1.1.3
|
|
Andreas Schwab |
389eedc |
Requires(pre): /usr/sbin/useradd, coreutils
|
|
Siddhesh Poyarekar |
a383e78 |
Requires(post): systemd
|
|
Siddhesh Poyarekar |
a383e78 |
Requires(preun): systemd
|
|
Siddhesh Poyarekar |
a383e78 |
Requires(postun): systemd, /usr/sbin/userdel
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description -n nscd
|
|
 |
b8bc11a |
The nscd daemon caches name service lookups and can improve
|
|
 |
b8bc11a |
performance with LDAP, and may help with DNS as well.
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
6f4d10f |
# Subpackages for NSS modules except nss_files, nss_compat, nss_dns
|
|
 |
d5e9ea2 |
##############################################################################
|
|
 |
d5e9ea2 |
|
|
Carlos O'Donell |
c9ce354 |
# This should remain it's own subpackage or "Provides: nss_db" to allow easy
|
|
Carlos O'Donell |
c9ce354 |
# migration from old systems that previously had the old nss_db package
|
|
Carlos O'Donell |
c9ce354 |
# installed. Note that this doesn't make the migration that smooth, the
|
|
Carlos O'Donell |
c9ce354 |
# databases still need rebuilding because the formats were different.
|
|
Carlos O'Donell |
c9ce354 |
# The nss_db package was deprecated in F16 and onwards:
|
|
Carlos O'Donell |
c9ce354 |
# https://lists.fedoraproject.org/pipermail/devel/2011-July/153665.html
|
|
Carlos O'Donell |
c9ce354 |
# The different database format does cause some issues for users:
|
|
Carlos O'Donell |
c9ce354 |
# https://lists.fedoraproject.org/pipermail/devel/2011-December/160497.html
|
|
 |
d5e9ea2 |
%package -n nss_db
|
|
 |
d5e9ea2 |
Summary: Name Service Switch (NSS) module using hash-indexed files
|
|
 |
d5e9ea2 |
Requires: %{name}%{_isa} = %{version}-%{release}
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
%description -n nss_db
|
|
 |
d5e9ea2 |
The nss_db Name Service Switch module uses hash-indexed files in /var/db
|
|
 |
d5e9ea2 |
to speed up user, group, service, host name, and other NSS-based lookups.
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
%package -n nss_hesiod
|
|
 |
d5e9ea2 |
Summary: Name Service Switch (NSS) module using Hesiod
|
|
 |
d5e9ea2 |
Requires: %{name}%{_isa} = %{version}-%{release}
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
%description -n nss_hesiod
|
|
 |
d5e9ea2 |
The nss_hesiod Name Service Switch module uses the Domain Name System
|
|
 |
d5e9ea2 |
(DNS) as a source for user, group, and service information, following
|
|
 |
d5e9ea2 |
the Hesiod convention of Project Athena.
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
%package nss-devel
|
|
 |
d5e9ea2 |
Summary: Development files for directly linking NSS service modules
|
|
 |
173c242 |
Requires: %{name}%{_isa} = %{version}-%{release}
|
|
 |
d5e9ea2 |
Requires: nss_db%{_isa} = %{version}-%{release}
|
|
 |
d5e9ea2 |
Requires: nss_hesiod%{_isa} = %{version}-%{release}
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
%description nss-devel
|
|
 |
d5e9ea2 |
The glibc-nss-devel package contains the object files necessary to
|
|
 |
d5e9ea2 |
compile applications and libraries which directly link against NSS
|
|
 |
d5e9ea2 |
modules supplied by glibc.
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
This is a rare and special use case; regular development has to use
|
|
 |
d5e9ea2 |
the glibc-devel package instead.
|
|
 |
d5e9ea2 |
|
|
 |
d5e9ea2 |
##############################################################################
|
|
 |
9abcefa |
# glibc "utils" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%package utils
|
|
cvsdist |
c381c23 |
Summary: Development utilities from GNU C library
|
|
 |
ffc48ad |
Requires: %{name} = %{version}-%{release}
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description utils
|
|
cvsdist |
c381c23 |
The glibc-utils package contains memusage, a memory usage profiler,
|
|
cvsdist |
c381c23 |
mtrace, a memory leak tracer and xtrace, a function call tracer
|
|
cvsdist |
c381c23 |
which can be helpful during program debugging.
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
If unsure if you need this, don't install this package.
|
|
cvsdist |
c381c23 |
|
|
 |
8c7b7c2 |
##############################################################################
|
|
 |
8c7b7c2 |
# glibc core "debuginfo" sub-package
|
|
 |
8c7b7c2 |
##############################################################################
|
|
Andreas Schwab |
237bb90 |
%if 0%{?_enable_debug_packages}
|
|
cvsdist |
c381c23 |
%define debug_package %{nil}
|
|
 |
e74e801 |
%define __debug_install_post %{nil}
|
|
 |
e74e801 |
%global __debug_package 1
|
|
Carlos O'Donell |
8877992 |
# Disable thew new features that glibc packages don't use.
|
|
Carlos O'Donell |
8877992 |
%undefine _debugsource_packages
|
|
Carlos O'Donell |
8877992 |
%undefine _debuginfo_subpackages
|
|
Carlos O'Donell |
8877992 |
%undefine _unique_debug_names
|
|
Carlos O'Donell |
8877992 |
%undefine _unique_debug_srcs
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%package debuginfo
|
|
cvsdist |
c381c23 |
Summary: Debug information for package %{name}
|
|
 |
e0b4499 |
AutoReqProv: no
|
|
cvsdist |
c381c23 |
%ifarch %{debuginfocommonarches}
|
|
cvsdist |
c381c23 |
Requires: glibc-debuginfo-common = %{version}-%{release}
|
|
Andreas Schwab |
50a0037 |
%else
|
|
 |
c1407c8 |
%ifarch %{ix86} %{sparc}
|
|
Andreas Schwab |
50a0037 |
Obsoletes: glibc-debuginfo-common
|
|
Andreas Schwab |
50a0037 |
%endif
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description debuginfo
|
|
cvsdist |
c381c23 |
This package provides debug information for package %{name}.
|
|
cvsdist |
c381c23 |
Debug information is useful when developing applications that use this
|
|
cvsdist |
c381c23 |
package or when debugging this package.
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
ce09106 |
This package also contains static standard C libraries with
|
|
cvsdist |
ce09106 |
debugging information. You need this only if you want to step into
|
|
cvsdist |
ce09106 |
C library routines during debugging programs statically linked against
|
|
cvsdist |
ce09106 |
one or more of the standard C libraries.
|
|
cvsdist |
ce09106 |
To use this debugging information, you need to link binaries
|
|
 |
0d1d15d |
with -static -L%{_prefix}/lib/debug%{_libdir} compiler options.
|
|
cvsdist |
ce09106 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# glibc common "debuginfo-common" sub-package
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%ifarch %{debuginfocommonarches}
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%package debuginfo-common
|
|
cvsdist |
c381c23 |
Summary: Debug information for package %{name}
|
|
 |
e0b4499 |
AutoReqProv: no
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%description debuginfo-common
|
|
cvsdist |
c381c23 |
This package provides debug information for package %{name}.
|
|
cvsdist |
c381c23 |
Debug information is useful when developing applications that use this
|
|
cvsdist |
c381c23 |
package or when debugging this package.
|
|
cvsdist |
c381c23 |
|
|
 |
134a36d |
%endif
|
|
 |
134a36d |
%endif
|
|
cvsdist |
c381c23 |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with benchtests}
|
|
Siddhesh Poyarekar |
67b30d7 |
%package benchtests
|
|
Siddhesh Poyarekar |
67b30d7 |
Summary: Benchmarking binaries and scripts for %{name}
|
|
Siddhesh Poyarekar |
67b30d7 |
%description benchtests
|
|
Siddhesh Poyarekar |
67b30d7 |
This package provides built benchmark binaries and scripts to run
|
|
Siddhesh Poyarekar |
67b30d7 |
microbenchmark tests on the system.
|
|
Siddhesh Poyarekar |
67b30d7 |
%endif
|
|
Siddhesh Poyarekar |
67b30d7 |
|
|
 |
9abcefa |
##############################################################################
|
|
Carlos O'Donell |
9588eec |
# compat-libpthread-nonshared
|
|
Carlos O'Donell |
9588eec |
# See: https://sourceware.org/bugzilla/show_bug.cgi?id=23500
|
|
Carlos O'Donell |
9588eec |
##############################################################################
|
|
Carlos O'Donell |
9588eec |
%package -n compat-libpthread-nonshared
|
|
Carlos O'Donell |
9588eec |
Summary: Compatibility support for linking against libpthread_nonshared.a.
|
|
Carlos O'Donell |
9588eec |
|
|
Carlos O'Donell |
9588eec |
%description -n compat-libpthread-nonshared
|
|
Carlos O'Donell |
9588eec |
This package provides compatibility support for applications that expect
|
|
Carlos O'Donell |
9588eec |
libpthread_nonshared.a to exist. The support provided is in the form of
|
|
Carlos O'Donell |
9588eec |
an empty libpthread_nonshared.a that allows dynamic links to succeed.
|
|
Carlos O'Donell |
9588eec |
Such applications should be adjusted to avoid linking against
|
|
Carlos O'Donell |
9588eec |
libpthread_nonshared.a which is no longer used. The static library
|
|
Carlos O'Donell |
9588eec |
libpthread_nonshared.a is an internal implementation detail of the C
|
|
Carlos O'Donell |
9588eec |
runtime and should not be expected to exist.
|
|
Carlos O'Donell |
9588eec |
|
|
Carlos O'Donell |
9588eec |
##############################################################################
|
|
 |
9abcefa |
# Prepare for the build.
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%prep
|
|
 |
5603627 |
%autosetup -n %{glibcsrcdir} -p1
|
|
 |
29b39d6 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# %%prep - Additional prep required...
|
|
 |
9abcefa |
##############################################################################
|
|
Siddhesh Poyarekar |
67b30d7 |
# Make benchmark scripts executable
|
|
Siddhesh Poyarekar |
67b30d7 |
chmod +x benchtests/scripts/*.py scripts/pylint
|
|
Siddhesh Poyarekar |
67b30d7 |
|
|
 |
9abcefa |
# Remove all files generated from patching.
|
|
cvsdist |
c381c23 |
find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Ensure timestamps on configure files are current to prevent
|
|
 |
9abcefa |
# regenerating them.
|
|
cvsdist |
c381c23 |
touch `find . -name configure`
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Ensure *-kw.h files are current to prevent regenerating them.
|
|
 |
da64eed |
touch locale/programs/*-kw.h
|
|
cvsdist |
c381c23 |
|
|
 |
a92e3b7 |
# Verify that our copy of localedata/SUPPORTED matches the glibc
|
|
 |
a92e3b7 |
# version.
|
|
 |
a92e3b7 |
#
|
|
 |
5a04553 |
# The separate file copy is used by the Lua parser above.
|
|
 |
a92e3b7 |
# Patches or new upstream versions may change the list of locales,
|
|
 |
a92e3b7 |
# which changes the set of langpacks we need to build. Verify the
|
|
 |
a92e3b7 |
# differences then update the copy of SUPPORTED. This approach has
|
|
 |
a92e3b7 |
# two purposes: (a) avoid spurious changes to the set of langpacks,
|
|
 |
5a04553 |
# and (b) the Lua snippet can use a fully patched-up version
|
|
 |
a92e3b7 |
# of the localedata/SUPPORTED file.
|
|
 |
43e96b9 |
diff -u %{SOURCE11} localedata/SUPPORTED
|
|
 |
9edc2b6 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Build glibc...
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%build
|
|
Carlos O'Donell |
256beb3 |
# Log system information
|
|
Carlos O'Donell |
256beb3 |
uname -a
|
|
 |
9d8ea8c |
LD_SHOW_AUXV=1 /bin/true
|
|
Carlos O'Donell |
256beb3 |
cat /proc/cpuinfo
|
|
 |
fa1678e |
cat /proc/sysinfo 2>/dev/null || true
|
|
Carlos O'Donell |
256beb3 |
cat /proc/meminfo
|
|
 |
d4be858 |
df
|
|
 |
9abcefa |
|
|
 |
8c7b7c2 |
# We build using the native system compilers.
|
|
cvsdist |
c381c23 |
GCC=gcc
|
|
 |
e1fb04f |
GXX=g++
|
|
 |
9abcefa |
|
|
 |
04e38e0 |
# Part of rpm_inherit_flags. Is overridden below.
|
|
 |
04e38e0 |
rpm_append_flag ()
|
|
 |
04e38e0 |
{
|
|
 |
04e38e0 |
BuildFlags="$BuildFlags $*"
|
|
 |
04e38e0 |
}
|
|
 |
04e38e0 |
|
|
 |
04e38e0 |
# Propagates the listed flags to rpm_append_flag if supplied by
|
|
 |
04e38e0 |
# redhat-rpm-config.
|
|
 |
081ef32 |
BuildFlags="-O2 -g"
|
|
 |
081ef32 |
rpm_inherit_flags ()
|
|
 |
081ef32 |
{
|
|
 |
890019e |
local reference=" $* "
|
|
 |
081ef32 |
local flag
|
|
 |
890019e |
for flag in $RPM_OPT_FLAGS $RPM_LD_FLAGS ; do
|
|
 |
890019e |
if echo "$reference" | grep -q -F " $flag " ; then
|
|
 |
04e38e0 |
rpm_append_flag "$flag"
|
|
 |
081ef32 |
fi
|
|
 |
081ef32 |
done
|
|
 |
081ef32 |
}
|
|
Carlos O'Donell |
b60f740 |
|
|
 |
081ef32 |
# Propgate select compiler flags from redhat-rpm-config. These flags
|
|
 |
081ef32 |
# are target-dependent, so we use only those which are specified in
|
|
 |
9f8b04e |
# redhat-rpm-config. We keep the -m32/-m32/-m64 flags to support
|
|
 |
9f8b04e |
# multilib builds.
|
|
 |
3bef91d |
#
|
|
 |
3bef91d |
# Note: For building alternative run-times, care is required to avoid
|
|
 |
3bef91d |
# overriding the architecture flags which go into CC/CXX. The flags
|
|
 |
3bef91d |
# below are passed in CFLAGS.
|
|
cvsdist |
c381c23 |
|
|
 |
081ef32 |
rpm_inherit_flags \
|
|
 |
4adfefa |
"-Wp,-D_GLIBCXX_ASSERTIONS" \
|
|
 |
081ef32 |
"-fasynchronous-unwind-tables" \
|
|
 |
081ef32 |
"-fstack-clash-protection" \
|
|
 |
081ef32 |
"-funwind-tables" \
|
|
 |
081ef32 |
"-m31" \
|
|
 |
081ef32 |
"-m32" \
|
|
 |
081ef32 |
"-m64" \
|
|
 |
4265b0b |
"-march=haswell" \
|
|
 |
9f8b04e |
"-march=i686" \
|
|
 |
9f8b04e |
"-march=x86-64" \
|
|
 |
9f8b04e |
"-march=z13" \
|
|
 |
9f8b04e |
"-march=z14" \
|
|
 |
9f8b04e |
"-march=zEC12" \
|
|
 |
9f8b04e |
"-mfpmath=sse" \
|
|
 |
84981f5 |
"-msse2" \
|
|
 |
2fcfa68 |
"-mstackrealign" \
|
|
 |
9f8b04e |
"-mtune=generic" \
|
|
 |
9f8b04e |
"-mtune=z13" \
|
|
 |
9f8b04e |
"-mtune=z14" \
|
|
 |
9f8b04e |
"-mtune=zEC12" \
|
|
 |
9be86f0 |
"-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1" \
|
|
 |
66afdc6 |
|
|
 |
133c946 |
# libc_nonshared.a cannot be built with the default hardening flags
|
|
 |
133c946 |
# because the glibc build system is incompatible with
|
|
 |
133c946 |
# -D_FORTIFY_SOURCE. The object files need to be marked as to be
|
|
 |
133c946 |
# skipped in annobin annotations. (The -specs= variant of activating
|
|
 |
133c946 |
# annobin does not work here because of flag ordering issues.)
|
|
 |
133c946 |
# See <https://bugzilla.redhat.com/show_bug.cgi?id=1668822>.
|
|
 |
133c946 |
BuildFlagsNonshared="-fplugin=annobin -fplugin-arg-annobin-disable -Wa,--generate-missing-build-notes=yes"
|
|
 |
04e38e0 |
|
|
 |
8a71833 |
# Special flag to enable annobin annotations for statically linked
|
|
 |
8a71833 |
# assembler code. Needs to be passed to make; not preserved by
|
|
 |
8a71833 |
# configure.
|
|
 |
6a43999 |
%define glibc_make_flags_as ASFLAGS="-g -Wa,--generate-missing-build-notes=yes"
|
|
 |
723de53 |
%define glibc_make_flags %{glibc_make_flags_as}
|
|
 |
8a71833 |
|
|
 |
66afdc6 |
##############################################################################
|
|
 |
9abcefa |
# %%build - Generic options.
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
EnableKernel="--enable-kernel=%{enablekernel}"
|
|
 |
9abcefa |
# Save the used compiler and options into the file "Gcc" for use later
|
|
 |
9abcefa |
# by %%install.
|
|
 |
2f520ca |
echo "$GCC" > Gcc
|
|
cvsdist |
ce09106 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# build()
|
|
 |
9abcefa |
# Build glibc in `build-%{target}$1', passing the rest of the arguments
|
|
 |
9abcefa |
# as CFLAGS to the build (not the same as configure CFLAGS). Several
|
|
 |
dc90541 |
# global values are used to determine build flags, kernel version,
|
|
 |
dc90541 |
# system tap support, etc.
|
|
 |
9abcefa |
##############################################################################
|
|
Andreas Schwab |
444e2cc |
build()
|
|
 |
a9d8ca8 |
{
|
|
 |
081ef32 |
local builddir=build-%{target}${1:+-$1}
|
|
 |
d4d7eff |
${1+shift}
|
|
 |
d4d7eff |
rm -rf $builddir
|
|
 |
d4d7eff |
mkdir $builddir
|
|
 |
d4d7eff |
pushd $builddir
|
|
 |
081ef32 |
../configure CC="$GCC" CXX="$GXX" CFLAGS="$BuildFlags $*" \
|
|
 |
d4d7eff |
--prefix=%{_prefix} \
|
|
 |
8ed8731 |
--with-headers=%{_prefix}/include $EnableKernel \
|
|
 |
04e38e0 |
--with-nonshared-cflags="$BuildFlagsNonshared" \
|
|
 |
8ed8731 |
--enable-bind-now \
|
|
 |
d4d7eff |
--build=%{target} \
|
|
 |
4570c40 |
--enable-stack-protector=strong \
|
|
 |
cc5db6c |
%ifarch %{pie_arches}
|
|
 |
5163dbe |
--enable-static-pie \
|
|
 |
5163dbe |
%endif
|
|
 |
c659285 |
--enable-tunables \
|
|
 |
d4d7eff |
--enable-systemtap \
|
|
Carlos O'Donell |
b60f740 |
${core_with_options} \
|
|
 |
a4a5659 |
%ifarch x86_64 %{ix86}
|
|
 |
a4a5659 |
--enable-cet \
|
|
 |
a4a5659 |
%endif
|
|
 |
ad9d2e1 |
%ifarch %{ix86}
|
|
 |
ad9d2e1 |
--disable-multi-arch \
|
|
 |
ad9d2e1 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{without werror}
|
|
Carlos O'Donell |
6e8e9f6 |
--disable-werror \
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Carlos O'Donell |
6e8e9f6 |
--disable-profile \
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with bootstrap}
|
|
Carlos O'Donell |
6e8e9f6 |
--without-selinux \
|
|
Siddhesh Poyarekar |
5d3d5d4 |
%endif
|
|
 |
58f5912 |
--disable-crypt ||
|
|
 |
d4d7eff |
{ cat config.log; false; }
|
|
Andreas Schwab |
f81c27d |
|
|
 |
8a71833 |
make %{?_smp_mflags} -O -r %{glibc_make_flags}
|
|
 |
d4d7eff |
popd
|
|
 |
a9d8ca8 |
}
|
|
 |
a9d8ca8 |
|
|
 |
559f435 |
# Default set of compiler options.
|
|
Andreas Schwab |
444e2cc |
build
|
|
 |
a9d8ca8 |
|
|
 |
3bef91d |
%if %{buildpower9}
|
|
 |
3bef91d |
(
|
|
 |
3bef91d |
GCC="$GCC -mcpu=power9 -mtune=power9"
|
|
 |
3bef91d |
GXX="$GXX -mcpu=power9 -mtune=power9"
|
|
 |
3bef91d |
core_with_options="--with-cpu=power9"
|
|
 |
3bef91d |
build power9
|
|
 |
3bef91d |
)
|
|
 |
3bef91d |
%endif
|
|
 |
3bef91d |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Install glibc...
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
%install
|
|
 |
c13214a |
|
|
 |
6f4d10f |
# The built glibc is installed into a subdirectory of $RPM_BUILD_ROOT.
|
|
 |
6f4d10f |
# For a system glibc that subdirectory is "/" (the root of the filesystem).
|
|
 |
6f4d10f |
# This is called a sysroot (system root) and can be changed if we have a
|
|
 |
6f4d10f |
# distribution that supports multiple installed glibc versions.
|
|
 |
6f4d10f |
%define glibc_sysroot $RPM_BUILD_ROOT
|
|
 |
6f4d10f |
|
|
 |
c6e9927 |
# Remove existing file lists.
|
|
 |
c6e9927 |
find . -type f -name '*.filelist' -exec rm -rf {} \;
|
|
 |
c6e9927 |
|
|
 |
c13214a |
# Ensure the permissions of errlist.c do not change. When the file is
|
|
 |
c13214a |
# regenerated the Makefile sets the permissions to 444. We set it to 644
|
|
 |
c13214a |
# to match what comes out of git. The tarball of the git archive won't have
|
|
 |
c13214a |
# correct permissions because git doesn't track all of the permissions
|
|
 |
c13214a |
# accurately (see git-cache-meta if you need that). We also set it to 644 to
|
|
 |
c13214a |
# match pre-existing rpms. We do this *after* the build because the build
|
|
 |
c13214a |
# might regenerate the file and set the permissions to 444.
|
|
 |
c13214a |
chmod 644 sysdeps/gnu/errlist.c
|
|
 |
c13214a |
|
|
 |
9abcefa |
# Reload compiler and build options that were used during %%build.
|
|
cvsdist |
c381c23 |
GCC=`cat Gcc`
|
|
cvsdist |
c381c23 |
|
|
 |
16398fc |
%ifarch riscv64
|
|
 |
16398fc |
# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d.
|
|
 |
16398fc |
# Make these be symlinks to /lib64 or /usr/lib64 respectively. See:
|
|
 |
16398fc |
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/
|
|
 |
6f4d10f |
for d in %{glibc_sysroot}%{_libdir} %{glibc_sysroot}/%{_lib}; do
|
|
 |
16398fc |
mkdir -p $d
|
|
 |
16398fc |
(cd $d && ln -sf . lp64d)
|
|
 |
16398fc |
done
|
|
 |
16398fc |
%endif
|
|
 |
16398fc |
|
|
 |
6f4d10f |
# Build and install:
|
|
 |
6f4d10f |
make -j1 install_root=%{glibc_sysroot} install -C build-%{target}
|
|
 |
c6e9927 |
|
|
 |
9abcefa |
# If we are not building an auxiliary arch then install all of the supported
|
|
 |
9abcefa |
# locales.
|
|
cvsdist |
c381c23 |
%ifnarch %{auxarches}
|
|
 |
7e232bd |
pushd build-%{target}
|
|
 |
fdcac6f |
# Do not use a parallel make here because the hardlink optimization in
|
|
 |
fdcac6f |
# localedef is not fully reproducible when running concurrently.
|
|
 |
fdcac6f |
make install_root=%{glibc_sysroot} \
|
|
 |
d4d7eff |
install-locales -C ../localedata objdir=`pwd`
|
|
 |
7e232bd |
popd
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
71c008f |
# install_different:
|
|
 |
71c008f |
# Install all core libraries into DESTDIR/SUBDIR. Either the file is
|
|
 |
71c008f |
# installed as a copy or a symlink to the default install (if it is the
|
|
 |
71c008f |
# same). The path SUBDIR_UP is the prefix used to go from
|
|
 |
71c008f |
# DESTDIR/SUBDIR to the default installed libraries e.g.
|
|
 |
71c008f |
# ln -s SUBDIR_UP/foo.so DESTDIR/SUBDIR/foo.so.
|
|
 |
71c008f |
# When you call this function it is expected that you are in the root
|
|
 |
71c008f |
# of the build directory, and that the default build directory is:
|
|
 |
71c008f |
# "../build-%{target}" (relatively).
|
|
 |
71c008f |
# The primary use of this function is to install alternate runtimes
|
|
 |
71c008f |
# into the build directory and avoid duplicating this code for each
|
|
 |
71c008f |
# runtime.
|
|
 |
71c008f |
install_different()
|
|
 |
71c008f |
{
|
|
 |
baa7ac6 |
local lib libbase libbaseso dlib
|
|
 |
71c008f |
local destdir="$1"
|
|
 |
71c008f |
local subdir="$2"
|
|
 |
71c008f |
local subdir_up="$3"
|
|
 |
71c008f |
local libdestdir="$destdir/$subdir"
|
|
 |
71c008f |
# All three arguments must be non-zero paths.
|
|
 |
71c008f |
if ! [ "$destdir" \
|
|
 |
71c008f |
-a "$subdir" \
|
|
 |
71c008f |
-a "$subdir_up" ]; then
|
|
 |
71c008f |
echo "One of the arguments to install_different was emtpy."
|
|
 |
71c008f |
exit 1
|
|
 |
71c008f |
fi
|
|
 |
71c008f |
# Create the destination directory and the multilib directory.
|
|
 |
71c008f |
mkdir -p "$destdir"
|
|
 |
71c008f |
mkdir -p "$libdestdir"
|
|
 |
71c008f |
# Walk all of the libraries we installed...
|
|
 |
71c008f |
for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db
|
|
 |
71c008f |
do
|
|
 |
71c008f |
libbase=${lib#*/}
|
|
 |
71c008f |
# Take care that `libbaseso' has a * that needs expanding so
|
|
 |
71c008f |
# take care with quoting.
|
|
 |
6f4d10f |
libbaseso=$(basename %{glibc_sysroot}/%{_lib}/${libbase}-*.so)
|
|
 |
71c008f |
# Only install if different from default build library.
|
|
 |
71c008f |
if cmp -s ${lib}.so ../build-%{target}/${lib}.so; then
|
|
 |
71c008f |
ln -sf "$subdir_up"/$libbaseso $libdestdir/$libbaseso
|
|
 |
71c008f |
else
|
|
 |
71c008f |
cp -a ${lib}.so $libdestdir/$libbaseso
|
|
 |
71c008f |
fi
|
|
 |
6f4d10f |
dlib=$libdestdir/$(basename %{glibc_sysroot}/%{_lib}/${libbase}.so.*)
|
|
 |
71c008f |
ln -sf $libbaseso $dlib
|
|
 |
71c008f |
done
|
|
 |
71c008f |
}
|
|
 |
71c008f |
|
|
 |
3bef91d |
%if %{buildpower9}
|
|
 |
3bef91d |
pushd build-%{target}-power9
|
|
 |
3bef91d |
install_different "$RPM_BUILD_ROOT/%{_lib}" power9 ..
|
|
 |
3bef91d |
popd
|
|
 |
3bef91d |
%endif
|
|
 |
3bef91d |
|
|
 |
9abcefa |
##############################################################################
|
|
cvsdist |
c381c23 |
# Remove the files we don't want to distribute
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Remove the libNoVersion files.
|
|
 |
9abcefa |
# XXX: This looks like a bug in glibc that accidentally installed these
|
|
 |
9abcefa |
# wrong files. We probably don't need this today.
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}/%{_libdir}/libNoVersion*
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}/%{_lib}/libNoVersion*
|
|
cvsdist |
c381c23 |
|
|
 |
5a3b560 |
# Remove the old nss modules.
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}/%{_lib}/libnss1-*
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}/%{_lib}/libnss-*.so.1
|
|
 |
24d9119 |
|
|
Colin Walters |
d8e1573 |
# This statically linked binary is no longer necessary in a world where
|
|
Colin Walters |
d8e1573 |
# the default Fedora install uses an initramfs, and further we have rpm-ostree
|
|
Colin Walters |
d8e1573 |
# which captures the whole userspace FS tree.
|
|
Colin Walters |
d8e1573 |
# Further, see https://github.com/projectatomic/rpm-ostree/pull/1173#issuecomment-355014583
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}/{usr/,}sbin/sln
|
|
Colin Walters |
d8e1573 |
|
|
 |
6ff958f |
######################################################################
|
|
 |
6ff958f |
# Run ldconfig to create all the symbolic links we need
|
|
 |
6ff958f |
######################################################################
|
|
 |
6ff958f |
|
|
 |
6ff958f |
# Note: This has to happen before creating /etc/ld.so.conf.
|
|
 |
6ff958f |
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/var/cache/ldconfig
|
|
 |
6f4d10f |
truncate -s 0 %{glibc_sysroot}/var/cache/ldconfig/aux-cache
|
|
 |
6ff958f |
|
|
 |
6ff958f |
# ldconfig is statically linked, so we can use the new version.
|
|
 |
6f4d10f |
%{glibc_sysroot}/sbin/ldconfig -N -r %{glibc_sysroot}
|
|
 |
6ff958f |
|
|
 |
8c7b7c2 |
##############################################################################
|
|
 |
5a3b560 |
# Install info files
|
|
 |
8c7b7c2 |
##############################################################################
|
|
 |
8c7b7c2 |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with docs}
|
|
 |
9abcefa |
# Move the info files if glibc installed them into the wrong location.
|
|
 |
6f4d10f |
if [ -d %{glibc_sysroot}%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}%{_infodir}
|
|
 |
6f4d10f |
mv -f %{glibc_sysroot}%{_prefix}/info/* %{glibc_sysroot}%{_infodir}
|
|
 |
6f4d10f |
rm -rf %{glibc_sysroot}%{_prefix}/info
|
|
cvsdist |
c381c23 |
fi
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
# Compress all of the info files.
|
|
 |
6f4d10f |
gzip -9nvf %{glibc_sysroot}%{_infodir}/libc*
|
|
Carlos O'Donell |
8fdf674 |
|
|
Carlos O'Donell |
8fdf674 |
%else
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}%{_infodir}/dir
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}%{_infodir}/libc.info*
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
5a3b560 |
##############################################################################
|
|
 |
9edc2b6 |
# Create locale sub-package file lists
|
|
 |
5a3b560 |
##############################################################################
|
|
 |
5a3b560 |
|
|
 |
5a3b560 |
%ifnarch %{auxarches}
|
|
 |
5a3b560 |
olddir=`pwd`
|
|
 |
6f4d10f |
pushd %{glibc_sysroot}%{_prefix}/lib/locale
|
|
 |
bd8d243 |
rm -f locale-archive
|
|
Carlos O'Donell |
f2d4020 |
$olddir/build-%{target}/elf/ld.so \
|
|
Carlos O'Donell |
f2d4020 |
--library-path $olddir/build-%{target}/ \
|
|
Carlos O'Donell |
f2d4020 |
$olddir/build-%{target}/locale/localedef \
|
|
 |
50bcae9 |
--alias-file=$olddir/intl/locale.alias \
|
|
 |
6f4d10f |
--prefix %{glibc_sysroot} --add-to-archive \
|
|
 |
c42d98b |
eo *_*
|
|
 |
bd8d243 |
# Historically, glibc-all-langpacks deleted the file on updates (sic),
|
|
 |
bd8d243 |
# so we need to restore it in the posttrans scriptlet (like the old
|
|
 |
bd8d243 |
# glibc-all-langpacks versions)
|
|
 |
bd8d243 |
ln locale-archive locale-archive.real
|
|
 |
bd8d243 |
|
|
 |
9edc2b6 |
# Create the file lists for the language specific sub-packages:
|
|
 |
c8064eb |
for i in eo *_*
|
|
 |
9edc2b6 |
do
|
|
 |
9edc2b6 |
lang=${i%%_*}
|
|
 |
9edc2b6 |
if [ ! -e langpack-${lang}.filelist ]; then
|
|
 |
9edc2b6 |
echo "%dir %{_prefix}/lib/locale" >> langpack-${lang}.filelist
|
|
 |
9edc2b6 |
fi
|
|
 |
9edc2b6 |
echo "%dir %{_prefix}/lib/locale/$i" >> langpack-${lang}.filelist
|
|
 |
9edc2b6 |
echo "%{_prefix}/lib/locale/$i/*" >> langpack-${lang}.filelist
|
|
 |
9edc2b6 |
done
|
|
 |
9edc2b6 |
popd
|
|
 |
6f4d10f |
pushd %{glibc_sysroot}%{_prefix}/share/locale
|
|
 |
9edc2b6 |
for i in */LC_MESSAGES/libc.mo
|
|
 |
9edc2b6 |
do
|
|
 |
9edc2b6 |
locale=${i%%%%/*}
|
|
 |
9edc2b6 |
lang=${locale%%%%_*}
|
|
 |
9edc2b6 |
echo "%lang($lang) %{_prefix}/share/locale/${i}" \
|
|
 |
6f4d10f |
>> %{glibc_sysroot}%{_prefix}/lib/locale/langpack-${lang}.filelist
|
|
 |
9edc2b6 |
done
|
|
 |
5a3b560 |
popd
|
|
 |
6f4d10f |
mv %{glibc_sysroot}%{_prefix}/lib/locale/*.filelist .
|
|
 |
5a3b560 |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
# Install configuration files for services
|
|
 |
9abcefa |
##############################################################################
|
|
 |
9abcefa |
|
|
 |
7e6e06c |
install -p -m 644 nss/nsswitch.conf %{glibc_sysroot}/etc/nsswitch.conf
|
|
cvsdist |
c381c23 |
|
|
Andreas Schwab |
2fa87be |
%ifnarch %{auxarches}
|
|
cvsdist |
c381c23 |
# This is for ncsd - in glibc 2.2
|
|
 |
6f4d10f |
install -m 644 nscd/nscd.conf %{glibc_sysroot}/etc
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}%{_tmpfilesdir}
|
|
 |
7e6e06c |
install -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/lib/systemd/system
|
|
 |
6f4d10f |
install -m 644 nscd/nscd.service nscd/nscd.socket %{glibc_sysroot}/lib/systemd/system
|
|
Andreas Schwab |
2fa87be |
%endif
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
# Include ld.so.conf
|
|
 |
6f4d10f |
echo 'include ld.so.conf.d/*.conf' > %{glibc_sysroot}/etc/ld.so.conf
|
|
 |
6f4d10f |
truncate -s 0 %{glibc_sysroot}/etc/ld.so.cache
|
|
 |
6f4d10f |
chmod 644 %{glibc_sysroot}/etc/ld.so.conf
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/etc/ld.so.conf.d
|
|
Andreas Schwab |
2fa87be |
%ifnarch %{auxarches}
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/etc/sysconfig
|
|
 |
6f4d10f |
truncate -s 0 %{glibc_sysroot}/etc/sysconfig/nscd
|
|
 |
6f4d10f |
truncate -s 0 %{glibc_sysroot}/etc/gai.conf
|
|
Andreas Schwab |
2fa87be |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
0d1d15d |
# Include %{_libdir}/gconv/gconv-modules.cache
|
|
 |
6f4d10f |
truncate -s 0 %{glibc_sysroot}%{_libdir}/gconv/gconv-modules.cache
|
|
 |
6f4d10f |
chmod 644 %{glibc_sysroot}%{_libdir}/gconv/gconv-modules.cache
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
##############################################################################
|
|
 |
3bc8fa7 |
# Install debug copies of unstripped static libraries
|
|
 |
3bc8fa7 |
# - This step must be last in order to capture any additional static
|
|
 |
3bc8fa7 |
# archives we might have added.
|
|
 |
3bc8fa7 |
##############################################################################
|
|
 |
3bc8fa7 |
|
|
 |
3bc8fa7 |
# If we are building a debug package then copy all of the static archives
|
|
 |
3bc8fa7 |
# into the debug directory to keep them as unstripped copies.
|
|
 |
3bc8fa7 |
%if 0%{?_enable_debug_packages}
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}%{_prefix}/lib/debug%{_libdir}
|
|
 |
6f4d10f |
cp -a %{glibc_sysroot}%{_libdir}/*.a \
|
|
 |
6f4d10f |
%{glibc_sysroot}%{_prefix}/lib/debug%{_libdir}/
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}%{_prefix}/lib/debug%{_libdir}/*_p.a
|
|
 |
3bc8fa7 |
%endif
|
|
 |
3bc8fa7 |
|
|
 |
6f4d10f |
# Remove any zoneinfo files; they are maintained by tzdata.
|
|
 |
6f4d10f |
rm -rf %{glibc_sysroot}%{_prefix}/share/zoneinfo
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
# Make sure %config files have the same timestamp across multilib packages.
|
|
Carlos O'Donell |
e4aafbc |
#
|
|
Carlos O'Donell |
e4aafbc |
# XXX: Ideally ld.so.conf should have the timestamp of the spec file, but there
|
|
Carlos O'Donell |
e4aafbc |
# doesn't seem to be any macro to give us that. So we do the next best thing,
|
|
 |
34927af |
# which is to at least keep the timestamp consistent. The choice of using
|
|
 |
34927af |
# SOURCE0 is arbitrary.
|
|
 |
6f4d10f |
touch -r %{SOURCE0} %{glibc_sysroot}/etc/ld.so.conf
|
|
 |
6f4d10f |
touch -r sunrpc/etc.rpc %{glibc_sysroot}/etc/rpc
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
# Lastly copy some additional documentation for the packages.
|
|
Carlos O'Donell |
e4aafbc |
rm -rf documentation
|
|
Carlos O'Donell |
e4aafbc |
mkdir documentation
|
|
Carlos O'Donell |
e4aafbc |
cp timezone/README documentation/README.timezone
|
|
Carlos O'Donell |
e4aafbc |
cp posix/gai.conf documentation/
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
%ifarch s390x
|
|
Carlos O'Donell |
e4aafbc |
# Compatibility symlink
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/lib
|
|
 |
6f4d10f |
ln -sf /%{_lib}/ld64.so.1 %{glibc_sysroot}/lib/ld64.so.1
|
|
Carlos O'Donell |
e4aafbc |
%endif
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
%if %{with benchtests}
|
|
Carlos O'Donell |
e4aafbc |
# Build benchmark binaries. Ignore the output of the benchmark runs.
|
|
Carlos O'Donell |
e4aafbc |
pushd build-%{target}
|
|
Carlos O'Donell |
e4aafbc |
make BENCH_DURATION=1 bench-build
|
|
Carlos O'Donell |
e4aafbc |
popd
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
# Copy over benchmark binaries.
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests
|
|
 |
6f4d10f |
cp $(find build-%{target}/benchtests -type f -executable) %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
Carlos O'Donell |
e4aafbc |
# ... and the makefile.
|
|
 |
7e6e06c |
for b in %{SOURCE2} %{SOURCE3}; do
|
|
 |
6f4d10f |
cp $b %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
Carlos O'Donell |
e4aafbc |
done
|
|
Carlos O'Donell |
e4aafbc |
# .. and finally, the comparison scripts.
|
|
 |
6f4d10f |
cp benchtests/scripts/benchout.schema.json %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
 |
6f4d10f |
cp benchtests/scripts/compare_bench.py %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
 |
6f4d10f |
cp benchtests/scripts/import_bench.py %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
 |
6f4d10f |
cp benchtests/scripts/validate_benchout.py %{glibc_sysroot}%{_prefix}/libexec/glibc-benchtests/
|
|
 |
134a36d |
%endif
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
%if 0%{?_enable_debug_packages}
|
|
Carlos O'Donell |
e4aafbc |
# The #line directives gperf generates do not give the proper
|
|
Carlos O'Donell |
e4aafbc |
# file name relative to the build directory.
|
|
Carlos O'Donell |
e4aafbc |
pushd locale
|
|
Carlos O'Donell |
e4aafbc |
ln -s programs/*.gperf .
|
|
Carlos O'Donell |
e4aafbc |
popd
|
|
Carlos O'Donell |
e4aafbc |
pushd iconv
|
|
Carlos O'Donell |
e4aafbc |
ln -s ../locale/programs/charmap-kw.gperf .
|
|
Carlos O'Donell |
e4aafbc |
popd
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
%if %{with docs}
|
|
Carlos O'Donell |
e4aafbc |
# Remove the `dir' info-heirarchy file which will be maintained
|
|
Carlos O'Donell |
e4aafbc |
# by the system as it adds info files to the install.
|
|
 |
6f4d10f |
rm -f %{glibc_sysroot}%{_infodir}/dir
|
|
Carlos O'Donell |
e4aafbc |
%endif
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
%ifnarch %{auxarches}
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}/var/{db,run}/nscd
|
|
 |
6f4d10f |
touch %{glibc_sysroot}/var/{db,run}/nscd/{passwd,group,hosts,services}
|
|
 |
6f4d10f |
touch %{glibc_sysroot}/var/run/nscd/{socket,nscd.pid}
|
|
Carlos O'Donell |
e4aafbc |
%endif
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
# Move libpcprofile.so and libmemusage.so into the proper library directory.
|
|
Carlos O'Donell |
e4aafbc |
# They can be moved without any real consequences because users would not use
|
|
Carlos O'Donell |
e4aafbc |
# them directly.
|
|
 |
6f4d10f |
mkdir -p %{glibc_sysroot}%{_libdir}
|
|
 |
6f4d10f |
mv -f %{glibc_sysroot}/%{_lib}/lib{pcprofile,memusage}.so \
|
|
 |
6f4d10f |
%{glibc_sysroot}%{_libdir}
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
# Strip all of the installed object files.
|
|
 |
6f4d10f |
strip -g %{glibc_sysroot}%{_libdir}/*.o
|
|
Carlos O'Donell |
e4aafbc |
|
|
Carlos O'Donell |
e4aafbc |
###############################################################################
|
|
Carlos O'Donell |
e4aafbc |
# Rebuild libpthread.a using --whole-archive to ensure all of libpthread
|
|
Carlos O'Donell |
e4aafbc |
# is included in a static link. This prevents any problems when linking
|
|
Carlos O'Donell |
e4aafbc |
# statically, using parts of libpthread, and other necessary parts not
|
|
Carlos O'Donell |
e4aafbc |
# being included. Upstream has decided that this is the wrong approach to
|
|
Carlos O'Donell |
e4aafbc |
# this problem and that the full set of dependencies should be resolved
|
|
Carlos O'Donell |
e4aafbc |
# such that static linking works and produces the most minimally sized
|
|
Carlos O'Donell |
e4aafbc |
# static application possible.
|
|
Carlos O'Donell |
e4aafbc |
###############################################################################
|
|
 |
6f4d10f |
pushd %{glibc_sysroot}%{_prefix}/%{_lib}/
|
|
Carlos O'Donell |
e4aafbc |
$GCC -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a
|
|
Carlos O'Donell |
e4aafbc |
rm libpthread.a
|
|
Carlos O'Donell |
e4aafbc |
ar rcs libpthread.a libpthread.o
|
|
Carlos O'Donell |
e4aafbc |
rm libpthread.o
|
|
Carlos O'Donell |
e4aafbc |
popd
|
|
Carlos O'Donell |
e4aafbc |
|
|
 |
6f4d10f |
# The xtrace and memusage scripts have hard-coded paths that need to be
|
|
 |
6f4d10f |
# translated to a correct set of paths using the $LIB token which is
|
|
 |
6f4d10f |
# dynamically translated by ld.so as the default lib directory.
|
|
 |
6f4d10f |
for i in %{glibc_sysroot}%{_prefix}/bin/{xtrace,memusage}; do
|
|
 |
6f4d10f |
%if %{with bootstrap}
|
|
 |
6f4d10f |
test -w $i || continue
|
|
 |
6f4d10f |
%endif
|
|
 |
6f4d10f |
sed -e 's~=/%{_lib}/libpcprofile.so~=%{_libdir}/libpcprofile.so~' \
|
|
 |
6f4d10f |
-e 's~=/%{_lib}/libmemusage.so~=%{_libdir}/libmemusage.so~' \
|
|
 |
6f4d10f |
-e 's~='\''/\\\$LIB/libpcprofile.so~='\''%{_prefix}/\\$LIB/libpcprofile.so~' \
|
|
 |
6f4d10f |
-e 's~='\''/\\\$LIB/libmemusage.so~='\''%{_prefix}/\\$LIB/libmemusage.so~' \
|
|
 |
6f4d10f |
-i $i
|
|
 |
6f4d10f |
done
|
|
 |
6f4d10f |
|
|
Carlos O'Donell |
e4aafbc |
##############################################################################
|
|
Carlos O'Donell |
9588eec |
# Build an empty libpthread_nonshared.a for compatiliby with applications
|
|
Carlos O'Donell |
9588eec |
# that have old linker scripts that reference this file. We ship this only
|
|
Carlos O'Donell |
9588eec |
# in compat-libpthread-nonshared sub-package.
|
|
Carlos O'Donell |
9588eec |
##############################################################################
|
|
Carlos O'Donell |
9588eec |
ar cr %{glibc_sysroot}%{_prefix}/%{_lib}/libpthread_nonshared.a
|
|
Carlos O'Donell |
9588eec |
|
|
Carlos O'Donell |
9588eec |
##############################################################################
|
|
Carlos O'Donell |
e4aafbc |
# Beyond this point in the install process we no longer modify the set of
|
|
Carlos O'Donell |
e4aafbc |
# installed files, with one exception, for auxarches we cleanup the file list
|
|
Carlos O'Donell |
e4aafbc |
# at the end and remove files which we don't intend to ship. We need the file
|
|
Carlos O'Donell |
e4aafbc |
# list to effect a proper cleanup, and so it happens last.
|
|
Carlos O'Donell |
e4aafbc |
##############################################################################
|
|
Carlos O'Donell |
e4aafbc |
|
|
 |
3bc8fa7 |
##############################################################################
|
|
 |
9abcefa |
# Build the file lists used for describing the package and subpackages.
|
|
 |
9abcefa |
##############################################################################
|
|
 |
d5e9ea2 |
# There are several main file lists (and many more for
|
|
 |
9edc2b6 |
# the langpack sub-packages (langpack-${lang}.filelist)):
|
|
 |
092cf93 |
# * master.filelist
|
|
 |
6f4d10f |
# - Master file list from which all other lists are built.
|
|
 |
6f4d10f |
# * glibc.filelist
|
|
 |
6f4d10f |
# - Files for the glibc packages.
|
|
 |
9abcefa |
# * common.filelist
|
|
 |
6f4d10f |
# - Flies for the common subpackage.
|
|
 |
9abcefa |
# * utils.filelist
|
|
 |
6f4d10f |
# - Files for the utils subpackage.
|
|
 |
9abcefa |
# * nscd.filelist
|
|
 |
6f4d10f |
# - Files for the nscd subpackage.
|
|
 |
9abcefa |
# * devel.filelist
|
|
 |
6f4d10f |
# - Files for the devel subpackage.
|
|
 |
9abcefa |
# * headers.filelist
|
|
 |
6f4d10f |
# - Files for the headers subpackage.
|
|
 |
9abcefa |
# * static.filelist
|
|
 |
6f4d10f |
# - Files for the static subpackage.
|
|
 |
b8bc11a |
# * libnsl.filelist
|
|
 |
6f4d10f |
# - Files for the libnsl subpackage
|
|
 |
6f4d10f |
# * nss_db.filelist
|
|
 |
6f4d10f |
# * nss_hesiod.filelist
|
|
 |
d5e9ea2 |
# - File lists for nss_* NSS module subpackages.
|
|
 |
d5e9ea2 |
# * nss-devel.filelist
|
|
 |
d5e9ea2 |
# - File list with the .so symbolic links for NSS packages.
|
|
Carlos O'Donell |
9588eec |
# * compat-libpthread-nonshared.filelist.
|
|
Carlos O'Donell |
9588eec |
# - File list for compat-libpthread-nonshared subpackage.
|
|
 |
9abcefa |
# * debuginfo.filelist
|
|
 |
6f4d10f |
# - Files for the glibc debuginfo package.
|
|
 |
9abcefa |
# * debuginfocommon.filelist
|
|
 |
6f4d10f |
# - Files for the glibc common debuginfo package.
|
|
 |
9abcefa |
#
|
|
 |
9abcefa |
|
|
 |
6f4d10f |
# Create the main file lists. This way we can append to any one of them later
|
|
 |
6f4d10f |
# wihtout having to create it. Note these are removed at the start of the
|
|
 |
6f4d10f |
# install phase.
|
|
 |
092cf93 |
touch master.filelist
|
|
 |
6f4d10f |
touch glibc.filelist
|
|
 |
6f4d10f |
touch common.filelist
|
|
 |
6f4d10f |
touch utils.filelist
|
|
 |
6f4d10f |
touch nscd.filelist
|
|
 |
6f4d10f |
touch devel.filelist
|
|
 |
6f4d10f |
touch headers.filelist
|
|
 |
6f4d10f |
touch static.filelist
|
|
 |
6f4d10f |
touch libnsl.filelist
|
|
 |
6f4d10f |
touch nss_db.filelist
|
|
 |
6f4d10f |
touch nss_hesiod.filelist
|
|
 |
6f4d10f |
touch nss-devel.filelist
|
|
Carlos O'Donell |
9588eec |
touch compat-libpthread-nonshared.filelist
|
|
 |
6f4d10f |
touch debuginfo.filelist
|
|
 |
6f4d10f |
touch debuginfocommon.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# Master file list, excluding a few things.
|
|
 |
6f4d10f |
###############################################################################
|
|
Andreas Schwab |
237bb90 |
{
|
|
 |
6f4d10f |
# List all files or links that we have created during install.
|
|
 |
6f4d10f |
# Files with 'etc' are configuration files, likewise 'gconv-modules'
|
|
 |
6f4d10f |
# and 'gconv-modules.cache' are caches, and we exclude them.
|
|
 |
6f4d10f |
find %{glibc_sysroot} \( -type f -o -type l \) \
|
|
Andreas Schwab |
237bb90 |
\( \
|
|
Andreas Schwab |
237bb90 |
-name etc -printf "%%%%config " -o \
|
|
Andreas Schwab |
237bb90 |
-name gconv-modules \
|
|
Andreas Schwab |
237bb90 |
-printf "%%%%verify(not md5 size mtime) %%%%config(noreplace) " -o \
|
|
Andreas Schwab |
237bb90 |
-name gconv-modules.cache \
|
|
Andreas Schwab |
237bb90 |
-printf "%%%%verify(not md5 size mtime) " \
|
|
Andreas Schwab |
237bb90 |
, \
|
|
Andreas Schwab |
6843c2d |
! -path "*/lib/debug/*" -printf "/%%P\n" \)
|
|
 |
6f4d10f |
# List all directories with a %%dir prefix. We omit the info directory and
|
|
Siddhesh Poyarekar |
aeaedc4 |
# all directories in (and including) /usr/share/locale.
|
|
 |
6f4d10f |
find %{glibc_sysroot} -type d \
|
|
Siddhesh Poyarekar |
aeaedc4 |
\( -path '*%{_prefix}/share/locale' -prune -o \
|
|
Carlos O'Donell |
6e8e9f6 |
\( -path '*%{_prefix}/share/*' \
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with docs}
|
|
Carlos O'Donell |
6e8e9f6 |
! -path '*%{_infodir}' -o \
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
Andreas Schwab |
976b178 |
-path "*%{_prefix}/include/*" \
|
|
Siddhesh Poyarekar |
aeaedc4 |
\) -printf "%%%%dir /%%P\n" \)
|
|
Andreas Schwab |
237bb90 |
} | {
|
|
 |
9edc2b6 |
# Also remove the *.mo entries. We will add them to the
|
|
 |
9edc2b6 |
# language specific sub-packages.
|
|
 |
d5e9ea2 |
# libnss_ files go into subpackages related to NSS modules.
|
|
 |
9edc2b6 |
# and .*/share/i18n/charmaps/.*), they go into the sub-package
|
|
 |
d5e9ea2 |
# "locale-source":
|
|
Siddhesh Poyarekar |
0cda723 |
sed -e '\,.*/share/locale/\([^/_]\+\).*/LC_MESSAGES/.*\.mo,d' \
|
|
 |
9edc2b6 |
-e '\,.*/share/i18n/locales/.*,d' \
|
|
 |
9edc2b6 |
-e '\,.*/share/i18n/charmaps/.*,d' \
|
|
 |
6f4d10f |
-e '\,.*/etc/\(localtime\|nsswitch.conf\|ld\.so\.conf\|ld\.so\.cache\|default\|rpc\|gai\.conf\),d' \
|
|
 |
6f4d10f |
-e '\,.*/%{_libdir}/lib\(pcprofile\|memusage\)\.so,d' \
|
|
 |
6f4d10f |
-e '\,.*/bin/\(memusage\|mtrace\|xtrace\|pcprofiledump\),d'
|
|
 |
092cf93 |
} | sort > master.filelist
|
|
cvsdist |
c381c23 |
|
|
 |
6f4d10f |
# The master file list is now used by each subpackage to list their own
|
|
 |
6f4d10f |
# files. We go through each package and subpackage now and create their lists.
|
|
 |
6f4d10f |
# Each subpackage picks the files from the master list that they need.
|
|
 |
6f4d10f |
# The order of the subpackage list generation does not matter.
|
|
Siddhesh Poyarekar |
0cda723 |
|
|
 |
092cf93 |
# Make the master file list read-only after this point to avoid accidental
|
|
 |
092cf93 |
# modification.
|
|
 |
092cf93 |
chmod 0444 master.filelist
|
|
 |
092cf93 |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
# Add all files with the following exceptions:
|
|
 |
6f4d10f |
# - The info files '%{_infodir}/dir'
|
|
 |
6f4d10f |
# - The partial (lib*_p.a) static libraries, include files.
|
|
 |
6f4d10f |
# - The static files, objects, unversioned DSOs, and nscd.
|
|
 |
6f4d10f |
# - The bin, locale, some sbin, and share.
|
|
 |
34927af |
# - We want iconvconfig in the main package and we do this by using
|
|
 |
34927af |
# a double negation of -v and [^i] so it removes all files in
|
|
 |
34927af |
# sbin *but* iconvconfig.
|
|
 |
6f4d10f |
# - All the libnss files (we add back the ones we want later).
|
|
 |
6f4d10f |
# - All bench test binaries.
|
|
 |
6f4d10f |
# - The aux-cache, since it's handled specially in the files section.
|
|
 |
092cf93 |
cat master.filelist \
|
|
 |
6f4d10f |
| grep -v \
|
|
 |
6f4d10f |
-e '%{_infodir}' \
|
|
 |
6f4d10f |
-e '%{_libdir}/lib.*_p.a' \
|
|
 |
6f4d10f |
-e '%{_prefix}/include' \
|
|
 |
6f4d10f |
-e '%{_libdir}/lib.*\.a' \
|
|
 |
6f4d10f |
-e '%{_libdir}/.*\.o' \
|
|
 |
6f4d10f |
-e '%{_libdir}/lib.*\.so' \
|
|
 |
6f4d10f |
-e 'nscd' \
|
|
 |
6f4d10f |
-e '%{_prefix}/bin' \
|
|
 |
6f4d10f |
-e '%{_prefix}/lib/locale' \
|
|
 |
34927af |
-e '%{_prefix}/sbin/[^i]' \
|
|
 |
6f4d10f |
-e '%{_prefix}/share' \
|
|
 |
6f4d10f |
-e '/var/db/Makefile' \
|
|
 |
6f4d10f |
-e '/libnss_.*\.so[0-9.]*$' \
|
|
 |
6f4d10f |
-e '/libnsl' \
|
|
 |
6f4d10f |
-e 'glibc-benchtests' \
|
|
 |
6f4d10f |
-e 'aux-cache' \
|
|
 |
6f4d10f |
> glibc.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
# Add specific files:
|
|
 |
6f4d10f |
# - The nss_files, nss_compat, and nss_db files.
|
|
 |
6f4d10f |
# - The libmemusage.so and libpcprofile.so used by utils.
|
|
 |
6f4d10f |
for module in compat files dns; do
|
|
 |
092cf93 |
cat master.filelist \
|
|
 |
6f4d10f |
| grep -E \
|
|
 |
6f4d10f |
-e "/libnss_$module(\.so\.[0-9.]+|-[0-9.]+\.so)$" \
|
|
 |
6f4d10f |
>> glibc.filelist
|
|
cvsdist |
c381c23 |
done
|
|
 |
092cf93 |
grep -e "libmemusage.so" -e "libpcprofile.so" master.filelist >> glibc.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-devel
|
|
 |
6f4d10f |
###############################################################################
|
|
cvsdist |
c381c23 |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with docs}
|
|
 |
6f4d10f |
# Put the info files into the devel file list, but exclude the generated dir.
|
|
 |
092cf93 |
grep '%{_infodir}' master.filelist | grep -v '%{_infodir}/dir' > devel.filelist
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
 |
9abcefa |
|
|
 |
6f4d10f |
# Put some static files into the devel package.
|
|
 |
092cf93 |
grep '%{_libdir}/lib.*\.a' master.filelist \
|
|
 |
6f4d10f |
| grep '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \
|
|
 |
6f4d10f |
>> devel.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
# Put all of the object files and *.so (not the versioned ones) into the
|
|
 |
6f4d10f |
# devel package.
|
|
 |
092cf93 |
grep '%{_libdir}/.*\.o' < master.filelist >> devel.filelist
|
|
 |
092cf93 |
grep '%{_libdir}/lib.*\.so' < master.filelist >> devel.filelist
|
|
 |
6f4d10f |
# The exceptions are:
|
|
 |
6f4d10f |
# - libmemusage.so and libpcprofile.so in glibc used by utils.
|
|
 |
6f4d10f |
# - libnss_*.so which are in nss-devel.
|
|
 |
6f4d10f |
sed -i -e '\,libmemusage.so,d' \
|
|
 |
6f4d10f |
-e '\,libpcprofile.so,d' \
|
|
 |
6f4d10f |
-e '\,/libnss_[a-z]*\.so$,d' \
|
|
 |
6f4d10f |
devel.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-headers
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
Carlos O'Donell |
e63fda9 |
# The glibc-headers package includes only common files which are identical
|
|
Carlos O'Donell |
e63fda9 |
# across all multilib packages. We must keep gnu/stubs.h and gnu/lib-names.h
|
|
Carlos O'Donell |
e63fda9 |
# in the glibc-headers package, but the -32, -64, -64-v1, and -64-v2 versions
|
|
Carlos O'Donell |
e63fda9 |
# go into the development packages.
|
|
 |
092cf93 |
grep '%{_prefix}/include/gnu/stubs-.*\.h$' < master.filelist >> devel.filelist || :
|
|
 |
092cf93 |
grep '%{_prefix}/include/gnu/lib-names-.*\.h$' < master.filelist >> devel.filelist || :
|
|
 |
9abcefa |
# Put the include files into headers file list.
|
|
 |
092cf93 |
grep '%{_prefix}/include' < master.filelist \
|
|
Carlos O'Donell |
2542c05 |
| egrep -v '%{_prefix}/include/gnu/stubs-.*\.h$' \
|
|
Carlos O'Donell |
2542c05 |
| egrep -v '%{_prefix}/include/gnu/lib-names-.*\.h$' \
|
|
Carlos O'Donell |
e63fda9 |
> headers.filelist
|
|
cvsdist |
c381c23 |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-static
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Put the rest of the static files into the static package.
|
|
 |
092cf93 |
grep '%{_libdir}/lib.*\.a' < master.filelist \
|
|
 |
d62730d |
| grep -v '/lib\(\(c\|pthread\|nldbl\|mvec\)_nonshared\|g\|ieee\|mcheck\)\.a$' \
|
|
 |
65bf1c4 |
> static.filelist
|
|
 |
9abcefa |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-common
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
# All of the bin and certain sbin files go into the common package except
|
|
 |
34927af |
# iconvconfig which needs to go in glibc. Likewise nscd is excluded because
|
|
 |
34927af |
# it goes in nscd. The iconvconfig binary is kept in the main glibc package
|
|
 |
34927af |
# because we use it in the post-install scriptlet to rebuild the
|
|
DJ Delorie |
1fa2170 |
# gconv-modules.cache. The makedb binary is in nss_db.
|
|
DJ Delorie |
1fa2170 |
grep '%{_prefix}/bin' master.filelist \
|
|
DJ Delorie |
1fa2170 |
| grep -v '%{_prefix}/bin/makedb' \
|
|
DJ Delorie |
1fa2170 |
>> common.filelist
|
|
 |
34927af |
grep '%{_prefix}/sbin' master.filelist \
|
|
 |
34927af |
| grep -v '%{_prefix}/sbin/iconvconfig' \
|
|
 |
6f4d10f |
| grep -v 'nscd' >> common.filelist
|
|
 |
6f4d10f |
# All of the files under share go into the common package since they should be
|
|
 |
6f4d10f |
# multilib-independent.
|
|
 |
6f4d10f |
# Exceptions:
|
|
 |
6f4d10f |
# - The actual share directory, not owned by us.
|
|
 |
6f4d10f |
# - The info files which go in devel, and the info directory.
|
|
 |
092cf93 |
grep '%{_prefix}/share' master.filelist \
|
|
 |
6f4d10f |
| grep -v \
|
|
 |
6f4d10f |
-e '%{_prefix}/share/info/libc.info.*' \
|
|
 |
6f4d10f |
-e '%%dir %{prefix}/share/info' \
|
|
 |
6f4d10f |
-e '%%dir %{prefix}/share' \
|
|
 |
6f4d10f |
>> common.filelist
|
|
cvsdist |
c381c23 |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# nscd
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
 |
9abcefa |
# The nscd binary must go into the nscd subpackage.
|
|
cvsdist |
c381c23 |
echo '%{_prefix}/sbin/nscd' > nscd.filelist
|
|
cvsdist |
c381c23 |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-utils
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Add the utils scripts and programs to the utils subpackage.
|
|
Andreas Schwab |
aeada30 |
cat > utils.filelist <
|
|
Andreas Krebbel |
71d4a02 |
%if %{without bootstrap}
|
|
cvsdist |
c381c23 |
%{_prefix}/bin/memusage
|
|
cvsdist |
c381c23 |
%{_prefix}/bin/memusagestat
|
|
Jeroen van Meeuwen (Kolab Systems) |
5b4007b |
%endif
|
|
Jeroen van Meeuwen (Kolab Systems) |
97506ad |
%{_prefix}/bin/mtrace
|
|
cvsdist |
c381c23 |
%{_prefix}/bin/pcprofiledump
|
|
cvsdist |
c381c23 |
%{_prefix}/bin/xtrace
|
|
cvsdist |
c381c23 |
EOF
|
|
cvsdist |
c381c23 |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# nss_db, nss_hesiod
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
 |
d5e9ea2 |
# Move the NSS-related files to the NSS subpackages. Be careful not
|
|
 |
d5e9ea2 |
# to pick up .debug files, and the -devel symbolic links.
|
|
 |
6f4d10f |
for module in db hesiod; do
|
|
 |
d5e9ea2 |
grep -E "/libnss_$module(\.so\.[0-9.]+|-[0-9.]+\.so)$" \
|
|
 |
092cf93 |
master.filelist > nss_$module.filelist
|
|
 |
d5e9ea2 |
done
|
|
DJ Delorie |
1fa2170 |
grep -E "%{_prefix}/bin/makedb$" master.filelist >> nss_db.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# nss-devel
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
|
|
 |
d5e9ea2 |
# Symlinks go into the nss-devel package (instead of the main devel
|
|
 |
d5e9ea2 |
# package).
|
|
 |
092cf93 |
grep '/libnss_[a-z]*\.so$' master.filelist > nss-devel.filelist
|
|
 |
6f4d10f |
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# libnsl
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
d5e9ea2 |
|
|
 |
b8bc11a |
# Prepare the libnsl-related file lists.
|
|
 |
092cf93 |
grep '/libnsl-[0-9.]*.so$' master.filelist > libnsl.filelist
|
|
 |
b8bc11a |
test $(wc -l < libnsl.filelist) -eq 1
|
|
 |
6f4d10f |
|
|
Jeroen van Meeuwen (Kolab Systems) |
5b4007b |
%if %{with benchtests}
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
6f4d10f |
# glibc-benchtests
|
|
 |
6f4d10f |
###############################################################################
|
|
 |
b8bc11a |
|
|
Carlos O'Donell |
e4aafbc |
# List of benchmarks.
|
|
Siddhesh Poyarekar |
67b30d7 |
find build-%{target}/benchtests -type f -executable | while read b; do
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)"
|
|
Siddhesh Poyarekar |
67b30d7 |
done >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
# ... and the makefile.
|
|
 |
7e6e06c |
for b in %{SOURCE2} %{SOURCE3}; do
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/$(basename $b)" >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
done
|
|
Carlos O'Donell |
e4aafbc |
# ... and finally, the comparison scripts.
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/benchout.schema.json" >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/compare_bench.py*" >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/import_bench.py*" >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
echo "%{_prefix}/libexec/glibc-benchtests/validate_benchout.py*" >> benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
%endif
|
|
Siddhesh Poyarekar |
67b30d7 |
|
|
 |
9abcefa |
###############################################################################
|
|
Carlos O'Donell |
9588eec |
# compat-libpthread-nonshared
|
|
Carlos O'Donell |
9588eec |
###############################################################################
|
|
Carlos O'Donell |
9588eec |
echo "%{_libdir}/libpthread_nonshared.a" >> compat-libpthread-nonshared.filelist
|
|
Carlos O'Donell |
9588eec |
|
|
Carlos O'Donell |
9588eec |
###############################################################################
|
|
 |
6f4d10f |
# glibc-debuginfocommon, and glibc-debuginfo
|
|
 |
9abcefa |
###############################################################################
|
|
 |
65bf1c4 |
|
|
 |
dcaaa78 |
find_debuginfo_args='--strict-build-id -g -i'
|
|
 |
e0b4499 |
%ifarch %{debuginfocommonarches}
|
|
 |
e0b4499 |
find_debuginfo_args="$find_debuginfo_args \
|
|
 |
d4d7eff |
-l common.filelist \
|
|
 |
d4d7eff |
-l utils.filelist \
|
|
 |
d4d7eff |
-l nscd.filelist \
|
|
 |
b8e4762 |
-p '.*/(sbin|libexec)/.*' \
|
|
 |
d4d7eff |
-o debuginfocommon.filelist \
|
|
 |
b8bc11a |
-l nss_db.filelist -l nss_hesiod.filelist \
|
|
 |
6f4d10f |
-l libnsl.filelist -l glibc.filelist \
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with benchtests}
|
|
 |
6e6bd41 |
-l benchtests.filelist
|
|
Carlos O'Donell |
6e8e9f6 |
%endif
|
|
 |
6e6bd41 |
"
|
|
 |
e0b4499 |
%endif
|
|
 |
6f4d10f |
|
|
 |
fce9549 |
/usr/lib/rpm/find-debuginfo.sh $find_debuginfo_args -o debuginfo.filelist
|
|
cvsdist |
c381c23 |
|
|
 |
9abcefa |
# List all of the *.a archives in the debug directory.
|
|
 |
e0b4499 |
list_debug_archives()
|
|
 |
e0b4499 |
{
|
|
 |
0d1d15d |
local dir=%{_prefix}/lib/debug%{_libdir}
|
|
 |
6f4d10f |
find %{glibc_sysroot}$dir -name "*.a" -printf "$dir/%%P\n"
|
|
 |
e0b4499 |
}
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%ifarch %{debuginfocommonarches}
|
|
 |
e0b4499 |
|
|
 |
9abcefa |
# Remove the source files from the common package debuginfo.
|
|
 |
6f4d10f |
sed -i '\#^%{glibc_sysroot}%{_prefix}/src/debug/#d' debuginfocommon.filelist
|
|
 |
9abcefa |
|
|
 |
9abcefa |
# Create a list of all of the source files we copied to the debug directory.
|
|
 |
6f4d10f |
find %{glibc_sysroot}%{_prefix}/src/debug \
|
|
Andreas Schwab |
87a7e49 |
\( -type d -printf '%%%%dir ' \) , \
|
|
Andreas Schwab |
87a7e49 |
-printf '%{_prefix}/src/debug/%%P\n' > debuginfocommon.sources
|
|
Andreas Schwab |
87a7e49 |
|
|
Andreas Schwab |
87a7e49 |
%ifarch %{biarcharches}
|
|
Andreas Schwab |
87a7e49 |
|
|
 |
9abcefa |
# Add the source files to the core debuginfo package.
|
|
Andreas Schwab |
87a7e49 |
cat debuginfocommon.sources >> debuginfo.filelist
|
|
Andreas Schwab |
87a7e49 |
|
|
Andreas Schwab |
87a7e49 |
%else
|
|
Andreas Schwab |
87a7e49 |
|
|
cvsdist |
c381c23 |
%ifarch %{ix86}
|
|
Andreas Schwab |
50a0037 |
%define basearch i686
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
%ifarch sparc sparcv9
|
|
cvsdist |
c381c23 |
%define basearch sparc
|
|
cvsdist |
c381c23 |
%endif
|
|
 |
e0b4499 |
|
|
 |
9abcefa |
# The auxarches get only these few source files.
|
|
 |
e0b4499 |
auxarches_debugsources=\
|
|
 |
e0b4499 |
'/(generic|linux|%{basearch}|nptl(_db)?)/|/%{glibcsrcdir}/build|/dl-osinfo\.h'
|
|
 |
e0b4499 |
|
|
 |
9abcefa |
# Place the source files into the core debuginfo pakcage.
|
|
 |
e0b4499 |
egrep "$auxarches_debugsources" debuginfocommon.sources >> debuginfo.filelist
|
|
 |
e0b4499 |
|
|
 |
9abcefa |
# Remove the source files from the common debuginfo package.
|
|
 |
e0b4499 |
egrep -v "$auxarches_debugsources" \
|
|
 |
ffc48ad |
debuginfocommon.sources >> debuginfocommon.filelist
|
|
 |
e0b4499 |
|
|
 |
134a36d |
%endif
|
|
Andreas Schwab |
87a7e49 |
|
|
 |
9abcefa |
# Add the list of *.a archives in the debug directory to
|
|
 |
9abcefa |
# the common debuginfo package.
|
|
 |
e0b4499 |
list_debug_archives >> debuginfocommon.filelist
|
|
 |
e0b4499 |
|
|
 |
134a36d |
%endif
|
|
cvsdist |
c381c23 |
|
|
Siddhesh Poyarekar |
7007495 |
# Remove some common directories from the common package debuginfo so that we
|
|
Siddhesh Poyarekar |
7007495 |
# don't end up owning them.
|
|
Siddhesh Poyarekar |
7007495 |
exclude_common_dirs()
|
|
Siddhesh Poyarekar |
7007495 |
{
|
|
Siddhesh Poyarekar |
7007495 |
exclude_dirs="%{_prefix}/src/debug"
|
|
Siddhesh Poyarekar |
7007495 |
exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug{,/%{_lib},/bin,/sbin})"
|
|
Siddhesh Poyarekar |
7007495 |
exclude_dirs="$exclude_dirs $(echo %{_prefix}/lib/debug%{_prefix}{,/%{_lib},/libexec,/bin,/sbin})"
|
|
Siddhesh Poyarekar |
7007495 |
|
|
Siddhesh Poyarekar |
7007495 |
for d in $(echo $exclude_dirs | sed 's/ /\n/g'); do
|
|
Siddhesh Poyarekar |
7007495 |
sed -i "\|^%%dir $d/\?$|d" $1
|
|
Siddhesh Poyarekar |
7007495 |
done
|
|
Siddhesh Poyarekar |
7007495 |
}
|
|
Siddhesh Poyarekar |
7007495 |
|
|
Siddhesh Poyarekar |
7007495 |
%ifarch %{debuginfocommonarches}
|
|
Siddhesh Poyarekar |
7007495 |
exclude_common_dirs debuginfocommon.filelist
|
|
Siddhesh Poyarekar |
7007495 |
%endif
|
|
Siddhesh Poyarekar |
7007495 |
exclude_common_dirs debuginfo.filelist
|
|
Siddhesh Poyarekar |
7007495 |
|
|
 |
134a36d |
%endif
|
|
 |
e0b4499 |
|
|
Carlos O'Donell |
e4aafbc |
##############################################################################
|
|
 |
9abcefa |
# Delete files that we do not intended to ship with the auxarch.
|
|
Carlos O'Donell |
e4aafbc |
# This is the only place where we touch the installed files after generating
|
|
Carlos O'Donell |
e4aafbc |
# the file lists.
|
|
Carlos O'Donell |
e4aafbc |
##############################################################################
|
|
 |
6f4d10f |
%ifarch %{auxarches}
|
|
cvsdist |
c381c23 |
echo Cutting down the list of unpackaged files
|
|
 |
e0b4499 |
sed -e '/%%dir/d;/%%config/d;/%%verify/d;s/%%lang([^)]*) //;s#^/*##' \
|
|
 |
02e8252 |
common.filelist devel.filelist static.filelist headers.filelist \
|
|
 |
02e8252 |
utils.filelist nscd.filelist \
|
|
 |
02e8252 |
%ifarch %{debuginfocommonarches}
|
|
 |
02e8252 |
debuginfocommon.filelist \
|
|
 |
02e8252 |
%endif
|
|
 |
6f4d10f |
| (cd %{glibc_sysroot}; xargs --no-run-if-empty rm -f 2> /dev/null || :)
|
|
 |
134a36d |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
7448524 |
##############################################################################
|
|
 |
7448524 |
# Run the glibc testsuite
|
|
 |
7448524 |
##############################################################################
|
|
 |
7448524 |
%check
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with testsuite}
|
|
 |
f515946 |
|
|
 |
5c2fe5c |
# Run the glibc tests. If any tests fail to build we exit %check with
|
|
 |
5c2fe5c |
# an error, otherwise we print the test failure list and the failed
|
|
 |
5c2fe5c |
# test output and continue. Write to standard error to avoid
|
|
 |
5c2fe5c |
# synchronization issues with make and shell tracing output if
|
|
 |
5c2fe5c |
# standard output and standard error are different pipes.
|
|
 |
f515946 |
run_tests () {
|
|
 |
5c2fe5c |
# This hides a test suite build failure, which should be fatal. We
|
|
 |
5c2fe5c |
# check "Summary of test results:" below to verify that all tests
|
|
 |
5c2fe5c |
# were built and run.
|
|
 |
5c2fe5c |
make %{?_smp_mflags} -O check |& tee rpmbuild.check.log >&2
|
|
 |
5c2fe5c |
test -n tests.sum
|
|
 |
5c2fe5c |
if ! grep -q '^Summary of test results:$' rpmbuild.check.log ; then
|
|
 |
5c2fe5c |
echo "FAIL: test suite build of target: $(basename "$(pwd)")" >& 2
|
|
 |
5c2fe5c |
exit 1
|
|
 |
5c2fe5c |
fi
|
|
 |
5c2fe5c |
set +x
|
|
 |
5c2fe5c |
grep -v ^PASS: tests.sum > rpmbuild.tests.sum.not-passing || true
|
|
 |
5c2fe5c |
if test -n rpmbuild.tests.sum.not-passing ; then
|
|
 |
5c2fe5c |
echo ===================FAILED TESTS===================== >&2
|
|
 |
5c2fe5c |
echo "Target: $(basename "$(pwd)")" >& 2
|
|
 |
5c2fe5c |
cat rpmbuild.tests.sum.not-passing >&2
|
|
 |
5c2fe5c |
while read failed_code failed_test ; do
|
|
 |
5c2fe5c |
for suffix in out test-result ; do
|
|
 |
5c2fe5c |
if test -e "$failed_test.$suffix"; then
|
|
 |
5c2fe5c |
echo >&2
|
|
 |
5c2fe5c |
echo "=====$failed_code $failed_test.$suffix=====" >&2
|
|
 |
5c2fe5c |
cat -- "$failed_test.$suffix" >&2
|
|
 |
5c2fe5c |
echo >&2
|
|
 |
5c2fe5c |
fi
|
|
 |
5c2fe5c |
done
|
|
 |
5c2fe5c |
done
|
|
 |
5c2fe5c |
fi
|
|
 |
5c2fe5c |
|
|
 |
5c2fe5c |
# Unconditonally dump differences in the system call list.
|
|
 |
5c2fe5c |
echo "* System call consistency checks:" >&2
|
|
 |
5c2fe5c |
cat misc/tst-syscall-list.out >&2
|
|
 |
5c2fe5c |
set -x
|
|
 |
f515946 |
}
|
|
 |
f515946 |
|
|
 |
7448524 |
# Increase timeouts
|
|
 |
7448524 |
export TIMEOUTFACTOR=16
|
|
 |
7448524 |
parent=$$
|
|
 |
7448524 |
echo ====================TESTING=========================
|
|
 |
3bef91d |
|
|
 |
3bef91d |
# Default libraries.
|
|
 |
7448524 |
pushd build-%{target}
|
|
 |
f515946 |
run_tests
|
|
 |
7448524 |
popd
|
|
 |
7448524 |
|
|
 |
3bef91d |
%if %{buildpower9}
|
|
 |
3bef91d |
echo ====================TESTING -mcpu=power9=============
|
|
 |
3bef91d |
pushd build-%{target}-power9
|
|
 |
3bef91d |
run_tests
|
|
 |
3bef91d |
popd
|
|
 |
3bef91d |
%endif
|
|
 |
3bef91d |
|
|
 |
3bef91d |
|
|
 |
3bef91d |
|
|
 |
7448524 |
echo ====================TESTING END=====================
|
|
 |
7448524 |
PLTCMD='/^Relocation section .*\(\.rela\?\.plt\|\.rela\.IA_64\.pltoff\)/,/^$/p'
|
|
 |
7448524 |
echo ====================PLT RELOCS LD.SO================
|
|
 |
6f4d10f |
readelf -Wr %{glibc_sysroot}/%{_lib}/ld-*.so | sed -n -e "$PLTCMD"
|
|
 |
7448524 |
echo ====================PLT RELOCS LIBC.SO==============
|
|
 |
6f4d10f |
readelf -Wr %{glibc_sysroot}/%{_lib}/libc-*.so | sed -n -e "$PLTCMD"
|
|
 |
7448524 |
echo ====================PLT RELOCS END==================
|
|
 |
7448524 |
|
|
 |
a548534 |
# Obtain a way to run the dynamic loader. Avoid matching the symbolic
|
|
 |
a548534 |
# link and then pick the first loader (although there should be only
|
|
 |
a548534 |
# one).
|
|
 |
a548534 |
run_ldso="$(find %{glibc_sysroot}/%{_lib}/ld-*.so -type f | LC_ALL=C sort | head -n1) --library-path %{glibc_sysroot}/%{_lib}"
|
|
 |
9d8ea8c |
|
|
 |
9d8ea8c |
# Show the auxiliary vector as seen by the new library
|
|
 |
9d8ea8c |
# (even if we do not perform the valgrind test).
|
|
 |
a548534 |
LD_SHOW_AUXV=1 $run_ldso /bin/true
|
|
 |
9d8ea8c |
|
|
 |
a548534 |
# Finally, check if valgrind runs with the new glibc.
|
|
 |
a548534 |
# We want to fail building if valgrind is not able to run with this glibc so
|
|
 |
a548534 |
# that we can then coordinate with valgrind to get it fixed before we update
|
|
 |
a548534 |
# glibc.
|
|
 |
9d8ea8c |
%if %{with valgrind}
|
|
 |
a548534 |
$run_ldso /usr/bin/valgrind --error-exitcode=1 \
|
|
 |
a548534 |
$run_ldso /usr/bin/true
|
|
 |
a548534 |
# true --help performs some memory allocations.
|
|
 |
a548534 |
$run_ldso /usr/bin/valgrind --error-exitcode=1 \
|
|
 |
a548534 |
$run_ldso /usr/bin/true --help >/dev/null
|
|
Siddhesh Poyarekar |
e9a7f4c |
%endif
|
|
Siddhesh Poyarekar |
e9a7f4c |
|
|
 |
134a36d |
%endif
|
|
 |
7448524 |
|
|
 |
7448524 |
|
|
Andreas Schwab |
9603304 |
%pre -p <lua>
|
|
Andreas Schwab |
9603304 |
-- Check that the running kernel is new enough
|
|
Andreas Schwab |
9603304 |
required = '%{enablekernel}'
|
|
Andreas Schwab |
7dc6703 |
rel = posix.uname("%r")
|
|
Andreas Schwab |
7dc6703 |
if rpm.vercmp(rel, required) < 0 then
|
|
Andreas Schwab |
7dc6703 |
error("FATAL: kernel too old", 0)
|
|
Andreas Schwab |
9603304 |
end
|
|
Andreas Schwab |
9603304 |
|
|
 |
34927af |
%post -p <lua>
|
|
 |
34927af |
-- We use lua's posix.exec because there may be no shell that we can
|
|
 |
34927af |
-- run during glibc upgrade.
|
|
 |
34927af |
function post_exec (program, ...)
|
|
 |
34927af |
local pid = posix.fork ()
|
|
 |
34927af |
if pid == 0 then
|
|
 |
34927af |
assert (posix.exec (program, ...))
|
|
 |
34927af |
elseif pid > 0 then
|
|
 |
34927af |
posix.wait (pid)
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
|
|
 |
34927af |
-- (1) Remove multilib libraries from previous installs.
|
|
 |
34927af |
-- In order to support in-place upgrades, we must immediately remove
|
|
 |
34927af |
-- obsolete platform directories after installing a new glibc
|
|
 |
34927af |
-- version. RPM only deletes files removed by updates near the end
|
|
 |
34927af |
-- of the transaction. If we did not remove the obsolete platform
|
|
 |
34927af |
-- directories here, they may be preferred by the dynamic linker
|
|
 |
34927af |
-- during the execution of subsequent RPM scriptlets, likely
|
|
 |
34927af |
-- resulting in process startup failures.
|
|
 |
34927af |
|
|
 |
34927af |
-- Full set of libraries glibc may install.
|
|
 |
34927af |
install_libs = { "anl", "BrokenLocale", "c", "dl", "m", "mvec",
|
|
 |
34927af |
"nss_compat", "nss_db", "nss_dns", "nss_files",
|
|
 |
34927af |
"nss_hesiod", "pthread", "resolv", "rt", "SegFault",
|
|
 |
34927af |
"thread_db", "util" }
|
|
 |
34927af |
|
|
 |
34927af |
-- We are going to remove these libraries. Generally speaking we remove
|
|
 |
34927af |
-- all core libraries in the multilib directory.
|
|
 |
34927af |
-- We employ a tight match where X.Y is in [2.0,9.9*], so we would
|
|
 |
34927af |
-- match "libc-2.0.so" and so on up to "libc-9.9*".
|
|
 |
34927af |
remove_regexps = {}
|
|
 |
34927af |
for i = 1, #install_libs do
|
|
 |
34927af |
remove_regexps[i] = ("lib" .. install_libs[i]
|
|
 |
34927af |
.. "%%-[2-9]%%.[0-9]+%%.so$")
|
|
 |
34927af |
end
|
|
 |
34927af |
|
|
 |
34927af |
-- Two exceptions:
|
|
 |
34927af |
remove_regexps[#install_libs + 1] = "libthread_db%%-1%%.0%%.so"
|
|
 |
34927af |
remove_regexps[#install_libs + 2] = "libSegFault%%.so"
|
|
 |
34927af |
|
|
 |
34927af |
-- We are going to search these directories.
|
|
 |
34927af |
local remove_dirs = { "%{_libdir}/i686",
|
|
 |
34927af |
"%{_libdir}/i686/nosegneg",
|
|
 |
34927af |
"%{_libdir}/power6",
|
|
 |
34927af |
"%{_libdir}/power7",
|
|
 |
34927af |
"%{_libdir}/power8" }
|
|
 |
34927af |
|
|
 |
34927af |
-- Walk all the directories with files we need to remove...
|
|
 |
34927af |
for _, rdir in ipairs (remove_dirs) do
|
|
 |
34927af |
if posix.access (rdir) then
|
|
 |
34927af |
-- If the directory exists we look at all the files...
|
|
 |
34927af |
local remove_files = posix.files (rdir)
|
|
 |
34927af |
for rfile in remove_files do
|
|
 |
34927af |
for _, rregexp in ipairs (remove_regexps) do
|
|
 |
34927af |
-- Does it match the regexp?
|
|
 |
34927af |
local dso = string.match (rfile, rregexp)
|
|
 |
34927af |
if (dso ~= nil) then
|
|
 |
34927af |
-- Removing file...
|
|
 |
34927af |
os.remove (rdir .. '/' .. rfile)
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
|
|
 |
34927af |
-- (2) Update /etc/ld.so.conf
|
|
 |
34927af |
-- Next we update /etc/ld.so.conf to ensure that it starts with
|
|
 |
34927af |
-- a literal "include ld.so.conf.d/*.conf".
|
|
 |
34927af |
|
|
 |
34927af |
local ldsoconf = "/etc/ld.so.conf"
|
|
 |
34927af |
local ldsoconf_tmp = "/etc/glibc_post_upgrade.ld.so.conf"
|
|
 |
34927af |
|
|
 |
34927af |
if posix.access (ldsoconf) then
|
|
 |
34927af |
|
|
 |
34927af |
-- We must have a "include ld.so.conf.d/*.conf" line.
|
|
 |
34927af |
local have_include = false
|
|
 |
34927af |
for line in io.lines (ldsoconf) do
|
|
 |
34927af |
-- This must match, and we don't ignore whitespace.
|
|
 |
34927af |
if string.match (line, "^include ld.so.conf.d/%%*%%.conf$") ~= nil then
|
|
 |
34927af |
have_include = true
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
|
|
 |
34927af |
if not have_include then
|
|
 |
34927af |
-- Insert "include ld.so.conf.d/*.conf" line at the start of the
|
|
 |
34927af |
-- file. We only support one of these post upgrades running at
|
|
 |
34927af |
-- a time (temporary file name is fixed).
|
|
 |
34927af |
local tmp_fd = io.open (ldsoconf_tmp, "w")
|
|
 |
34927af |
if tmp_fd ~= nil then
|
|
 |
34927af |
tmp_fd:write ("include ld.so.conf.d/*.conf\n")
|
|
 |
34927af |
for line in io.lines (ldsoconf) do
|
|
 |
34927af |
tmp_fd:write (line .. "\n")
|
|
 |
34927af |
end
|
|
 |
34927af |
tmp_fd:close ()
|
|
 |
34927af |
local res = os.rename (ldsoconf_tmp, ldsoconf)
|
|
 |
34927af |
if res == nil then
|
|
 |
34927af |
io.stdout:write ("Error: Unable to update configuration file (rename).\n")
|
|
 |
34927af |
end
|
|
 |
34927af |
else
|
|
 |
34927af |
io.stdout:write ("Error: Unable to update configuration file (open).\n")
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
end
|
|
 |
34927af |
|
|
 |
34927af |
-- (3) Rebuild ld.so.cache early.
|
|
 |
34927af |
-- If the format of the cache changes then we need to rebuild
|
|
 |
34927af |
-- the cache early to avoid any problems running binaries with
|
|
 |
34927af |
-- the new glibc.
|
|
 |
34927af |
|
|
 |
34927af |
-- Note: We use _prefix because Fedora's UsrMove says so.
|
|
 |
34927af |
post_exec ("%{_prefix}/sbin/ldconfig")
|
|
 |
34927af |
|
|
 |
34927af |
-- (4) Update gconv modules cache.
|
|
 |
34927af |
-- If the /usr/lib/gconv/gconv-modules.cache exists, then update it
|
|
 |
34927af |
-- with the latest set of modules that were just installed.
|
|
 |
34927af |
-- We assume that the cache is in _libdir/gconv and called
|
|
 |
34927af |
-- "gconv-modules.cache".
|
|
 |
34927af |
|
|
 |
34927af |
local iconv_dir = "%{_libdir}/gconv"
|
|
 |
34927af |
local iconv_cache = iconv_dir .. "/gconv-modules.cache"
|
|
 |
34927af |
if (posix.utime (iconv_cache) == 0) then
|
|
 |
34927af |
post_exec ("%{_prefix}/sbin/iconvconfig",
|
|
 |
34927af |
"-o", iconv_cache,
|
|
 |
34927af |
"--nostdlib",
|
|
 |
34927af |
iconv_dir)
|
|
 |
34927af |
else
|
|
 |
34927af |
io.stdout:write ("Error: Missing " .. iconv_cache .. " file.\n")
|
|
 |
34927af |
end
|
|
cvsdist |
c381c23 |
|
|
 |
bd8d243 |
%posttrans all-langpacks -e -p <lua>
|
|
 |
bd8d243 |
-- The old glibc-all-langpacks postun scriptlet deleted the locale-archive
|
|
 |
bd8d243 |
-- file, so we may have to resurrect it on upgrades.
|
|
 |
bd8d243 |
local archive_path = "%{_prefix}/lib/locale/locale-archive"
|
|
 |
bd8d243 |
local real_path = "%{_prefix}/lib/locale/locale-archive.real"
|
|
 |
bd8d243 |
local stat_archive = posix.stat(archive_path)
|
|
 |
bd8d243 |
local stat_real = posix.stat(real_path)
|
|
 |
bd8d243 |
-- If the hard link was removed, restore it.
|
|
 |
bd8d243 |
if stat_archive ~= nil and stat_real ~= nil
|
|
 |
bd8d243 |
and (stat_archive.ino ~= stat_real.ino
|
|
 |
bd8d243 |
or stat_archive.dev ~= stat_real.dev) then
|
|
 |
bd8d243 |
posix.unlink(archive_path)
|
|
 |
bd8d243 |
stat_archive = nil
|
|
 |
bd8d243 |
end
|
|
 |
bd8d243 |
-- If the file is gone, restore it.
|
|
 |
bd8d243 |
if stat_archive == nil then
|
|
 |
bd8d243 |
posix.link(real_path, archive_path)
|
|
 |
bd8d243 |
end
|
|
 |
bd8d243 |
-- Remove .rpmsave file potentially created due to config file change.
|
|
 |
bd8d243 |
local save_path = archive_path .. ".rpmsave"
|
|
 |
bd8d243 |
if posix.access(save_path) then
|
|
 |
bd8d243 |
posix.unlink(save_path)
|
|
 |
bd8d243 |
end
|
|
 |
bd8d243 |
|
|
cvsdist |
c381c23 |
%pre headers
|
|
cvsdist |
c381c23 |
# this used to be a link and it is causing nightmares now
|
|
cvsdist |
c381c23 |
if [ -L %{_prefix}/include/scsi ] ; then
|
|
 |
ffc48ad |
rm -f %{_prefix}/include/scsi
|
|
cvsdist |
c381c23 |
fi
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%pre -n nscd
|
|
Andreas Schwab |
08541d9 |
getent group nscd >/dev/null || /usr/sbin/groupadd -g 28 -r nscd
|
|
Andreas Schwab |
08541d9 |
getent passwd nscd >/dev/null ||
|
|
Andreas Schwab |
08541d9 |
/usr/sbin/useradd -M -o -r -d / -s /sbin/nologin \
|
|
Andreas Schwab |
08541d9 |
-c "NSCD Daemon" -u 28 -g nscd nscd
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%post -n nscd
|
|
 |
f8556b4 |
%systemd_post nscd.service
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%preun -n nscd
|
|
 |
f8556b4 |
%systemd_preun nscd.service
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%postun -n nscd
|
|
Andreas Schwab |
389eedc |
if test $1 = 0; then
|
|
 |
ffc48ad |
/usr/sbin/userdel nscd > /dev/null 2>&1 || :
|
|
cvsdist |
c381c23 |
fi
|
|
 |
f8556b4 |
%systemd_postun_with_restart nscd.service
|
|
cvsdist |
c381c23 |
|
|
 |
092cf93 |
%files -f glibc.filelist
|
|
 |
63769b1 |
%dir %{_prefix}/%{_lib}/audit
|
|
 |
3bef91d |
%if %{buildpower9}
|
|
 |
3bef91d |
%dir /%{_lib}/power9
|
|
 |
3bef91d |
%endif
|
|
cvsdist |
c381c23 |
%ifarch s390x
|
|
 |
b8e4762 |
/lib/ld64.so.1
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
%verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
|
|
cvsdist |
c381c23 |
%verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf
|
|
Andreas Schwab |
809a543 |
%verify(not md5 size mtime) %config(noreplace) /etc/rpc
|
|
cvsdist |
195182b |
%dir /etc/ld.so.conf.d
|
|
 |
ef031de |
%dir %{_prefix}/libexec/getconf
|
|
 |
0d1d15d |
%dir %{_libdir}/gconv
|
|
 |
50740a3 |
%dir %attr(0700,root,root) /var/cache/ldconfig
|
|
 |
50740a3 |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
|
|
cvsdist |
4a201b7 |
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
|
|
Andreas Schwab |
d047b37 |
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf
|
|
 |
8ca6f66 |
%doc README NEWS INSTALL elf/rtld-debugger-interface.txt
|
|
Carlos O'Donell |
6e8e9f6 |
# If rpm doesn't support %license, then use %doc instead.
|
|
 |
e653c3c |
%{!?_licensedir:%global license %%doc}
|
|
 |
e653c3c |
%license COPYING COPYING.LIB LICENSES
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%ifnarch %{auxarches}
|
|
cvsdist |
c381c23 |
%files -f common.filelist common
|
|
 |
111d75b |
%dir %{_prefix}/lib/locale
|
|
Carlos O'Donell |
0457f64 |
%dir %{_prefix}/lib/locale/C.utf8
|
|
Carlos O'Donell |
0457f64 |
%{_prefix}/lib/locale/C.utf8/*
|
|
 |
7ad97ba |
%doc documentation/README.timezone
|
|
 |
7ad97ba |
%doc documentation/gai.conf
|
|
cvsdist |
c381c23 |
|
|
Carlos O'Donell |
f2d4020 |
%files all-langpacks
|
|
 |
bd8d243 |
%{_prefix}/lib/locale/locale-archive
|
|
 |
bd8d243 |
%{_prefix}/lib/locale/locale-archive.real
|
|
 |
59ddeec |
%{_prefix}/share/locale/*/LC_MESSAGES/libc.mo
|
|
Carlos O'Donell |
f2d4020 |
|
|
 |
9edc2b6 |
%files locale-source
|
|
 |
9edc2b6 |
%dir %{_prefix}/share/i18n/locales
|
|
 |
9edc2b6 |
%{_prefix}/share/i18n/locales/*
|
|
 |
9edc2b6 |
%dir %{_prefix}/share/i18n/charmaps
|
|
 |
9edc2b6 |
%{_prefix}/share/i18n/charmaps/*
|
|
 |
9edc2b6 |
|
|
cvsdist |
c381c23 |
%files -f devel.filelist devel
|
|
cvsdist |
c381c23 |
|
|
 |
65bf1c4 |
%files -f static.filelist static
|
|
 |
65bf1c4 |
|
|
cvsdist |
c381c23 |
%files -f headers.filelist headers
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%files -f utils.filelist utils
|
|
cvsdist |
c381c23 |
|
|
cvsdist |
c381c23 |
%files -f nscd.filelist -n nscd
|
|
cvsdist |
c381c23 |
%config(noreplace) /etc/nscd.conf
|
|
 |
cfeb07d |
%dir %attr(0755,root,root) /var/run/nscd
|
|
 |
cfeb07d |
%dir %attr(0755,root,root) /var/db/nscd
|
|
 |
b8e4762 |
/lib/systemd/system/nscd.service
|
|
 |
b8e4762 |
/lib/systemd/system/nscd.socket
|
|
Siddhesh Poyarekar |
944ed51 |
%{_tmpfilesdir}/nscd.conf
|
|
 |
cfeb07d |
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
|
|
 |
cfeb07d |
%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
|
|
 |
9893fad |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/passwd
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/group
|
|
 |
cfeb07d |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/hosts
|
|
 |
9893fad |
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/nscd/services
|
|
 |
63b6b66 |
%ghost %config(missingok,noreplace) /etc/sysconfig/nscd
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
|
|
 |
d5e9ea2 |
%files -f nss_db.filelist -n nss_db
|
|
 |
d3da0e9 |
/var/db/Makefile
|
|
 |
d5e9ea2 |
%files -f nss_hesiod.filelist -n nss_hesiod
|
|
 |
d5e9ea2 |
%doc hesiod/README.hesiod
|
|
 |
d5e9ea2 |
%files -f nss-devel.filelist nss-devel
|
|
 |
d5e9ea2 |
|
|
 |
b8bc11a |
%files -f libnsl.filelist -n libnsl
|
|
 |
b8bc11a |
/%{_lib}/libnsl.so.1
|
|
 |
b8bc11a |
|
|
Andreas Schwab |
237bb90 |
%if 0%{?_enable_debug_packages}
|
|
cvsdist |
c381c23 |
%files debuginfo -f debuginfo.filelist
|
|
cvsdist |
c381c23 |
%ifarch %{debuginfocommonarches}
|
|
cvsdist |
c381c23 |
%ifnarch %{auxarches}
|
|
cvsdist |
c381c23 |
%files debuginfo-common -f debuginfocommon.filelist
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
%endif
|
|
cvsdist |
c381c23 |
|
|
Carlos O'Donell |
6e8e9f6 |
%if %{with benchtests}
|
|
Siddhesh Poyarekar |
67b30d7 |
%files benchtests -f benchtests.filelist
|
|
Siddhesh Poyarekar |
67b30d7 |
%endif
|
|
Siddhesh Poyarekar |
67b30d7 |
|
|
Carlos O'Donell |
9588eec |
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
|
Carlos O'Donell |
9588eec |
|
|
cvsdist |
c381c23 |
%changelog
|
|
Patsy Franklin |
c0cdff7 |
* Fri Mar 13 2020 Patsy Franklin <patsy@redhat.com> - 2.31.9000-4
|
|
Patsy Franklin |
c0cdff7 |
- Auto-sync with upstream branch master,
|
|
Patsy Franklin |
c0cdff7 |
commit 2de7fe62534b7a6461c633114f03e9dff394f5f7.
|
|
Patsy Franklin |
c0cdff7 |
- parse_tunables: Fix typo in comment
|
|
Patsy Franklin |
c0cdff7 |
- ldconfig: trace origin paths with -v
|
|
Patsy Franklin |
c0cdff7 |
- test-container: print errno when execvp fails
|
|
Patsy Franklin |
c0cdff7 |
- [AArch64] Improve integer memcpy
|
|
Patsy Franklin |
c0cdff7 |
- Add NEWS entry for CVE-2020-10029 (bug 25487)
|
|
Patsy Franklin |
c0cdff7 |
- gcc PR 89877: miscompilation due to missing cc clobber in longlong.h macros
|
|
Patsy Franklin |
c0cdff7 |
- mips: Fix wrong INTERNAL_SYSCALL_ERROR_P check from bc2eb9321e
|
|
Patsy Franklin |
c0cdff7 |
- elf: Fix wrong indentation from commit eb447b7b4b
|
|
Patsy Franklin |
c0cdff7 |
- y2038: linux: Provide __futimesat64 implementation
|
|
Patsy Franklin |
c0cdff7 |
- y2038: linux: Provide __lutimes64 implementation
|
|
Patsy Franklin |
c0cdff7 |
- y2038: linux: Provide __futimes64 implementation
|
|
Patsy Franklin |
c0cdff7 |
- y2038: fix: Add missing libc_hidden_def for __futimens64
|
|
Patsy Franklin |
c0cdff7 |
- sparc: Move sigreturn stub to assembly
|
|
Patsy Franklin |
c0cdff7 |
- ldbl-128ibm: Let long double files have specific compiler flags
|
|
Patsy Franklin |
c0cdff7 |
- ldbl-128ibm-compat: Add tests for IBM long double functions
|
|
Patsy Franklin |
c0cdff7 |
- powerpc: Fix feraiseexcept and feclearexcept macros
|
|
Patsy Franklin |
c0cdff7 |
- arm: Fix softp-fp Implies (BZ #25635)
|
|
Patsy Franklin |
c0cdff7 |
- Remove reference of --without-fp on configure
|
|
Patsy Franklin |
c0cdff7 |
- linux/sysipc: Include linux/posix_types.h for __kernel_mode_t
|
|
Patsy Franklin |
c0cdff7 |
- Improve IFUNC check [BZ #25506]
|
|
Patsy Franklin |
c0cdff7 |
- linux: Clear mode_t padding bits (BZ#25623)
|
|
Patsy Franklin |
c0cdff7 |
- linux: Remove aarch64 ipc_priv.h
|
|
Patsy Franklin |
c0cdff7 |
- Linux: Use __fstatat64 in fchmodat implementation
|
|
Patsy Franklin |
c0cdff7 |
- Linux: Use AT_FDCWD in utime, utimes when calling utimensat
|
|
Patsy Franklin |
c0cdff7 |
- S390: Remove backchain-based fallback and use generic backtrace.c.
|
|
Patsy Franklin |
c0cdff7 |
- manual: Fix wrong declaration of wcschr [BZ #24654]
|
|
Patsy Franklin |
c0cdff7 |
- manual: Fix typo in parse_printf_format example [BZ #24638]
|
|
Patsy Franklin |
c0cdff7 |
|
|
 |
3efb6ef |
* Thu Mar 5 2020 Florian Weimer <fweimer@redhat.com> - 2.31.9000-3
|
|
 |
3efb6ef |
- Emergency patch for broken utimes/utime functions
|
|
 |
3efb6ef |
|
|
Patsy Franklin |
301b7b2 |
* Tue Mar 03 2020 Patsy Franklin <patsy@redhat.com> - 2.31.9000-2
|
|
Patsy Franklin |
301b7b2 |
- Auto-sync with upstream branch master,
|
|
Patsy Franklin |
301b7b2 |
commit 78c9d0c6efabe2067ef7f93cd36325f54c60adc2.
|
|
Patsy Franklin |
301b7b2 |
- Update translations
|
|
Patsy Franklin |
301b7b2 |
- Convert Python scripts to Python 3
|
|
Patsy Franklin |
301b7b2 |
- alpha: Do not build with -fpic
|
|
Patsy Franklin |
301b7b2 |
- y2038: linux: Provide __utime64 implementation
|
|
Patsy Franklin |
301b7b2 |
- y2038: linux: Provide __utimes64 implementation
|
|
Patsy Franklin |
301b7b2 |
- y2038: Introduce struct __utimbuf64 - new internal glibc type
|
|
Patsy Franklin |
301b7b2 |
- microblaze: vfork is always available
|
|
Patsy Franklin |
301b7b2 |
- m68k: getpagesize syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: epoll_pwait syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- x86_64: Do not define __NR_semtimedop in <sysdep.h>
|
|
Patsy Franklin |
301b7b2 |
- ia64: Do not define __NR_semtimedop in <sysdep.h>
|
|
Patsy Franklin |
301b7b2 |
- Linux: open_by_handle_at syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: set_robust_list syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: pciconfig_iobase syscall number is always available on alpha
|
|
Patsy Franklin |
301b7b2 |
- Linux: getdents64 syscall number is always available on MIPS
|
|
Patsy Franklin |
301b7b2 |
- Linux: Clean up preadv2, pwritev2 system call names
|
|
Patsy Franklin |
301b7b2 |
- Linux: exit_group syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: set_tid_address syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: pkey_mprotect syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: rt_sigqueueinfo syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: getrandom syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: Clean up preadv, pwritev system call names
|
|
Patsy Franklin |
301b7b2 |
- Linux: Clean up pread64/pwrite64 system call names
|
|
Patsy Franklin |
301b7b2 |
- Linux: sigaltstack syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: sched_getaffinity syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: sched_setaffinity syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: statx syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: mq_* syscall numbers are always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: mlock2 syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: copy_file_range syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- Linux: renameat2 syscall number is always available
|
|
Patsy Franklin |
301b7b2 |
- build-many-glibcs.py: Add list-compilers, list-glibcs commands
|
|
Patsy Franklin |
301b7b2 |
- build-many-glibcs.py: Add --shallow option
|
|
Patsy Franklin |
301b7b2 |
- Fixed typo in run_command_array() in support/shell-container.c
|
|
Patsy Franklin |
301b7b2 |
- Add missing libc_hidden_def for __utimensat64
|
|
Patsy Franklin |
301b7b2 |
- elf: Add elf/check-wx-segment, a test for the presence of WX segments
|
|
Patsy Franklin |
301b7b2 |
- i386: Use comdat instead of .gnu.linkonce for i386 setup pic register (BZ #20543)
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: link tst-ldbl-efgcvt against loader too
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: enforce ibm128 on compat tests
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: Provide nexttoward functions
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: Provide a significand implementation
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: Redirect complex math functions
|
|
Patsy Franklin |
301b7b2 |
- ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions
|
|
Patsy Franklin |
301b7b2 |
- posix: Remove posix waitid
|
|
Patsy Franklin |
301b7b2 |
- posix: Refactor tst-waitid (BZ #14666)
|
|
Patsy Franklin |
301b7b2 |
- support: Add support_process_state_wait
|
|
Patsy Franklin |
301b7b2 |
- malloc/tst-mallocfork2: Kill lingering process for unexpected failures
|
|
Patsy Franklin |
301b7b2 |
|
|
Patsy Franklin |
505d538 |
* Wed Feb 26 2020 Patsy Franklin <patsy@redhat.com> - 2.31.9000-1
|
|
Patsy Franklin |
505d538 |
- Auto-sync with upstream branch master,
|
|
Patsy Franklin |
505d538 |
commit 758599bc9dcc5764e862bd9e1613c5d1e6efc5d3.
|
|
Patsy Franklin |
505d538 |
- elf: Apply attribute_relro to pointers in elf/dl-minimal.c
|
|
Patsy Franklin |
505d538 |
- powerpc: Refactor fenvinline.h
|
|
Patsy Franklin |
505d538 |
- nss_nis: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- csu: Use ELF constructor instead of _init in libc.so
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm: make ieee754.h work with IEEE 128 long double
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm-compat: fixup subdir location of several funcs
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm-compat: enforce correct abi flags on internal file
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions
|
|
Patsy Franklin |
505d538 |
- Undefine redirections after long double definition on __LDBL_COMPAT [BZ #23294]
|
|
Patsy Franklin |
505d538 |
- nios2: Fix Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- Fix use-after-free in glob when expanding ~user (bug 25414)
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_setschedparam implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_getschedparam implementation into libc
|
|
Patsy Franklin |
505d538 |
- Add hidden prototypes for __sched_getparam, __sched_getscheduler
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_cond_init implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_cond_destroy implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_condattr_init implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_condattr_destroy implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_attr_setscope implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_attr_getscope implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_attr_setschedpolicy implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Move pthread_attr_getschedpolicy implementation into libc
|
|
Patsy Franklin |
505d538 |
- nptl: Sort routines list in Makefile alphabetically
|
|
Patsy Franklin |
505d538 |
- nptl: Use .NOTPARALLEL in Makefile only if actually running tests
|
|
Patsy Franklin |
505d538 |
- Block all signals on timer_create thread (BZ#10815)
|
|
Patsy Franklin |
505d538 |
- Fix tst-pkey expectations on pkey_get [BZ #23202]
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __gettimeofday64 implementation
|
|
Patsy Franklin |
505d538 |
- Linux: Work around kernel bugs in chmod on /proc/self/fd paths [BZ #14578]
|
|
Patsy Franklin |
505d538 |
- Introduce <elf-initfini.h> and ELF_INITFINI for all architectures
|
|
Patsy Franklin |
505d538 |
- mips: Fix bracktrace result for signal frames
|
|
Patsy Franklin |
505d538 |
- Move implementation of <file_change_detection.h> into a C file
|
|
Patsy Franklin |
505d538 |
- <fd_to_filename.h>: Add type safety and port to Hurd
|
|
Patsy Franklin |
505d538 |
- Prepare redirections for IEEE long double on powerpc64le
|
|
Patsy Franklin |
505d538 |
- conform/conformtest.py: Extend tokenizer to cover character constants
|
|
Patsy Franklin |
505d538 |
- stdlib: Reduce namespace pollution in <inttypes.h>
|
|
Patsy Franklin |
505d538 |
- x86: Avoid single-argument _Static_assert in <tls.h>
|
|
Patsy Franklin |
505d538 |
- x86 tls: Use _Static_assert for TLS access size assertion
|
|
Patsy Franklin |
505d538 |
- htl: Link internal htl tests against libpthread
|
|
Patsy Franklin |
505d538 |
- pthread: Fix building tst-robust8 with nptl
|
|
Patsy Franklin |
505d538 |
- pthread: Move robust mutex tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Remove stub warning for pthread_mutexattr_setpshared
|
|
Patsy Franklin |
505d538 |
- htl: Add missing functions and defines for robust mutexes
|
|
Patsy Franklin |
505d538 |
- htl: Only check pthread_self coherency when DEBUG is set
|
|
Patsy Franklin |
505d538 |
- hurd: Add THREAD_GET/SETMEM/_NC
|
|
Patsy Franklin |
505d538 |
- hurd tls: update comment about fields at the end of tcbhead
|
|
Patsy Franklin |
505d538 |
- ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486]
|
|
Patsy Franklin |
505d538 |
- Remove weak declaration of free from <inline-hashtab.h>
|
|
Patsy Franklin |
505d538 |
- elf: Extract _dl_sym_post, _dl_sym_find_caller_map from elf/dl-sym.c
|
|
Patsy Franklin |
505d538 |
- elf: Introduce the rtld-stubbed-symbols makefile variable
|
|
Patsy Franklin |
505d538 |
- arm: fix use of INTERNAL_SYSCALL_CALL
|
|
Patsy Franklin |
505d538 |
- linux: Remove INTERNAL_SYSCALL_DECL
|
|
Patsy Franklin |
505d538 |
- nptl: Remove ununsed pthread-errnos.h rule
|
|
Patsy Franklin |
505d538 |
- linux: Consolidate INLINE_SYSCALL
|
|
Patsy Franklin |
505d538 |
- s390: Consolidate Linux syscall definition
|
|
Patsy Franklin |
505d538 |
- riscv: Avoid clobbering register parameters in syscall
|
|
Patsy Franklin |
505d538 |
- microblaze: Avoid clobbering register parameters in syscall
|
|
Patsy Franklin |
505d538 |
- nios2: Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- mips: Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- mips64: Consolidate Linux sysdep.h
|
|
Patsy Franklin |
505d538 |
- ia64: Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- alpha: Refactor syscall and Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- sparc: Avoid clobbering register parameters in syscall
|
|
Patsy Franklin |
505d538 |
- sparc: Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- powerpc: Use Linux kABI for syscall return
|
|
Patsy Franklin |
505d538 |
- powerpc: Consolidate Linux syscall definition
|
|
Patsy Franklin |
505d538 |
- i386: Enable CET support in ucontext functions
|
|
Patsy Franklin |
505d538 |
- tst-clone3: Use __NR_futex_time64 if we don't have __NR_futex
|
|
Patsy Franklin |
505d538 |
- powerpc64: Add memory protection key support [BZ #23202]
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm-compat: Provide a scalb implementation
|
|
Patsy Franklin |
505d538 |
- Add a generic scalb implementation
|
|
Patsy Franklin |
505d538 |
- Adjust thresholds in Bessel function implementations (bug 14469).
|
|
Patsy Franklin |
505d538 |
- resolv: Fix ABA race in /etc/resolv.conf change detection [BZ #25420]
|
|
Patsy Franklin |
505d538 |
- resolv: Enhance __resolv_conf_load to capture file change data
|
|
Patsy Franklin |
505d538 |
- resolv: Fix file handle leak in __resolv_conf_load [BZ #25429]
|
|
Patsy Franklin |
505d538 |
- resolv: Use <file_change_detection.h> in __resolv_conf_get_current
|
|
Patsy Franklin |
505d538 |
- Add STATX_ATTR_VERITY from Linux 5.5 to bits/statx-generic.h.
|
|
Patsy Franklin |
505d538 |
- Use gcc -finput-charset=ascii for check-installed-headers.
|
|
Patsy Franklin |
505d538 |
- math/test-sinl-pseudo: Use stack protector only if available
|
|
Patsy Franklin |
505d538 |
- alpha: Fix static gettimeofday symbol
|
|
Patsy Franklin |
505d538 |
- nss_nisplus: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss_dns: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss_files: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss_db: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss_compat: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss_hesiod: Use NSS_DECLARE_MODULE_FUNCTIONS
|
|
Patsy Franklin |
505d538 |
- nss: Add function types and NSS_DECLARE_MODULE_FUNCTIONS macro to <nss.h>
|
|
Patsy Franklin |
505d538 |
- nss_compat: Do not use nss_* names for function pointers
|
|
Patsy Franklin |
505d538 |
- Avoid ldbl-96 stack corruption from range reduction of pseudo-zero (bug 25487).
|
|
Patsy Franklin |
505d538 |
- mips: Fix argument passing for inlined syscalls on Linux [BZ #25523]
|
|
Patsy Franklin |
505d538 |
- mips: Use 'long int' and 'long long int' in linux syscall code
|
|
Patsy Franklin |
505d538 |
- alpha: Use generic gettimeofday implementation
|
|
Patsy Franklin |
505d538 |
- sunrpc: Properly clean up if tst-udp-timeout fails
|
|
Patsy Franklin |
505d538 |
- elf: avoid stack allocation in dl_open_worker
|
|
Patsy Franklin |
505d538 |
- elf: avoid redundant sort in dlopen
|
|
Patsy Franklin |
505d538 |
- elf: Allow dlopen of filter object to work [BZ #16272]
|
|
Patsy Franklin |
505d538 |
- Update translations
|
|
Patsy Franklin |
505d538 |
- Rename RWF_WRITE_LIFE_NOT_SET to RWH_WRITE_LIFE_NOT_SET following Linux 5.5.
|
|
Patsy Franklin |
505d538 |
- S390: Fix non-ascii character in fenv.h.
|
|
Patsy Franklin |
505d538 |
- io: Add io/tst-lchmod covering lchmod and fchmodat
|
|
Patsy Franklin |
505d538 |
- Linux: Emulate fchmodat with AT_SYMLINK_NOFOLLOW using O_PATH [BZ #14578]
|
|
Patsy Franklin |
505d538 |
- io: Implement lchmod using fchmodat [BZ #14578]
|
|
Patsy Franklin |
505d538 |
- Add internal <file_change_detection.h> header file
|
|
Patsy Franklin |
505d538 |
- elf.h: Add R_RISCV_IRELATIVE
|
|
Patsy Franklin |
505d538 |
- Fix typo in the name for Wednesday in Kurdish [BZ #9809]
|
|
Patsy Franklin |
505d538 |
- debug: Add missing locale dependencies of fortify tests
|
|
Patsy Franklin |
505d538 |
- htl C11 threads: Avoid pthread_ symbols visibility in static library
|
|
Patsy Franklin |
505d538 |
- hurd: Add __pthread_spin_wait and use it
|
|
Patsy Franklin |
505d538 |
- ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk
|
|
Patsy Franklin |
505d538 |
- Use --disable-gdbserver in build-many-glibcs.py.
|
|
Patsy Franklin |
505d538 |
- Improve random memcpy benchmark
|
|
Patsy Franklin |
505d538 |
- nptl: update default pthread-offsets.h
|
|
Patsy Franklin |
505d538 |
- nptl: add missing pthread-offsets.h
|
|
Patsy Franklin |
505d538 |
- htl: Avoid a local plt for pthread_self
|
|
Patsy Franklin |
505d538 |
- pthread: Move some join tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Make joining self return EDEADLK
|
|
Patsy Franklin |
505d538 |
- pthread: Move most barrier tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Fix barrier_wait with one thread
|
|
Patsy Franklin |
505d538 |
- pthread: Move most sem tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Make sem_wait/sem_timedwait interruptible
|
|
Patsy Franklin |
505d538 |
- htl: Make sem_open return ENOSYS
|
|
Patsy Franklin |
505d538 |
- htl: Add support for semaphore maximum value
|
|
Patsy Franklin |
505d538 |
- pthread: Move key tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- hurd: Make nanosleep a cancellation point
|
|
Patsy Franklin |
505d538 |
- htl: Add support for libc cancellation points
|
|
Patsy Franklin |
505d538 |
- htl: clean __pthread_get_cleanup_stack hidden proto
|
|
Patsy Franklin |
505d538 |
- htl: XFAIL rwlock tests which need pshared support
|
|
Patsy Franklin |
505d538 |
- pthread: Move some rwlock tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- pthread: Move most once tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: support cancellation during pthread_once
|
|
Patsy Franklin |
505d538 |
- pthread: Move most cond tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: make pthread_cond_destroy return EBUSY on waiters
|
|
Patsy Franklin |
505d538 |
- htl: Report missing mutex lock on pthread_cond_*wait
|
|
Patsy Franklin |
505d538 |
- htl: Fix linking static testcases
|
|
Patsy Franklin |
505d538 |
- htl: Move __register_atfork from forward to own file
|
|
Patsy Franklin |
505d538 |
- pthread: Move some attr tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Fix default guard size
|
|
Patsy Franklin |
505d538 |
- pthread: Move most mutex tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- pthread: Move spin tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: make pthread_spin_lock really spin
|
|
Patsy Franklin |
505d538 |
- htl: Avoid check-installed-headers looking at inlines
|
|
Patsy Franklin |
505d538 |
- htl: Do not put spin_lock inlines in public headers
|
|
Patsy Franklin |
505d538 |
- pthread: Move basic tests from nptl to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Fix calling pthread_exit in the child of a fork
|
|
Patsy Franklin |
505d538 |
- x86: Remove <bits/select.h> and use the generic version
|
|
Patsy Franklin |
505d538 |
- C11 threads: Move implementation to sysdeps/pthread
|
|
Patsy Franklin |
505d538 |
- htl: Add C11 threads types definitions
|
|
Patsy Franklin |
505d538 |
- C11 threads: make thrd_join more portable
|
|
Patsy Franklin |
505d538 |
- C11 threads: Fix thrd_t / pthread_t compatibility assertion
|
|
Patsy Franklin |
505d538 |
- C11 threads: do not require PTHREAD_DESTRUCTOR_ITERATIONS
|
|
Patsy Franklin |
505d538 |
- nptl: Move nptl-specific types to separate header
|
|
Patsy Franklin |
505d538 |
- htl: Make __PTHREAD_ONCE_INIT more flexible
|
|
Patsy Franklin |
505d538 |
- htl: Add support for C11 threads behavior
|
|
Patsy Franklin |
505d538 |
- htl: Add missing internal functions declarations
|
|
Patsy Franklin |
505d538 |
- htl: Rename _pthread_mutex_init/destroy to __pthread_mutex_init/destroy
|
|
Patsy Franklin |
505d538 |
- htl: Move internal mutex/rwlock symbols to GLIBC_PRIVATE
|
|
Patsy Franklin |
505d538 |
- Linux: Add io/tst-o_path-locks test
|
|
Patsy Franklin |
505d538 |
- support: Add the xlstat function
|
|
Patsy Franklin |
505d538 |
- htl: Remove duplicate files
|
|
Patsy Franklin |
505d538 |
- htl: Remove unused files
|
|
Patsy Franklin |
505d538 |
- resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c
|
|
Patsy Franklin |
505d538 |
- Remove a comment claiming that sin/cos round correctly.
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __settimeofday64 implementation
|
|
Patsy Franklin |
505d538 |
- y2038: Provide conversion helpers for struct __timeval64
|
|
Patsy Franklin |
505d538 |
- y2038: alpha: Rename valid_timeval64_to_timeval to valid_timeval_to_timeval32
|
|
Patsy Franklin |
505d538 |
- y2038: alpha: Rename valid_timeval_to_timeval64 to valid_timeval32_to_timeval
|
|
Patsy Franklin |
505d538 |
- y2038: Introduce struct __timeval64 - new internal glibc type
|
|
Patsy Franklin |
505d538 |
- y2038: Define __suseconds64_t type to be used with struct __timeval64
|
|
Patsy Franklin |
505d538 |
- Update kernel version to 5.5 in tst-mman-consts.py.
|
|
Patsy Franklin |
505d538 |
- Update syscall lists for Linux 5.5.
|
|
Patsy Franklin |
505d538 |
- NEWS: Set fill-column hint to 72
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __timespec_get64 implementation
|
|
Patsy Franklin |
505d538 |
- Use binutils 2.34 branch in build-many-glibcs.py.
|
|
Patsy Franklin |
505d538 |
- Run nptl/tst-pthread-getattr in a container
|
|
Patsy Franklin |
505d538 |
- test-container: add exec, cwd
|
|
Patsy Franklin |
505d538 |
- Use Linux 5.5 in build-many-glibcs.py.
|
|
Patsy Franklin |
505d538 |
- rt: avoid PLT setup in timer_[sg]ettime
|
|
Patsy Franklin |
505d538 |
- Update or_IN collation [BZ #22525]
|
|
Patsy Franklin |
505d538 |
- Fix ckb_IQ [BZ #9809]
|
|
Patsy Franklin |
505d538 |
- Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]
|
|
Patsy Franklin |
505d538 |
- list-fixed-bugs.py: Wrap at 72 chars
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __sched_rr_get_interval64 implementation
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __timerfd_settime64 implementation
|
|
Patsy Franklin |
505d538 |
- y2038: linux: Provide __timerfd_gettime64 implementation
|
|
Patsy Franklin |
505d538 |
- i386: Remove _exit.S
|
|
Patsy Franklin |
505d538 |
- i386: Use ENTRY/END in assembly codes
|
|
Patsy Franklin |
505d538 |
- i386-mcount.S: Add _CET_ENDBR to _mcount and __fentry__
|
|
Patsy Franklin |
505d538 |
- i386/sub_n.S: Add a missing _CET_ENDBR to indirect jump target
|
|
Patsy Franklin |
505d538 |
- i386: Don't unnecessarily save and restore EAX, ECX and EDX [BZ# 25262]
|
|
Patsy Franklin |
505d538 |
- x86: Don't make 2 calls to dlerror () in a row
|
|
Patsy Franklin |
505d538 |
- Open master for 2.32 development
|
|
Patsy Franklin |
505d538 |
|
|
 |
c5ffb32 |
* Mon Feb 03 2020 DJ Delorie <dj@redhat.com> - 2.31-1
|
|
 |
c5ffb32 |
- Auto-sync with upstream branch release/2.31/master,
|
|
 |
c5ffb32 |
commit 9ea3686266dca3f004ba874745a4087a89682617.
|
|
 |
c5ffb32 |
- glibc 2.31 release
|
|
 |
c5ffb32 |
- Generate ChangeLog.old/ChangeLog.20 for 2.31
|
|
 |
c5ffb32 |
- Add bugs fixed in 2.31 in NEWS
|
|
 |
c5ffb32 |
- Update newest tested versions of dependencies in install.texi
|
|
 |
c5ffb32 |
- Add more contributors to the manual
|
|
 |
c5ffb32 |
- Add note to NEWS about kernel headers dependency on risc-v
|
|
 |
c5ffb32 |
- Add Portuguese (Portugal) translation
|
|
 |
c5ffb32 |
- Add NEWS entry about 64-bit time_t syscall use on 32-bit targets
|
|
 |
c5ffb32 |
- nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271]
|
|
 |
c5ffb32 |
|
|
Patsy Franklin |
1e5275c |
* Thu Jan 30 2020 Patsy Franklin <patsy@redhat.com> - 2.30.9000-33
|
|
Patsy Franklin |
1e5275c |
- Auto-sync with upstream branch master,
|
|
Patsy Franklin |
1e5275c |
commit 352bb99754ae7c83ff1b974f9c52244e974c9410.
|
|
Patsy Franklin |
1e5275c |
- Build raise with -fasynchronous-unwind-tables.
|
|
Patsy Franklin |
1e5275c |
- Fix locale/tst-locale-locpath cross-testing when sshd sets LANG.
|
|
Patsy Franklin |
1e5275c |
- Fix elf/tst-rtld-preload cross-testing.
|
|
Patsy Franklin |
1e5275c |
- Fix cross-testing of tst-ifunc-fault-* tests.
|
|
Patsy Franklin |
1e5275c |
- gitlog-to-changelog: Drop scripts in favour of gnulib version
|
|
Patsy Franklin |
1e5275c |
- Add NEWS entry about the change in handling of PT_GNU_STACK on MIPS
|
|
Patsy Franklin |
1e5275c |
- Fix array overflow in backtrace on PowerPC (bug 25423)
|
|
Patsy Franklin |
1e5275c |
- getaddrinfo: Fix resource leak after strdup failure in gethosts (swbz#25425)
|
|
Patsy Franklin |
1e5275c |
|
|
 |
d18724d |
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org>
|
|
 |
d18724d |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
 |
d18724d |
|
|
Patsy Franklin |
d2f233f |
* Mon Jan 20 2020 Patsy Franklin <patsy@redhat.com> - 2.30.9000-31
|
|
Patsy Franklin |
d2f233f |
- Auto-sync with upstream branch master,
|
|
Patsy Franklin |
d2f233f |
commit 92ce43eef7ac844782d50a8015d977d216fbadec.
|
|
Patsy Franklin |
d2f233f |
- Run bench-timing-type with newly built libc.
|
|
Patsy Franklin |
d2f233f |
- Get rid of Werror=maybe-uninitialized in res_send.c.
|
|
Patsy Franklin |
d2f233f |
- translations: Update translations
|
|
Patsy Franklin |
d2f233f |
- translations: Trim po files using msgattrib
|
|
Patsy Franklin |
d2f233f |
- Update translations
|
|
Patsy Franklin |
d2f233f |
- translations: Run msgmerge when downloading translations
|
|
Patsy Franklin |
d2f233f |
- Fix maybe-uninitialized error on powerpc
|
|
Patsy Franklin |
d2f233f |
- powerpc32: Fix syntax error in __GLRO macro
|
|
Patsy Franklin |
d2f233f |
- Remove incorrect alloc_size attribute from pvalloc (swbz#25401)
|
|
Patsy Franklin |
d2f233f |
|
|
 |
c996bd1 |
* Fri Jan 17 2020 Florian Weimer <fweimer@redhat.com> - 2.30.9000-30
|
|
 |
c996bd1 |
- Auto-sync with upstream branch master,
|
|
 |
c996bd1 |
commit 70ba28f7ab2923d4e36ffc9d5d2e32357353b25c:
|
|
 |
c996bd1 |
- Fix tst-pkey.c pkey_alloc return checks and manual
|
|
 |
c996bd1 |
- powerpc: Move cache line size to rtld_global_ro
|
|
 |
c996bd1 |
- powerpc: Initialize rtld_global_ro for static dlopen (swbz#20802)
|
|
 |
c996bd1 |
- Revert outdated translations
|
|
 |
c996bd1 |
- vcs-to-changelog: Add quirk for __nonnull
|
|
 |
c996bd1 |
- elf: Add elf/tst-dlopenfail-2 (swbz#25396, #1395758)
|
|
 |
c996bd1 |
- Clear GL(dl_initfirst) when freeing its link_map (swbz#25396, #1395758)
|
|
 |
c996bd1 |
- Update Translations
|
|
 |
c996bd1 |
- Fix "elf: Add tst-ldconfig-ld_so_conf-update test" on 32bit.
|
|
 |
c996bd1 |
- elf: Add tst-ldconfig-ld_so_conf-update test
|
|
 |
c996bd1 |
- sl_SI locale: Use "." as the thousands separator (swbz#25233)
|
|
 |
c996bd1 |
|
|
Arjun Shankar |
258bf98 |
* Mon Jan 06 2020 Arjun Shankar <arjun@redhat.com> - 2.30.9000-29
|
|
Arjun Shankar |
258bf98 |
- Auto-sync with upstream branch master,
|
|
Arjun Shankar |
258bf98 |
commit cbce69e70dc4b04fefcc7257e593733b8b03856c:
|
|
Arjun Shankar |
258bf98 |
- Multiple locales: Add date_fmt (bug 24054)
|
|
Arjun Shankar |
258bf98 |
- Update libc.pot for 2.31 release
|
|
Arjun Shankar |
|