# TODO:
+# - consider moving klogctl.3 man to man-pages (and drop syslog.2 stub hacks here)
# - restore --with-pkgversion when tcl upstream fixes the #3599098 (broken platform::identify).
# - --enable-systemtap
# - look at locale fixes/updates in bugzilla
# - math/{test-fenv,test-tgmath,test-float,test-ifloat}, debug/backtrace-tst(SEGV) fail on alpha
#
# Conditional build:
-# min_kernel (default is 3.4.0 except for x86/x86_64 where 3.2.0 suffices)
+# min_kernel (default is 3.2.0 with arch specific values x32 (3.4.0) aarch64 (3.7.0)
%bcond_without memusage # don't build memusage utility
%bcond_without selinux # without SELinux support (in nscd)
%bcond_with tests # perform "make test"
%bcond_without localedb # don't build localedb-all (is time consuming)
%bcond_with cross # make a cross build, skip native programs
-%bcond_without nss_crypt # disable crypt features based on Mozilla NSS library
%bcond_with bash_nls # use bash NLS in shell scripts (ldd, sotruss); restores /bin/bash dep
%bcond_without cet # Intel Control-flow Enforcement Technology (CET)
#
-%ifarch %{ix86} %{x8664}
-%{!?min_kernel:%global min_kernel 3.2.0}
-%else
+%ifarch aarch64
+%{!?min_kernel:%global min_kernel 3.7.0}
+%endif
+%ifarch x32
%{!?min_kernel:%global min_kernel 3.4.0}
%endif
+%ifnarch aarch64 x32
+%{!?min_kernel:%global min_kernel 3.2.0}
+%endif
%ifarch sparc64
%undefine with_memusage
%endif
-%ifnarch i686 %{x8664} x32
+%ifnarch %{x8664}
%undefine with_cet
%endif
+%ifnarch %{arm}
+%define with_static_pie 1
+%endif
-%define core_version 2.29
+%define core_version 2.39
%define llh_version 7:2.6.32.1-1
Summary: GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: %{core_version}
-Release: 9
+Release: 1
Epoch: 6
License: LGPL v2.1+
Group: Libraries
-Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: e6c279d5b2f0736f740216f152acf974
+Source0: https://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
+# Source0-md5: be81e87f72b5ea2c0ffe2bedfeb680c6
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
# from man-pages.spec --with tars
Source5: %{name}-man-pages.tar.xz
-# Source5-md5: 852c1c77c7435615c0b17d8e4acf05d8
+# Source5-md5: 4481fa9cbead3fe9d24af66666db1c86
Source6: %{name}-localedb-gen
Source7: %{name}-LD-path.c
Source9: nscd.tmpfiles
# use branch.sh to update glibc-git.patch
Patch0: glibc-git.patch
-# Patch0-md5: 0a7e1929c62d74e1b45576b570c7528b
+# Patch0-md5: 9a22331f40525058d6fdfb59b04bb5a7
# against GNU TP (libc domain)
#Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
-Patch3: %{name}-crypt-blowfish.patch
-Patch4: %{name}-no-bash-nls.patch
+Patch4: %{name}-no-bash-nls.patch
Patch6: %{name}-paths.patch
-Patch8: %{name}-missing-nls.patch
-Patch9: %{name}-nss_include_dirs.patch
Patch10: %{name}-info.patch
Patch11: %{name}-autoconf.patch
Patch14: %{name}-sparc-errno_fix.patch
Patch15: %{name}-new-charsets.patch
-Patch16: %{name}-tzfile-noassert.patch
+
# additions pending for upstream merge or taken from other distros
Patch17: %{name}-morelocales.patch
# fixes mostly pending for upstream merge
Patch19: %{name}-ZA_collate.patch
Patch23: %{name}-pt_pax.patch
-Patch24: %{name}-resolv.patch
-
-# http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-c-utf8-locale.patch
-Patch27: %{name}-c-utf8-locale.patch
-Patch29: %{name}-arm-alignment-fix.patch
Patch30: glibc-rh1124987.patch
+Patch31: arm-widevine-compat.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
-BuildRequires: autoconf >= 2.69
+BuildRequires: autoconf >= 2.71
BuildRequires: automake
-BuildRequires: binutils >= 2:2.29
+BuildRequires: binutils >= 4:2.29
BuildRequires: bison >= 2.7
%{!?with_cross:BuildRequires: dietlibc-static}
-BuildRequires: gawk
+BuildRequires: gawk >= 3.1.2
+%ifarch aarch64
+BuildRequires: gcc >= 6:10.1.0
+%else
%if %{with cet}
BuildRequires: gcc >= 6:8.0
%else
-BuildRequires: gcc >= 6:5.0
+BuildRequires: gcc >= 6:6.2
+%endif
%endif
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-tools >= 0.10.36
+%{?with_selinux:BuildRequires: libcap-devel}
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
-%{?with_nss_crypt:BuildRequires: nss-devel >= 1:3.15.1-2}
+BuildRequires: make >= 1:4.0
BuildRequires: perl-base
BuildRequires: python3 >= 1:3.4
BuildRequires: python3-modules >= 1:3.4
BuildRequires: rpm-build >= 4.3-0.20030610.28
-BuildRequires: rpmbuild(macros) >= 1.567
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0.5
-BuildRequires: texinfo
-Requires: %{name}-ld = %{epoch}:%{version}-%{release}
+BuildRequires: tar >= 1:1.22
+BuildRequires: texinfo >= 4.7
+BuildRequires: xz
+Requires(post): ldconfig = %{epoch}:%{version}-%{release}
Requires: filesystem
+Requires: ldconfig = %{epoch}:%{version}-%{release}
Requires: uname(release) >= %{min_kernel}
Provides: %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
%endif
Provides: glibc(nptl)
Provides: glibc(tls)
+Provides: rtld(GNU_HASH)
Obsoletes: glibc-common
-Obsoletes: glibc-debug
+Obsoletes: glibc-debug < 2.1
+Obsoletes: glibc-ld < 6:2.33-2
%ifarch %{x8664} sparc64 ppc64
Provides: glibc64
Obsoletes: glibc64
Suggests: tzdata
Conflicts: %{name}-misc < %{epoch}:%{version}-%{release}
Conflicts: SysVinit < 2.86-11
-Conflicts: kernel < %{min_kernel}
+Conflicts: kernel < 3:%{min_kernel}
Conflicts: kernel24
Conflicts: kernel24-smp
Conflicts: ld.so < 1.9.9-10
Conflicts: man-pages < 4.00
+Conflicts: openssh-server < 2:8.2p1-1
Conflicts: poldek < 0.30.1-9
Conflicts: rc-scripts < 0.3.1-13
Conflicts: rpm < 4.1
+Conflicts: util-linux < 2.35.1-2
Conflicts: xorg-driver-video-nvidia-libs < 1:295.33
-ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel
+ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel armv6hl armv7hl armv7hnl aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# errno, ps_*, __resp, __h_errno symbols
+%define skip_post_check_so libm.so.6 libc_malloc_debug.so.0 libthread_db.so.1 libresolv.so.2 libnss_db.so.2 libnss_compat.so.2 libnss_hesiod.so.2 libnsl.so.1 librt.so.1
+
# avoid -s here (ld.so must not be stripped to allow any program debugging)
%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
# disable -D_FORTIFY_SOURCE=X and -fstack-protector
%define _hack_dontneed_PartialHardlinkSets 1
%define _noautochrpath .*\\(ldconfig\\|sln\\)
# private symbols
+# don't generate deps for ldconfig to avoid loop and force rpm to install it before glibc
%define _noautoprov .*\(GLIBC_PRIVATE\)
-%define _noautoreq .*\(GLIBC_PRIVATE\)
+%define _noautoreq .*\(GLIBC_PRIVATE\) /sbin/ldconfig
# to avoid multi-arch conflicts on getconf/* files
%define _libexecdir %{_libdir}
%description misc -l pl.UTF-8
Narzędzia i dane używane przez glibc.
-%package libcrypt
-Summary: glibc library for crypt(3)
-Summary(pl.UTF-8): Biblioteka glibc z funkcją crypt(3)
-Group: Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-libcrypt(%{_target_cpu}) = %{epoch}:%{version}-%{release}
-%ifarch %{ix86}
-Provides: %{name}-libcrypt(ix86) = %{epoch}:%{version}-%{release}
-%endif
-Provides: crypt(blowfish)
-
-%description libcrypt
-glibc library for crypt(3).
-
-%description libcrypt -l pl.UTF-8
-Biblioteka glibc z funkcją crypt(3).
-
-%package ld
-Summary: Dynamic linker
-Summary(pl.UTF-8): Linker (konsolidator) dynamiczny
+%package -n ldconfig
+Summary: Create shared library cache and maintains symlinks
+Summary(de.UTF-8): Erstellt ein shared library cache und verwaltet symlinks
+Summary(fr.UTF-8): Crée un cache de bibliothčque partagée et gčre *.so
+Summary(pl.UTF-8): Tworzenie cache'u bibliotek dynamicznych i ich dowiązań symbolicznych
+Summary(tr.UTF-8): Ortak kitaplýk önbelleđi yaratýr ve bađlantýlarý kurar
Group: Applications/System
Requires: uname(release) >= %{min_kernel}
# we want FHS being installed before ldconfig, altho they are both unrelated to each-other.
# This is needed because previous package (glibc) had autoreq false and had
# provided this manually. Probably poldek bug that have to have it here.
Provides: /sbin/ldconfig
-Provides: ldconfig = %{epoch}:%{version}-%{release}
-Obsoletes: ldconfig < 6:2.28-6.1
-
-%description ld
-The dynamic linker is used to load shared libraries used by
-executables linked dynamically.
-
-The package also contains the ldconfig tool used to maintain shared
-library cache for the linker.
-
-%description ld -l pl.UTF-8
-Linker (konsolidator) dynamiczny służy do ładowania bibliotek
-współdzielonych używanych przez programy wykonywalne konsolidowane
-dynamicznie.
-
-Pakiet zawiera także narzędzie ldconfig, służące do utrzymywania
-pamięci podręcznej bibliotek współdzielonych dla linkera.
+Conflicts: glibc-ld < 6:2.33-2
+
+%description -n ldconfig
+ldconfig scans a running system and sets up the symbolic links that
+are used to load shared libraries properly. It also creates
+/etc/ld.so.cache which speeds the loading programs which use shared
+libraries.
+
+%description -n ldconfig -l de.UTF-8
+ldconfig scannt ein laufendes System und richtet die symbolischen
+Verknüpfungen zum Laden der gemeinsam genutzten Libraries ein.
+Außerdem erstellt es /etc/ld.so.cache, was das Laden von Programmen
+mit gemeinsam genutzten Libraries beschleunigt.
+
+%description -n ldconfig -l fr.UTF-8
+ldconfig analyse un systčme et configure les liens symboliques
+utilisés pour charger correctement les bibliothčques partagées. Il
+crée aussi /etc/ld.so.cache qui accélčre le chargement des programmes
+utilisant les bibliothčques partagées.
+
+%description -n ldconfig -l pl.UTF-8
+ldconfig testuje uruchomiony system i tworzy dowiązania symboliczne,
+które są następnie używane do poprawnego ładowania bibliotek
+dynamicznych. Program ten tworzy plik /etc/ld.so.cache, który
+przyśpiesza ładowanie programów korzystających z bibliotek
+dynamicznych.
+
+%description -n ldconfig -l tr.UTF-8
+ldconfig, çalýţmakta olan sistemi araţtýrýr ve ortak kitaplýklarýn
+düzgün bir ţekilde yüklenmesi için gereken simgesel bađlantýlarý
+kurar. Ayrýca ortak kitaplýklarý kullanan programlarýn yüklenmesini
+hýzlandýran /etc/ld.so.cache dosyasýný yaratýr.
%package -n nss_compat
Summary: Old style NYS NSS glibc module
%description -n nss_db -l pl.UTF-8
Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość.
-%package -n nss_dns
-Summary: BIND NSS glibc module
-Summary(es.UTF-8): Módulo BIND NSS de glibc
-Summary(pl.UTF-8): Moduł BIND NSS glibc
-Group: Base
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description -n nss_dns
-BIND NSS glibc module.
-
-%description -n nss_dns -l es.UTF-8
-Módulo BIND NSS de glibc.
-
-%description -n nss_dns -l pl.UTF-8
-Moduł BIND NSS glibc.
-
-%package -n nss_files
-Summary: Traditional files databases NSS glibc module
-Summary(es.UTF-8): Módulo de tradicionales bases de datos en ficheros para glibc
-Summary(pl.UTF-8): Moduł tradycyjnych plikowych baz danych NSS glibc
-Group: Base
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description -n nss_files
-Traditional files databases NSS glibc module.
-
-%description -n nss_files -l es.UTF-8
-Módulo de tradicionales bases de datos en ficheros para glibc.
-
-%description -n nss_files -l pl.UTF-8
-Moduł tradycyjnych plikowych baz danych NSS glibc.
-
%package -n nss_hesiod
Summary: hesiod NSS glibc module
Summary(es.UTF-8): Módulo hesiod NSS de glibc
%description -n nss_hesiod -l pl.UTF-8
Moduł glibc NSS (Name Service Switch) dostępu do baz danych.
-%package -n nss_nis
-Summary: NIS(YP) NSS glibc module
-Summary(es.UTF-8): Módulo NIS(YP) NSS de glibc
-Summary(pl.UTF-8): Moduł NIS(YP) NSS glibc
-Group: Base
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description -n nss_nis
-glibc NSS (Name Service Switch) module for NIS(YP) databases access.
-
-%description -n nss_nis -l es.UTF-8
-Módulo NSS de glibc para acceder las bases de datos NIS(YP).
-
-%description -n nss_nis -l pl.UTF-8
-Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS(YP).
-
-%package -n nss_nisplus
-Summary: NIS+ NSS module
-Summary(es.UTF-8): Módulo NIS+ NSS
-Summary(pl.UTF-8): Moduł NIS+ NSS
-Group: Base
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description -n nss_nisplus
-glibc NSS (Name Service Switch) module for NIS+ databases access.
-
-%description -n nss_nisplus -l es.UTF-8
-Módulo NSS (Name Service Switch) de glibc para acceder las bases de
-datos NIS+.
-
-%description -n nss_nisplus -l pl.UTF-8
-Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS+.
-
%package memusage
Summary: Memory usage profiler
Summary(pl.UTF-8): Narzędzie do profilowania zużycia pamięci
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-devel-utils = %{epoch}:%{version}-%{release}
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
-Requires: %{name}-libcrypt(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+Requires: libxcrypt-devel >= 4.0.0
Provides: %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-devel(ix86) = %{epoch}:%{version}-%{release}
Summary: Header files for development using standard C libraries
Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów przy użyciu standardowych bibliotek C
Group: Development/Building
-Provides: %{name}-headers(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+Provides: %{name}-header-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
-Provides: %{name}-headers(ix86) = %{epoch}:%{version}-%{release}
+Provides: %{name}-headers-cpu-ix86 = %{epoch}:%{version}-%{release}
%endif
%ifarch %{x8664} x32
# If both -m32 and -m64 is to be supported on x86_64, x86_64 package
# have to be installed, not ix86 one.
-Obsoletes: glibc-headers(athlon)
-Obsoletes: glibc-headers(i386)
-Obsoletes: glibc-headers(i486)
-Obsoletes: glibc-headers(i586)
-Obsoletes: glibc-headers(i686)
-Obsoletes: glibc-headers(ix86)
-Obsoletes: glibc-headers(pentium3)
-Obsoletes: glibc-headers(pentium4)
+Obsoletes: glibc-headers-cpu-athlon
+Obsoletes: glibc-headers-cpu-i386
+Obsoletes: glibc-headers-cpu-i486
+Obsoletes: glibc-headers-cpu-i586
+Obsoletes: glibc-headers-cpu-i686
+Obsoletes: glibc-headers-cpu-ix86
+Obsoletes: glibc-headers-cpu-pentium3
+Obsoletes: glibc-headers-cpu-pentium4
%endif
%ifarch x32
-Obsoletes: glibc-headers(x86_64)
+Obsoletes: glibc-headers-cpu-x86_64
%endif
%ifarch ppc64
-Obsoletes: glibc-headers(ppc)
+Obsoletes: glibc-headers-cpu-ppc
%endif
%ifarch s390x
-Obsoletes: glibc-headers(s390)
+Obsoletes: glibc-headers-cpu-s390
%endif
%ifarch sparc64
-Obsoletes: glibc-headers(sparc)
+Obsoletes: glibc-headers-cpu-sparc
%endif
Requires: linux-libc-headers >= %{llh_version}
Summary: Utilities needed for development using standard C libraries
Summary(pl.UTF-8): Narzędzia do tworzenia programów przy użyciu standardowych bibliotek C
Group: Development/Libraries
-Provides: %{name}-devel-utils(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+Provides: %{name}-devel-util-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
-Provides: %{name}-devel-utils(ix86) = %{epoch}:%{version}-%{release}
+Provides: %{name}-devel-utils-cpu-ix86 = %{epoch}:%{version}-%{release}
%endif
%ifarch %{x8664} x32
# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
# have to be installed, not ix86 one.
-Obsoletes: glibc-devel-utils(athlon)
-Obsoletes: glibc-devel-utils(i386)
-Obsoletes: glibc-devel-utils(i486)
-Obsoletes: glibc-devel-utils(i586)
-Obsoletes: glibc-devel-utils(i686)
-Obsoletes: glibc-devel-utils(ix86)
-Obsoletes: glibc-devel-utils(pentium3)
-Obsoletes: glibc-devel-utils(pentium4)
+Obsoletes: glibc-devel-utils-cpu-athlon
+Obsoletes: glibc-devel-utils-cpu-i386
+Obsoletes: glibc-devel-utils-cpu-i486
+Obsoletes: glibc-devel-utils-cpu-i586
+Obsoletes: glibc-devel-utils-cpu-i686
+Obsoletes: glibc-devel-utils-cpu-ix86
+Obsoletes: glibc-devel-utils-cpu-pentium3
+Obsoletes: glibc-devel-utils-cpu-pentium4
%endif
%ifarch x32
-Obsoletes: glibc-devel-utils(x86_64)
+Obsoletes: glibc-devel-utils-cpu-x86_64
%endif
%ifarch ppc64
-Obsoletes: glibc-devel-utils(ppc)
+Obsoletes: glibc-devel-utils-cpu-ppc
%endif
%ifarch s390x
-Obsoletes: glibc-devel-utils(s390)
+Obsoletes: glibc-devel-utils-cpu-s390
%endif
%ifarch sparc64
-Obsoletes: glibc-devel-utils(sparc)
+Obsoletes: glibc-devel-utils-cpu-sparc
%endif
Conflicts: man-pages < 4.00
Summary(pl.UTF-8): Dokumentacja do tworzenia programów przy użyciu standardowych bibliotek C
Group: Documentation
Conflicts: man-pages < 4.09
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description devel-doc
The glibc-devel-doc package contains info and manual pages necessary
Summary(uk.UTF-8): Статичні бібліотеки glibc
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: libxcrypt-static >= 4.0.0
Provides: %{name}-static(%{_target_cpu}) = %{epoch}:%{version}-%{release}
%ifarch %{ix86}
Provides: %{name}-static(ix86) = %{epoch}:%{version}-%{release}
Summary(uk.UTF-8): GNU libc з підтримкою профайлера
Group: Development/Libraries/Libc
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-Obsoletes: libc-profile
+Obsoletes: libc-profile < 6
%description profile
When programs are being profiled using gprof, they must use these
%patch0 -p1
%patch2 -p1
-%patch3 -p0
+
%{!?with_bash_nls:%patch4 -p1}
%patch6 -p1
-%patch8 -p1
-%patch9 -p1
-
%patch10 -p1
%patch11 -p1
-%patch14 -p0
+%patch14 -p1
%patch15 -p1
-%patch16 -p1
+
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch23 -p0
-%patch24 -p1
-%patch27 -p1
-
-%patch29 -p1
%patch30 -p1
+%ifarch %{arm} aarch64
+%patch31 -p1
+%endif
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
# glibc has its own way to remove PLT relocations. / H. J. Lu.
unset LD_SYMBOLIC_FUNCTIONS || :
-cp -f /usr/share/automake/config.sub scripts
%{__aclocal}
%{__autoconf}
--enable-cet \
%endif
--enable-bind-now \
- --enable-experimental-malloc \
--enable-hidden-plt \
--enable-kernel="%{min_kernel}" \
- --enable-nss-crypt%{!?with_nss_crypt:=no} \
--enable-obsolete-nsl \
- --enable-obsolete-rpc \
--enable-profile \
--enable-stack-protector=strong \
--enable-stackguard-randomization \
- --enable-static-pie \
- --enable-tunables \
--with-binutils=$(pwd)/alt-tools \
--with-bugurl=http://bugs.pld-linux.org/ \
--with-headers=%{_includedir} \
--with-selinux%{!?with_selinux:=no} \
--with-tls
+# hack: libgd (used by memusagestat) requires librt, which is built after malloc/ subdir.
+# First build all without libgd-dependent components (LIBGD=no)...
+%{__make} \
+ AWK="gawk" \
+ complocaledir=%{_prefix}/lib/locale \
+ sLIBdir=%{_libdir} \
+ LIBGD=no
+
+# ...then, when librt is ready, rerun make to build memusagestat
%{__make} \
AWK="gawk" \
complocaledir=%{_prefix}/lib/locale \
math/libm_pic.a libm.map
resolv/libresolv_pic.a"
-install -p $PICFILES $RPM_BUILD_ROOT%{_libdir}
-install -p elf/soinit.os $RPM_BUILD_ROOT%{_libdir}/soinit.o
-install -p elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
+install -p $PICFILES $RPM_BUILD_ROOT%{_libdir}
+install -p elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
# Include %{_libdir}/gconv/gconv-modules.cache
-$(pwd)/elf/ld.so --library-path $(pwd) ./iconv/iconvconfig --nostdlib --prefix=$RPM_BUILD_ROOT %{_libdir}/gconv -o $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
+:> $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
cd ..
%if %{without cross}
install -p glibc-postinst $RPM_BUILD_ROOT/sbin
%endif
-%{?with_memusage:mv -f $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
-mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir}
+%{?with_memusage:%{__mv} $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
+%{__mv} $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir}
# make symlinks across top-level directories absolute
-for l in BrokenLocale anl crypt dl \
-%ifarch %{x8664} x32
+for l in BrokenLocale anl c_malloc_debug\
+%ifarch %{x8664} x32 aarch64
mvec \
%endif
- nsl resolv rt thread_db util; do
+ nss_compat nss_db nss_hesiod resolv thread_db; do
test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/lib${l}.so.*) $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
# linking nss modules directly is not supported
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
+# avoid conflict on multilib
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/ld.so{,-%{_target_cpu}}
+
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/nscd
cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/nscd
cp -a nscd/nscd.conf $RPM_BUILD_ROOT%{_sysconfdir}
cp -a posix/gai.conf $RPM_BUILD_ROOT%{_sysconfdir}
-cp -a nis/nss $RPM_BUILD_ROOT/etc/default/nss
sed -e 's#\([ \t]\)db\([ \t]\)#\1#g' nss/nsswitch.conf > $RPM_BUILD_ROOT%{_sysconfdir}/nsswitch.conf
xz -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+# catchsegv was removed in glibc 2.35
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/catchsegv.1
+
: > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
echo 'include ld.so.conf.d/*.conf' > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
for f in DESIGN-systemtap-probes.txt TODO{,-kernel,-testing}; do
cp -af nptl/$f documentation/$f.nptl
done
-cp -af crypt/README.ufc-crypt ChangeLog* documentation
+cp -af ChangeLog* documentation
# Collect locale files and mark them with %%lang()
echo '%defattr(644,root,root,755)' > glibc.lang
# NOTES:
# Languages not supported by glibc locales, but usable via $LANGUAGE:
# ang - Old English (gtk+, gnome)
-# ca@valencia (gtk+, gnome; as ca_ES@valencia in FileZilla; locale exists in Debian)
# en@shaw - English with Shavian alphabet (gnome)
# la - Latin
# tlh - Klingon (bzflag)
# ch (iso-codes)
# co (FileZilla, libfilezilla, vlc)
# es_419 (alpm - common "Spanish (Latin America)")
-# frp (iso-codes, lxlauncher, mate, xfce)
+# frp (iso-codes, lxlauncher, cinnamon, mate, xfce)
# gn (iso-codes, gnome; gn_BR in gnome, maybe gn_PY)
# guc (gtk-vnc)
# haw (iso-codes, stellarium)
# hrx (stellarium)
+# hye (xfce)
+# ie (GNOME, xfce, cinnamon)
# ilo (kudzu, libosinfo, libreport)
# io (alacarte, gtk+2, gnome, iso-codes)
# jam (iso-codes)
-# jv (avant-window-navigator, gmpc, kdesudo, mate)
+# jv (avant-window-navigator, gmpc, kdesudo, mate, cinnamon)
# ki (iso-codes)
# kok@latin (inkscape)
-# kmr (vlc)
+# kmr (iso-codes, vlc)
+# ksw (cinnamon)
# ku_IQ (mate)
# kv (iso-codes)
# kw@kkcor, kw@uccor (libosinfo - currently empty) - add as supported variants when non-empty?
# man (ccsm; incorrectly named md)
# mni@beng[ali] (inkscape)
-# mo (iso-codes)
+# mo (cinnamon, iso-codes)
# mus (bluez-gnome)
# na (iso-codes)
# nah (iso-codes, mate)
+# nap (cinnamon)
# nqo (mate)
# nv (iso-codes)
# pi (iso-codes)
# pms (deluge, mate-tweak)
+# ro_MD (iso-codes)
+# rue (cinnamon)
# sat@deva[nagari] (inkscape)
-# sco (gnomad2, mate, picard, stellarium)
+# sco (gnomad2, mate, picard, stellarium, cinnamon)
# son (gtkspell3, iso-codes)
# su (terminator)
# swg (sim)
-# syr (iso-codes)
# tet (vlc)
# tw (libosinfo)
+# tzm (iso-codes)
# vec (mate-applet-indicator)
# wba (libosinfo)
+# zgh (cinnamon, xapps)
#
# To be removed (after fixing packages still using it):
# sr@Latn (use sr@latin instead)
#
# Short forms (omitted country code, used instead of long form) for ambiguous or unclear cases:
# aa=aa_ER
+# ab=ab_GE
# ak=ak_GH
# anp=anp_IN
# ar=common? (AE, BH, DZ, EG, IQ, JO, KW, LB, LY, MA, OM, QA, SA, SD, SY, TN, YE)
+# ay=ay_PE
# az=az_AZ
+# ber=ber_DZ? (or common for DZ, MA?)
# bn=bn_BD
# bo=bo_CN? (or common for CN, IN?)
# ca=ca_ES
# fr=fr_FR
# fy=fy_NL
# gez=gez_ET (?)
+# hy=hy_AM
# it=it_IT
# kab=kab_DZ
# ks=ks_IN
# li=li_NL
# ln=ln_CD
# lo=lo_LA
+# mjw=mjw_IN
+# nan=nan_TW
# nds=nds_DE
# nl=nl_NL
# om=om_ET
# or=or_IN
+# os=os_RU
# pa=pa_IN
# pt=pt_PT
# quz=quz_PE
# be ca cs da de el en_GB es fi fr gl hr hu it ja ko nb nl pl pt_BR ru rw sk
# sv tr zh_CN zh_TW
#
-for i in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR \
- be@latin be@tarask bem bg bho bn bn_IN bo br brx bs byn \
+for i in aa aa@saaho ab af ak am an ang anp ar ar_TN as ast az az_IR ay \
+ be@latin be@tarask bem ber bg bho bn bn_IN bo br brx bs byn \
ca@valencia ce chr ckb cmn crh csb cv cy de_AT de_CH doi dv dz \
- en en@boldquot en@quot en@shaw en_AU en_CA en_NZ en_US eo \
+ en en@boldquot en@quot en@shaw en_AU en_CA en_IE en_NZ en_US en_ZA eo \
es_AR es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY es_VE \
et eu fa ff fil fo fr_BE fr_CA fr_CH fur fy ga gd gez gu gv \
ha he hi hne ht hsb hy ia id ig ik is it_CH iu \
ka kab kg kk kl km kn kok ks ks@devanagari ku kw ky la lb lg li ln lo lt lv \
- mai mg mhr mi mk ml mn mni mr ms mt my nds ne nl_BE nn nr nso oc om or \
+ mai mg mhr mi mjw mk ml mn mni mr ms mt my nan nds ne nl_BE nn nr nso oc om or os \
pa pap ps pt ps quz rm ro \
sa sat sc sd sd@devanagari se shn si sid sl so sq \
- sr sr@Latn sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw szl \
+ sr sr@Latn sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw syr szl \
ta te tg th ti tig tk tl tlh tn tpi ts tt tt@iqtelif \
ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo zh_HK zu; do
if [ ! -d $RPM_BUILD_ROOT%{_localedir}/$i/LC_MESSAGES ]; then
done
# LC_TIME category, used for localized date formats (at least by coreutils)
-for i in af be bg ca cs da de el en eo es et eu fi fr ga gl hr hu ia id it ja kk ko lg lt \
- ms nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW; do
+for i in af be bg ca cs da de el en eo es et eu fi fr ga gl hr hu ia id it ja ka kk ko lg lt \
+ ms nb nl pl pt pt_BR ro ru rw sk sl sr sv ta tr uk vi zh_CN zh_TW; do
if [ ! -d $RPM_BUILD_ROOT%{_localedir}/$i ]; then
echo "%lang($lang) %{_localedir}/$i" >> glibc.lang
fi
%{__rm} $RPM_BUILD_ROOT%{_mandir}/pl/man3/{alphasort,cfgetispeed,cfgetospeed,cfmakeraw,cfsetispeed,cfsetospeed,closelog,dn_comp,dn_expand,fscanf}.3
%{__rm} $RPM_BUILD_ROOT%{_mandir}/tr/man3/{encrypt_r,setkey,setkey_r}.3
+%{__rm} $RPM_BUILD_ROOT%{_mandir}{,/ja}/man3/crypt{,_r}.3
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/{de,es,fr,pl,pt,ru,tr}/man3/crypt.3
+
%clean
rm -rf $RPM_BUILD_ROOT
%if %{without cross}
%post -p /sbin/postshell
/sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls
--/sbin/ldconfig
-
-%postun -p /sbin/postshell
--/sbin/ldconfig
+/sbin/ldconfig
-%post ld -p /sbin/postshell
--/sbin/ldconfig
+%postun -p /sbin/ldconfig
-%postun ld -p /sbin/postshell
--/sbin/ldconfig
-
-%triggerpostun ld -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6
+%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6
-/bin/cp -f /etc/ld.so.conf /etc/ld.so.conf.rpmsave
-/bin/sed -i -e '1iinclude ld.so.conf.d/*.conf' /etc/ld.so.conf
%endif
-/bin/cp -an %{_libdir}/locale/locale-archive %{_prefix}/lib/locale/locale-archive
%endif
-%post libcrypt -p /sbin/ldconfig
-%postun libcrypt -p /sbin/ldconfig
-
%post memusage -p /sbin/ldconfig
%postun memusage -p /sbin/ldconfig
%groupremove nscd
fi
+%posttrans -n iconv
+%{_sbindir}/iconvconfig --nostdlib -o %{_libdir}/gconv/gconv-modules.cache %{_libdir}/gconv
+
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc README NEWS
%if %{without cross}
%attr(755,root,root) /sbin/glibc-postinst
%endif
-# wildly arch-dependent ld.so SONAME symlink
-%attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so
+%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh
+%attr(755,root,root) /%{_lib}/ld-linux.so.2
+%endif
+%ifarch %{x8664}
+%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2
+%endif
+%ifarch x32
+%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2
+%endif
+%ifarch ppc64 s390x
+%attr(755,root,root) /%{_lib}/ld64.so.1
+%endif
+%ifarch aarch64
+%attr(755,root,root) /lib/ld-linux-aarch64.so.1
+%endif
+%ifarch armv6hl armv7hl armv7hnl
+%attr(755,root,root) /lib/ld-linux-armhf.so.3
+%endif
+%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh %{x8664} x32 ppc64 s390x %{arm} aarch64
+%attr(755,root,root) /%{_lib}/ld.so.1
+%endif
%ifarch alpha
%attr(755,root,root) /%{_lib}/libBrokenLocale.so.1.1
%else
%attr(755,root,root) /%{_lib}/libBrokenLocale.so.1
%endif
-%attr(755,root,root) /%{_lib}/libSegFault.so
-%attr(755,root,root) /%{_lib}/libanl-%{core_version}.so
%attr(755,root,root) /%{_lib}/libanl.so.1
-%attr(755,root,root) /%{_lib}/libc-%{core_version}.so
-%ifarch alpha ia64
+%ifarch alpha
%attr(755,root,root) /%{_lib}/libc.so.6.1
%else
%attr(755,root,root) /%{_lib}/libc.so.6
%endif
-%attr(755,root,root) /%{_lib}/libdl-%{core_version}.so
+# for debugging and not linking
+%attr(755,root,root) /%{_lib}/libc_malloc_debug.so.0
+%attr(755,root,root) %{_libdir}/libc_malloc_debug.so
%ifarch alpha
%attr(755,root,root) /%{_lib}/libdl.so.2.1
%else
%attr(755,root,root) /%{_lib}/libdl.so.2
%endif
-%attr(755,root,root) /%{_lib}/libm-%{core_version}.so
-%ifarch alpha ia64
+%ifarch alpha
%attr(755,root,root) /%{_lib}/libm.so.6.1
%else
%attr(755,root,root) /%{_lib}/libm.so.6
%endif
-%ifarch %{x8664} x32
-%attr(755,root,root) /%{_lib}/libmvec-%{core_version}.so
+%ifarch %{x8664} x32 aarch64
%attr(755,root,root) /%{_lib}/libmvec.so.1
%endif
-%attr(755,root,root) /%{_lib}/libnsl-%{core_version}.so
%ifarch alpha
%attr(755,root,root) /%{_lib}/libnsl.so.1.1
%else
%attr(755,root,root) /%{_lib}/libnsl.so.1
%endif
-%attr(755,root,root) /%{_lib}/libpthread-%{core_version}.so
%attr(755,root,root) /%{_lib}/libpthread.so.0
-%attr(755,root,root) /%{_lib}/libresolv-%{core_version}.so
%ifarch alpha
%attr(755,root,root) /%{_lib}/libresolv.so.2.1
%else
%attr(755,root,root) /%{_lib}/libresolv.so.2
%endif
-%attr(755,root,root) /%{_lib}/librt-%{core_version}.so
%attr(755,root,root) /%{_lib}/librt.so.1
-%attr(755,root,root) /%{_lib}/libthread_db-1.0.so
%attr(755,root,root) /%{_lib}/libthread_db.so.1
-%attr(755,root,root) /%{_lib}/libutil-%{core_version}.so
%ifarch alpha
%attr(755,root,root) /%{_lib}/libutil.so.1.1
%else
%endif
%dir %{_prefix}/lib/locale
-#%files -n nss_dns
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_dns-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_dns.so.2
-
-#%files -n nss_files
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_files-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_files.so.2
-%defattr(644,root,root,755)
-
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nsswitch.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gai.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/nss
%config %{_sysconfdir}/rpc
%attr(755,root,root) %{_bindir}/getconf
%attr(755,root,root) %{_bindir}/getent
%attr(755,root,root) %{_bindir}/iconv
+%attr(755,root,root) %{_bindir}/ld.so-%{_target_cpu}
%attr(755,root,root) %{_bindir}/locale
-%attr(755,root,root) %{_bindir}/rpcgen
-%attr(755,root,root) %{_sbindir}/zdump
+%attr(755,root,root) %{_bindir}/zdump
%attr(755,root,root) %{_sbindir}/zic
%dir %{_libexecdir}/getconf
%{_mandir}/man1/getent.1*
%{_mandir}/man1/iconv.1*
%{_mandir}/man1/locale.1*
-%{_mandir}/man1/rpcgen.1*
%{_mandir}/man5/gai.conf.5*
%{_mandir}/man5/locale.5*
%{_mandir}/man5/nss.5*
%{_mandir}/man7/unicode.7*
%{_mandir}/man7/utf-8.7*
%{_mandir}/man7/utf8.7*
+%{_mandir}/man8/ld-linux.8*
+%{_mandir}/man8/ld-linux.so.8*
+%{_mandir}/man8/ld.so.8*
%{_mandir}/man8/sln.8*
%{_mandir}/man8/zdump.8*
%{_mandir}/man8/zic.8*
%lang(es) %{_mandir}/es/man7/unicode.7*
%lang(es) %{_mandir}/es/man7/utf-8.7*
%lang(es) %{_mandir}/es/man7/utf8.7*
+%lang(es) %{_mandir}/es/man8/ld-linux.8*
+%lang(es) %{_mandir}/es/man8/ld-linux.so.8*
+%lang(es) %{_mandir}/es/man8/ld.so.8*
%lang(es) %{_mandir}/es/man8/zdump.8*
%lang(es) %{_mandir}/es/man8/zic.8*
%lang(fr) %{_mandir}/fr/man1/getent.1*
%lang(fr) %{_mandir}/fr/man7/unicode.7*
%lang(fr) %{_mandir}/fr/man7/utf-8.7*
%lang(fr) %{_mandir}/fr/man7/utf8.7*
+%lang(fr) %{_mandir}/fr/man8/ld-linux.8*
+%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8*
+%lang(fr) %{_mandir}/fr/man8/ld.so.8*
%lang(fr) %{_mandir}/fr/man8/sln.8*
%lang(fr) %{_mandir}/fr/man8/zdump.8*
%lang(fr) %{_mandir}/fr/man8/zic.8*
%lang(hu) %{_mandir}/hu/man7/locale.7*
%lang(hu) %{_mandir}/hu/man7/utf-8.7*
%lang(hu) %{_mandir}/hu/man7/utf8.7*
+%lang(hu) %{_mandir}/hu/man8/ld-linux.8*
+%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8*
+%lang(hu) %{_mandir}/hu/man8/ld.so.8*
%lang(hu) %{_mandir}/hu/man8/zdump.8*
%lang(it) %{_mandir}/it/man5/locale.5*
%lang(it) %{_mandir}/it/man7/ascii.7*
%lang(ja) %{_mandir}/ja/man1/getent.1*
%lang(ja) %{_mandir}/ja/man1/iconv.1*
%lang(ja) %{_mandir}/ja/man1/locale.1*
-%lang(ja) %{_mandir}/ja/man1/rpcgen.1*
%lang(ja) %{_mandir}/ja/man5/gai.conf.5*
%lang(ja) %{_mandir}/ja/man5/locale.5*
%lang(ja) %{_mandir}/ja/man5/nss.5*
%lang(ja) %{_mandir}/ja/man7/unicode.7*
%lang(ja) %{_mandir}/ja/man7/utf-8.7*
%lang(ja) %{_mandir}/ja/man7/utf8.7*
+%lang(ja) %{_mandir}/ja/man8/ld-linux.8*
+%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8*
+%lang(ja) %{_mandir}/ja/man8/ld.so.8*
%lang(ja) %{_mandir}/ja/man8/sln.8*
%lang(ja) %{_mandir}/ja/man8/zdump.8*
%lang(ja) %{_mandir}/ja/man8/zic.8*
%lang(pl) %{_mandir}/pl/man7/unicode.7*
%lang(pl) %{_mandir}/pl/man7/utf-8.7*
%lang(pl) %{_mandir}/pl/man7/utf8.7*
+%lang(pl) %{_mandir}/pl/man8/ld-linux.8*
+%lang(pl) %{_mandir}/pl/man8/ld-linux.so.8*
+%lang(pl) %{_mandir}/pl/man8/ld.so.8*
%lang(pt) %{_mandir}/pt/man5/locale.5*
%lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5*
%lang(pt) %{_mandir}/pt/man5/rpc.5*
%lang(ru) %{_mandir}/ru/man1/getent.1*
%lang(ru) %{_mandir}/ru/man1/iconv.1*
%lang(ru) %{_mandir}/ru/man1/locale.1*
-%lang(ru) %{_mandir}/ru/man1/rpcgen.1*
%lang(ru) %{_mandir}/ru/man5/locale.5*
%lang(ru) %{_mandir}/ru/man5/nsswitch.conf.5*
%lang(ru) %{_mandir}/ru/man5/rpc.5*
%lang(ru) %{_mandir}/ru/man7/unicode.7*
%lang(ru) %{_mandir}/ru/man7/utf-8.7*
%lang(ru) %{_mandir}/ru/man7/utf8.7*
+%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8*
+%lang(ru) %{_mandir}/ru/man8/ld.so.8*
%lang(ru) %{_mandir}/ru/man8/zdump.8*
%lang(ru) %{_mandir}/ru/man8/zic.8*
%lang(tr) %{_mandir}/tr/man1/iconv.1*
%files misc
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/catchsegv
%attr(755,root,root) %{_bindir}/ldd
%attr(755,root,root) %{_bindir}/pldd
-%ifarch %{ix86} m68k sparc sparcv9
+%ifarch m68k sparc sparcv9
%attr(755,root,root) %{_bindir}/lddlibc4
%endif
%attr(755,root,root) %{_bindir}/sotruss
%dir %{_libdir}/audit
%attr(755,root,root) %{_libdir}/audit/sotruss-lib.so
-%{_mandir}/man1/catchsegv.1*
%{_mandir}/man1/ldd.1*
%{_mandir}/man1/pldd.1*
%lang(cs) %{_mandir}/cs/man1/ldd.1*
%lang(zh_CN) %{_mandir}/zh_CN/man1/ldd.1*
%lang(zh_TW) %{_mandir}/zh_TW/man1/ldd.1*
-%files libcrypt
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libcrypt-%{core_version}.so
-%ifarch alpha
-%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1.1
-%else
-%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1
-%endif
-
-%files ld
+%files -n ldconfig
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
%dir %{_sysconfdir}/ld.so.conf.d
%ghost %{_sysconfdir}/ld.so.cache
-# TODO: package ldconfig symlinks as %ghost
-%attr(755,root,root) /%{_lib}/ld-%{core_version}.so
-%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh
-%attr(755,root,root) /%{_lib}/ld-linux.so.2
-%endif
-%ifarch ia64
-%attr(755,root,root) /%{_lib}/ld-linux-ia64.so.2
-%endif
-%ifarch %{x8664}
-%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2
-%endif
-%ifarch x32
-%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2
-%endif
-%ifarch ppc64 s390x
-%attr(755,root,root) /%{_lib}/ld64.so.1
-%endif
-%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm}
-%attr(755,root,root) /%{_lib}/ld.so.1
-%endif
%attr(755,root,root) /sbin/ldconfig
-%{_mandir}/man8/ld-linux.8*
-%{_mandir}/man8/ld-linux.so.8*
-%{_mandir}/man8/ld.so.8*
%{_mandir}/man8/ldconfig.8*
-%lang(es) %{_mandir}/es/man8/ld-linux.8*
-%lang(es) %{_mandir}/es/man8/ld-linux.so.8*
-%lang(es) %{_mandir}/es/man8/ld.so.8*
%lang(es) %{_mandir}/es/man8/ldconfig.8*
-%lang(fr) %{_mandir}/fr/man8/ld-linux.8*
-%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8*
-%lang(fr) %{_mandir}/fr/man8/ld.so.8*
%lang(fr) %{_mandir}/fr/man8/ldconfig.8*
-%lang(hu) %{_mandir}/hu/man8/ld-linux.8*
-%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8*
-%lang(hu) %{_mandir}/hu/man8/ld.so.8*
%lang(hu) %{_mandir}/hu/man8/ldconfig.8*
-%lang(ja) %{_mandir}/ja/man8/ld-linux.8*
-%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8*
-%lang(ja) %{_mandir}/ja/man8/ld.so.8*
%lang(ja) %{_mandir}/ja/man8/ldconfig.8*
-%lang(pl) %{_mandir}/pl/man8/ld-linux.8*
-%lang(pl) %{_mandir}/pl/man8/ld-linux.so.8*
-%lang(pl) %{_mandir}/pl/man8/ld.so.8*
%lang(pl) %{_mandir}/pl/man8/ldconfig.8*
%lang(pt) %{_mandir}/pt/man8/ldconfig.8*
-%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8*
-%lang(ru) %{_mandir}/ru/man8/ld.so.8*
%lang(ru) %{_mandir}/ru/man8/ldconfig.8*
%dir %attr(700,root,root) /var/cache/ldconfig
%attr(600,root,root) %ghost /var/cache/ldconfig/aux-cache
%files -n nss_compat
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_compat-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_compat.so.2
%files -n nss_db
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/makedb
-%attr(755,root,root) /%{_lib}/libnss_db-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_db.so.2
%{_var}/db/Makefile
%files -n nss_hesiod
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_hesiod-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_hesiod.so.2
-%files -n nss_nis
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_nis-%{core_version}.so
-%attr(755,root,root) /%{_lib}/libnss_nis.so.2
-
-%files -n nss_nisplus
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_nisplus-%{core_version}.so
-%attr(755,root,root) /%{_lib}/libnss_nisplus.so.2
-
%if %{with memusage}
%files memusage
%defattr(644,root,root,755)
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libBrokenLocale.so
+# for dlopen and not linking
%attr(755,root,root) %{_libdir}/libanl.so
-%attr(755,root,root) %{_libdir}/libcrypt.so
-%attr(755,root,root) %{_libdir}/libdl.so
%attr(755,root,root) %{_libdir}/libm.so
-%ifarch %{x8664} x32
+%ifarch %{x8664} x32 aarch64
%attr(755,root,root) %{_libdir}/libmvec.so
%endif
-%attr(755,root,root) %{_libdir}/libnsl.so
%attr(755,root,root) %{_libdir}/libpcprofile.so
%attr(755,root,root) %{_libdir}/libresolv.so
-%attr(755,root,root) %{_libdir}/librt.so
+# for dlopen and not linking
%attr(755,root,root) %{_libdir}/libthread_db.so
-%attr(755,root,root) %{_libdir}/libutil.so
+# empty archives, so linking with obsolete -lXX (these below) works
+%{_libdir}/libanl.a
+%{_libdir}/libdl.a
+%{_libdir}/libpthread.a
+%{_libdir}/librt.a
+%{_libdir}/libutil.a
%{_libdir}/crt[1in].o
%{_libdir}/[MSgr]crt1.o
-%{_libdir}/grcrt1.o
+%{?with_static_pie:%{_libdir}/grcrt1.o}
# ld scripts
%{_libdir}/libc.so
-%{_libdir}/libpthread.so
# static-only libs
-%ifarch %{x8664} x32
-%{_libdir}/libmvec_nonshared.a
-%endif
%{_libdir}/libc_nonshared.a
%{_libdir}/libg.a
%ifarch alpha ppc sparc
%{_libdir}/libnldbl_nonshared.a
%endif
-%{_libdir}/librpcsvc.a
-%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64
+%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 aarch64 armv6hl armv7hl armv7hnl
# ABI-dependent headers
%{_includedir}/gnu/stubs-*.h
%endif
%endif
%{_includedir}/arpa
%{_includedir}/bits
+%dir %{_includedir}/finclude
+%{_includedir}/finclude/math-vector-fortran.h
%dir %{_includedir}/gnu
%{_includedir}/gnu/lib*.h
%{_includedir}/gnu/stubs.h
%{_includedir}/nfs
%{_includedir}/protocols
%{_includedir}/rpc
-%{_includedir}/rpcsvc
%{_includedir}/scsi
%{_includedir}/sys
%attr(755,root,root) %{_bindir}/sprof
%attr(755,root,root) %{_bindir}/xtrace
%{_mandir}/man1/mtrace.1*
+%{_mandir}/man1/sprof.1*
%lang(ja) %{_mandir}/ja/man1/mtrace.1*
+%lang(ja) %{_mandir}/ja/man1/sprof.1*
+%lang(ru) %{_mandir}/ru/man1/sprof.1*
%files devel-doc
%defattr(644,root,root,755)
%doc documentation/*
%{_infodir}/libc.info*
-%{_mandir}/man1/sprof.1*
-# just a link to getcwd.3
%{_mandir}/man2/getcwd.2*
-# just a link to killpg.3
-%{_mandir}/man2/killpg.2*
%{_mandir}/man3/*
%{_mandir}/man7/aio.7*
%{_mandir}/man7/attributes.7*
%{_mandir}/man7/nptl.7*
%{_mandir}/man7/posixoptions.7*
%{_mandir}/man7/pthreads.7*
+%{_mandir}/man7/queue.7*
%{_mandir}/man7/rtld-audit.7*
%{_mandir}/man7/sem_overview.7*
%{_mandir}/man7/shm_overview.7*
+%{_mandir}/man7/system_data_types.7*
%lang(cs) %{_mandir}/cs/man3/*
-%lang(de) %{_mandir}/de/man2/killpg.2*
%lang(de) %{_mandir}/de/man3/*
-%lang(es) %{_mandir}/es/man2/killpg.2*
%lang(es) %{_mandir}/es/man3/*
%lang(es) %{_mandir}/es/man7/glob.7*
-%lang(fr) %{_mandir}/fr/man2/getcwd.2*
-%lang(fr) %{_mandir}/fr/man2/killpg.2*
%lang(fr) %{_mandir}/fr/man3/*
%lang(fr) %{_mandir}/fr/man7/aio.7*
%lang(fr) %{_mandir}/fr/man7/complex.7*
%lang(hu) %{_mandir}/hu/man3/*
%lang(it) %{_mandir}/it/man3/*
%lang(it) %{_mandir}/it/man7/glob.7*
-%lang(ja) %{_mandir}/ja/man1/sprof.1*
%lang(ja) %{_mandir}/ja/man2/getcwd.2*
-%lang(ja) %{_mandir}/ja/man2/killpg.2*
%lang(ja) %{_mandir}/ja/man3/*
%lang(ja) %{_mandir}/ja/man7/aio.7*
%lang(ja) %{_mandir}/ja/man7/complex.7*
%lang(ja) %{_mandir}/ja/man7/pthreads.7*
%lang(ja) %{_mandir}/ja/man7/sem_overview.7*
%lang(ja) %{_mandir}/ja/man7/shm_overview.7*
-%lang(ko) %{_mandir}/ko/man2/killpg.2*
%lang(ko) %{_mandir}/ko/man3/*
%lang(nl) %{_mandir}/nl/man3/*
-%lang(pl) %{_mandir}/pl/man2/killpg.2*
%lang(pl) %{_mandir}/pl/man3/*
-%lang(pt) %{_mandir}/pt/man2/killpg.2*
%lang(pt) %{_mandir}/pt/man3/*
%lang(pt) %{_mandir}/pt/man7/glob.7*
-%lang(ru) %{_mandir}/ru/man1/sprof.1*
-%lang(ru) %{_mandir}/ru/man2/killpg.2*
%lang(ru) %{_mandir}/ru/man3/*
%lang(ru) %{_mandir}/ru/man7/glob.7*
%lang(tr) %{_mandir}/tr/man3/*
%files static
%defattr(644,root,root,755)
-%{_libdir}/libanl.a
%{_libdir}/libBrokenLocale.a
%{_libdir}/libc.a
-%{_libdir}/libcrypt.a
-%{_libdir}/libdl.a
%{_libdir}/libm.a
%{_libdir}/libmcheck.a
-%ifarch %{x8664} x32
+%ifarch %{x8664} x32 aarch64
%{_libdir}/libm-%{core_version}.a
%{_libdir}/libmvec.a
%endif
-%{_libdir}/libnsl.a
-%{_libdir}/libpthread.a
%{_libdir}/libresolv.a
-%{_libdir}/librt.a
-%{_libdir}/libutil.a
%files profile
%defattr(644,root,root,755)
-%{_libdir}/lib*_p.a
+%{_libdir}/libBrokenLocale_p.a
+%{_libdir}/libanl_p.a
+%{_libdir}/libc_p.a
+%{_libdir}/libdl_p.a
+%{_libdir}/libm_p.a
+%ifarch %{x8664} x32 aarch64
+%{_libdir}/libmvec_p.a
+%endif
+%{_libdir}/libpthread_p.a
+%{_libdir}/libresolv_p.a
+%{_libdir}/librt_p.a
+%{_libdir}/libutil_p.a
%files pic
%defattr(644,root,root,755)
-%{_libdir}/lib*_pic.a
-%{_libdir}/lib*.map
-%{_libdir}/soinit.o
+%{_libdir}/libc_pic.a
+%{_libdir}/libm_pic.a
+%{_libdir}/libresolv_pic.a
+%{_libdir}/libc.map
+%{_libdir}/libm.map
%{_libdir}/sofini.o
%files -n nscd
%attr(755,root,root) %{_sbindir}/iconvconfig
%dir %{_libdir}/gconv
%{_libdir}/gconv/gconv-modules
+%dir %{_libdir}/gconv/gconv-modules.d
+%{_libdir}/gconv/gconv-modules.d/gconv-modules-extra.conf
%verify(not md5 mtime size) %{_libdir}/gconv/gconv-modules.cache
%attr(755,root,root) %{_libdir}/gconv/*.so
%{_mandir}/man8/iconvconfig.8*