%undefine with_memusage
%endif
-%define core_version 2.26
+%define core_version 2.28
%define llh_version 7:2.6.32.1-1
Summary: GNU libc
License: LGPL v2.1+
Group: Libraries
Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 102f637c3812f81111f48f2427611be1
+# Source0-md5: c81d2388896379997bc359d4f2084239
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
Source7: %{name}-LD-path.c
Source9: nscd.tmpfiles
# use branch.sh to update glibc-git.patch
-# Patch0: glibc-git.patch
+#Patch0: glibc-git.patch
# Patch0-md5: d41d8cd98f00b204e9800998ecf8427e
# 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
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf >= 2.69
BuildRequires: automake
-%ifarch alpha
-BuildRequires: binutils >= 2:2.17.50.0.7
-%else
-BuildRequires: binutils >= 2:2.15.90.0.3
-%endif
+BuildRequires: binutils >= 2:2.29
+BuildRequires: bison >= 2.7
%{!?with_cross:BuildRequires: dietlibc-static}
BuildRequires: gawk
-BuildRequires: gcc >= 6:4.7
+BuildRequires: gcc >= 6:8.0
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-tools >= 0.10.36
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
Provides: glibc64
Obsoletes: glibc64
%endif
+Suggests: libidn2 >= 2.0.5
Suggests: localedb
Suggests: tzdata
Conflicts: %{name}-misc < %{epoch}:%{version}-%{release}
%define _noautoprov .*\(GLIBC_PRIVATE\)
%define _noautoreq .*\(GLIBC_PRIVATE\)
+# to avoid multi-arch conflicts on getconf/* files
+%define _libexecdir %{_libdir}
+
%description
Contains the standard libraries that are used by multiple programs on
the system. In order to save disk space and memory, as well as to ease
%prep
%setup -q
-%if "%{min_kernel}" < "2.6.32"
-echo "Minimal supported kernel is 2.6.32" >&2
+%if "%{min_kernel}" < "3.2.0"
+echo "Minimal supported kernel is 3.2.0" >&2
exit 1
%endif
%patch2 -p1
%patch3 -p0
%{!?with_bash_nls:%patch4 -p1}
-%patch5 -p1
+
%patch6 -p1
%patch8 -p1
-%patch9 -p0
+%patch9 -p1
%patch10 -p1
%patch11 -p1
AWK="gawk" \
../%configure \
- --enable-add-ons=libidn \
+%ifarch %{x8664} i686 x32
+ --enable-cet \
+%endif
--enable-bind-now \
--enable-experimental-malloc \
--enable-hidden-plt \
--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/ \
mv -f $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 \
+for l in BrokenLocale anl crypt dl \
%ifarch %{x8664} x32
mvec \
%endif
rm -rf documentation
install -d documentation
-for f in ChangeLog.old DESIGN-systemtap-probes.txt TODO{,-kernel,-testing}; do
+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
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README NEWS BUGS CONFORMANCE
+%doc README NEWS
%if %{without cross}
%attr(755,root,root) /sbin/glibc-postinst
%endif
%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
%ifarch alpha
%attr(755,root,root) /%{_lib}/libdl.so.2.1
%attr(755,root,root) %{_libdir}/libBrokenLocale.so
%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
%attr(755,root,root) %{_libdir}/libthread_db.so
%attr(755,root,root) %{_libdir}/libutil.so
%{_libdir}/crt[1in].o
-%{_libdir}/[MSg]crt1.o
+%{_libdir}/[MSgr]crt1.o
+%{_libdir}/grcrt1.o
# ld scripts
%{_libdir}/libc.so
%{_libdir}/libpthread.so
%endif
%{_libdir}/libc_nonshared.a
%{_libdir}/libg.a
-%{_libdir}/libieee.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
# ABI-dependent headers