]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
Rel 1
[packages/glibc.git] / glibc.spec
index f8355f0f64f74e3d058af417ef6bea3e1ba11189..c17a7cbcf1f931d4a3a3c1f46522e41c3680005e 100644 (file)
@@ -1,4 +1,5 @@
 # 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
@@ -8,26 +9,36 @@
 # - 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 %{x8664}
+%undefine      with_cet
+%endif
+%ifnarch %{arm}
+%define                with_static_pie         1
+%endif
 
-%define                core_version    2.27
+%define                core_version    2.39
 %define                llh_version     7:2.6.32.1-1
 
 Summary:       GNU libc
@@ -41,40 +52,37 @@ Summary(tr.UTF-8):  GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       %{core_version}
-Release:       2
+Release:       1
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
-Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 898cd5656519ffbc3a03fe811dd89e82
+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: 78a8f7f8dfc63123f47a614e99136e61
+# 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:  d41d8cd98f00b204e9800998ecf8427e
+Patch0:                glibc-git.patch
+# 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
-Patch5:                %{name}-sparc-softfp-gcc.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
@@ -83,32 +91,43 @@ Patch19:    %{name}-ZA_collate.patch
 
 Patch23:       %{name}-pt_pax.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: gcc >= 6:4.7
+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: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
+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}
@@ -118,7 +137,8 @@ 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
@@ -127,18 +147,23 @@ Suggests: localedb
 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
@@ -172,8 +197,9 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %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}
@@ -291,6 +317,7 @@ Can be used on: Linux kernel >= %{min_kernel}.
 Summary:       Utilities and data used by glibc
 Summary(pl.UTF-8):     Narzędzia i dane używane przez glibc
 Group:         Applications/System
+Suggests:      libidn2 >= 2.0.5
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 %ifarch %{ix86}
 Conflicts:     %{name}(x32)
@@ -304,23 +331,6 @@ Utilities and data used by glibc.
 %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 -n ldconfig
 Summary:       Create shared library cache and maintains symlinks
 Summary(de.UTF-8):     Erstellt ein shared library cache und verwaltet symlinks
@@ -329,11 +339,13 @@ Summary(pl.UTF-8):        Tworzenie cache'u bibliotek dynamicznych i ich dowiązań sym
 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.
+Requires:      FHS
+Provides:      rtld(GNU_HASH)
 # 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
-# we want FHS being installed before ldconfig, altho they are both unrelated to each-other.
-Requires:      FHS
+Conflicts:     glibc-ld < 6:2.33-2
 
 %description -n ldconfig
 ldconfig scans a running system and sets up the symbolic links that
@@ -394,38 +406,6 @@ NSS glibc module that uses hashed key-value database.
 %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
@@ -442,39 +422,6 @@ 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
@@ -502,7 +449,7 @@ Group:              Development/Libraries
 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}
@@ -571,33 +518,33 @@ kitaplıklar.
 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}
 
@@ -626,33 +573,33 @@ korzystające ze standardowych bibliotek C.
 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
 
@@ -681,9 +628,7 @@ Summary:    Documentation needed for development using standard C libraries
 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
@@ -709,6 +654,7 @@ Summary(ru.UTF-8):  Статические библиотеки glibc
 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}
@@ -743,7 +689,7 @@ Summary(tr.UTF-8):  Ölçüm desteği olan glibc
 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
@@ -951,33 +897,30 @@ echo "Minimal supported kernel is 3.2.0" >&2
 exit 1
 %endif
 
-#%patch0 -p1
+%patch0 -p1
 
 %patch2 -p1
-%patch3 -p0
+
 %{!?with_bash_nls:%patch4 -p1}
-%patch5 -p1
-%patch6 -p1
 
-%patch8 -p1
-%patch9 -p1
+%patch6 -p1
 
 %patch10 -p1
 %patch11 -p1
 
-%patch14 -p0
+%patch14 -p1
 %patch15 -p1
-%patch16 -p1
+
 %patch17 -p1
 %patch18 -p1
 %patch19 -p1
 
 %patch23 -p0
 
-%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
@@ -988,7 +931,6 @@ chmod +x scripts/cpp
 # 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}
 
@@ -1006,25 +948,31 @@ PATH=$(pwd)/alt-tools:$PATH; export PATH
 
 AWK="gawk" \
 ../%configure \
-       --enable-add-ons=libidn \
+%if %{with cet}
+       --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 \
@@ -1071,27 +1019,26 @@ PICFILES="libc_pic.a libc.map
        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 cidn 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
@@ -1100,15 +1047,20 @@ done
 # 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
@@ -1133,7 +1085,7 @@ install -d documentation
 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
@@ -1148,47 +1100,62 @@ done
 # 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)
 #
 # To be added when they become supported by glibc:
-#   ach    (vlc, libreport)
-#   aln    (vlc, libreport)
+#   ace    (iso-codes)
+#   ach    (iso-codes, libreport, vlc)
+#   aln    (libreport, vlc)
 #   bal    (libosinfo, libreport, newt, pessulus)
+#   bar    (iso-codes)
 #   cgg    (vlc)
-#   co     (FileZilla, vlc)
-#   frp    (xfce, lxlauncher, mate)
-#   gn     (gn_BR in gnome, maybe gn_PY)
+#   ch     (iso-codes)
+#   co     (FileZilla, libfilezilla, vlc)
+#   es_419 (alpm - common "Spanish (Latin America)")
+#   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     (gtk+2, gnome, alacarte)
-#   jv     (gmpc, avant-window-navigator, kdesudo, mate)
-#   kab    (FileZilla)
+#   io     (alacarte, gtk+2, gnome, iso-codes)
+#   jam    (iso-codes)
+#   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     (cinnamon, iso-codes)
 #   mus    (bluez-gnome)
-#   nah    (mate)
+#   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, picard, stellarium, mate)
-#   son    (gtkspell3)
+#   sco    (gnomad2, mate, picard, stellarium, cinnamon)
+#   son    (gtkspell3, iso-codes)
 #   su     (terminator)
 #   swg    (sim)
-#   syr    (iso-codes)
 #   tet    (vlc)
-#   tpi    (mate-tweak)
 #   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)
@@ -1196,13 +1163,18 @@ done
 #
 # 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
+# ce=ce_RU
+# chr=chr_US
 # ckb=ckb_IQ
 # cv=cv_RU
 # de=de_DE
@@ -1215,17 +1187,22 @@ done
 # fr=fr_FR
 # fy=fy_NL
 # gez=gez_ET (?)
+# hy=hy_AM
 # it=it_IT
+# kab=kab_DZ
 # ks=ks_IN
 # ks@devanagari=ks_IN@devanagari
 # ku=ku_TR
 # 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
@@ -1243,6 +1220,7 @@ done
 # ta=ta_IN
 # te=te_IN
 # ti=ti_ER (?)
+# tpi=tpi_PG
 # tr=tr_TR
 # ur=ur_PK (?)
 # zh: no short code used (use zh_CN, zh_HK, zh_SG[not included yet], zh_TW)
@@ -1251,17 +1229,20 @@ done
 #   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 ca@valencia 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 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 hsb hy ia id ig ik is it_CH iu ka 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 pa pap ps pt ps quz rm ro sa sat sc sd sd@devanagari se shn si sid sl so sq sr sr@Latn szl tl \
-       sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw ta te tg th ti \
-       tig tk tl tlh tn ts tt tt@iqtelif ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo \
-       zh_HK zu; do
+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_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 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 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
                install -d $RPM_BUILD_ROOT%{_localedir}/$i/LC_MESSAGES
                # use lang() tags with ll_CC@variant (stripping charset and @quot|@boldquot)
@@ -1271,8 +1252,8 @@ for i in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR be@latin be@ta
 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
@@ -1291,15 +1272,18 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 # don't package them here
 install -d $RPM_BUILD_ROOT%{_mandir}{,/ru,/es,/fr,/ja}/man2
 :>$RPM_BUILD_ROOT%{_mandir}/man2/syslog.2
-:>$RPM_BUILD_ROOT%{_mandir}/ru/man2/syslog.2
 :>$RPM_BUILD_ROOT%{_mandir}/es/man2/syslog.2
 :>$RPM_BUILD_ROOT%{_mandir}/fr/man2/syslog.2
 :>$RPM_BUILD_ROOT%{_mandir}/ja/man2/syslog.2
+:>$RPM_BUILD_ROOT%{_mandir}/ru/man2/syslog.2
 
 # remove links to non existant translations
 %{__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
 
@@ -1334,9 +1318,6 @@ fi
 -/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
 
@@ -1380,21 +1361,18 @@ if [ "$1" = "0" ]; then
        %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
-# TODO: package ldconfig symlinks as %ghost
-%attr(755,root,root) /%{_lib}/ld-%{core_version}.so
-# wildly arch-dependent ld.so SONAME symlink
 %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
@@ -1404,61 +1382,55 @@ fi
 %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}
+%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
-%attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so
 %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}/libcidn-%{core_version}.so
-%attr(755,root,root) /%{_lib}/libcidn.so.1
-%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
@@ -1466,21 +1438,11 @@ fi
 %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
 
@@ -1488,9 +1450,9 @@ fi
 %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
@@ -1503,7 +1465,6 @@ fi
 %{_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*
@@ -1567,16 +1528,23 @@ fi
 %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/man1/locale.1*
+%lang(fr) %{_mandir}/fr/man5/gai.conf.5*
 %lang(fr) %{_mandir}/fr/man5/locale.5*
+%lang(fr) %{_mandir}/fr/man5/nss.5*
 %lang(fr) %{_mandir}/fr/man5/nsswitch.conf.5*
 %lang(fr) %{_mandir}/fr/man5/rpc.5*
 %lang(fr) %{_mandir}/fr/man5/tzfile.5*
+%lang(fr) %{_mandir}/fr/man7/armscii-8.7*
 %lang(fr) %{_mandir}/fr/man7/ascii.7*
 %lang(fr) %{_mandir}/fr/man7/charsets.7*
+%lang(fr) %{_mandir}/fr/man7/cp1251.7*
 %lang(fr) %{_mandir}/fr/man7/iso-8859-*.7*
 %lang(fr) %{_mandir}/fr/man7/iso_8859-*.7*
 %lang(fr) %{_mandir}/fr/man7/iso_8859_*.7*
 %lang(fr) %{_mandir}/fr/man7/koi8-r.7*
+%lang(fr) %{_mandir}/fr/man7/koi8-u.7*
 %lang(fr) %{_mandir}/fr/man7/latin*.7*
 %lang(fr) %{_mandir}/fr/man7/locale.7*
 %lang(fr) %{_mandir}/fr/man7/unicode.7*
@@ -1585,6 +1553,7 @@ fi
 %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/ascii.7*
@@ -1614,7 +1583,6 @@ fi
 %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*
@@ -1687,7 +1655,6 @@ fi
 %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*
@@ -1721,20 +1688,30 @@ fi
 %lang(zh_CN) %{_mandir}/zh_CN/man7/utf8.7*
 %lang(zh_CN) %{_mandir}/zh_CN/man8/zdump.8*
 %lang(zh_CN) %{_mandir}/zh_CN/man8/zic.8*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/iconv.1*
+%lang(zh_TW) %{_mandir}/zh_TW/man5/locale.5*
+%lang(zh_TW) %{_mandir}/zh_TW/man5/rpc.5*
+%lang(zh_TW) %{_mandir}/zh_TW/man5/tzfile.5*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/ascii.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/charsets.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/locale.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/unicode.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/utf-8.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/utf8.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man8/zdump.8*
+%lang(zh_TW) %{_mandir}/zh_TW/man8/zic.8*
 
 %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*
@@ -1750,15 +1727,7 @@ fi
 %lang(ru) %{_mandir}/ru/man1/ldd.1*
 %lang(tr) %{_mandir}/tr/man1/ldd.1*
 %lang(zh_CN) %{_mandir}/zh_CN/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
+%lang(zh_TW) %{_mandir}/zh_TW/man1/ldd.1*
 
 %files -n ldconfig
 %defattr(644,root,root,755)
@@ -1779,31 +1748,18 @@ fi
 
 %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)
@@ -1819,38 +1775,34 @@ fi
 %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}/libcidn.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}/libpthread_nonshared.a
-%{_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
@@ -1863,6 +1815,8 @@ fi
 %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
@@ -1880,7 +1834,6 @@ fi
 %{_includedir}/nfs
 %{_includedir}/protocols
 %{_includedir}/rpc
-%{_includedir}/rpcsvc
 %{_includedir}/scsi
 %{_includedir}/sys
 
@@ -1892,18 +1845,17 @@ fi
 %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*
@@ -1916,31 +1868,32 @@ fi
 %{_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(fr) %{_mandir}/fr/man7/feature_test_macros.7*
+%lang(fr) %{_mandir}/fr/man7/glibc.7*
 %lang(fr) %{_mandir}/fr/man7/glob.7*
+%lang(fr) %{_mandir}/fr/man7/libc.7*
+%lang(fr) %{_mandir}/fr/man7/math_error.7*
 %lang(fr) %{_mandir}/fr/man7/posixoptions.7*
 %lang(fr) %{_mandir}/fr/man7/pthreads.7*
+%lang(fr) %{_mandir}/fr/man7/rtld-audit.7*
 %lang(fr) %{_mandir}/fr/man7/sem_overview.7*
 %lang(fr) %{_mandir}/fr/man7/shm_overview.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*
@@ -1953,51 +1906,54 @@ fi
 %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/*
 %lang(uk) %{_mandir}/uk/man3/*
 %lang(zh_CN) %{_mandir}/zh_CN/man3/*
 %lang(zh_CN) %{_mandir}/zh_CN/man7/glob.7*
+%lang(zh_TW) %{_mandir}/zh_TW/man3/*
+%lang(zh_TW) %{_mandir}/zh_TW/man7/glob.7*
 
 %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
@@ -2028,6 +1984,7 @@ fi
 %lang(ru) %{_mandir}/ru/man5/nscd.conf.5*
 %lang(ru) %{_mandir}/ru/man8/nscd.8*
 %lang(zh_CN) %{_mandir}/zh_CN/man5/nscd.conf.5*
+%lang(zh_TW) %{_mandir}/zh_TW/man5/nscd.conf.5*
 
 %files -n localedb-src
 %defattr(644,root,root,755)
@@ -2048,6 +2005,8 @@ fi
 %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*
This page took 0.175162 seconds and 4 git commands to generate.