# - 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 2.6.32 suffices)
+# min_kernel (default is 3.4.0 except for x86/x86_64 where 3.2.0 suffices)
%bcond_without memusage # don't build memusage utility
%bcond_without selinux # without SELinux support (in nscd)
%bcond_with tests # perform "make test"
%bcond_with bash_nls # use bash NLS in shell scripts (ldd, sotruss); restores /bin/bash dep
#
%ifarch %{ix86} %{x8664}
-%{!?min_kernel:%global min_kernel 2.6.32}
+%{!?min_kernel:%global min_kernel 3.2.0}
%else
%{!?min_kernel:%global min_kernel 3.4.0}
%endif
%undefine with_memusage
%endif
-%define core_version 2.25
+%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: 1496c3bf41adf9db0ebd0af01f202eed
+# Source0-md5: c81d2388896379997bc359d4f2084239
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
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
# fixes mostly pending for upstream merge
Patch18: %{name}-locale_fixes.patch
Patch19: %{name}-ZA_collate.patch
-Patch20: %{name}-thread_start.patch
Patch23: %{name}-pt_pax.patch
Patch29: %{name}-arm-alignment-fix.patch
Patch30: glibc-rh1124987.patch
-
-Patch38: 1055_all_glibc-resolv-dynamic.patch
URL: http://www.gnu.org/software/libc/
%{?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
Stary moduł NYS NSS glibc.
%package -n nss_db
-Summary: Berkeley DB NSS glibc module
+Summary: NSS glibc module that uses hashed key-value database
+Summary(pl.UTF-8): Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość
Group: Base
Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_db
-Berkeley DB NSS glibc module.
+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
%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
%patch17 -p1
%patch18 -p1
%patch19 -p1
-%patch20 -p1
%patch23 -p0
%patch29 -p1
%patch30 -p1
-%patch38 -p1
-
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
AWK="gawk" \
../%configure \
- --enable-add-ons=libidn \
+%ifarch %{x8664} i686 x32
+ --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/ \
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
# aln (vlc, libreport)
# bal (libosinfo, libreport, newt, pessulus)
# cgg (vlc)
-# co (vlc)
+# co (FileZilla, vlc)
# frp (xfce, lxlauncher, mate)
# gn (gn_BR in gnome, maybe gn_PY)
+# guc (gtk-vnc)
# haw (iso-codes, stellarium)
# hrx (stellarium)
# ilo (kudzu, libosinfo, libreport)
# io (gtk+2, gnome, alacarte)
# jv (gmpc, avant-window-navigator, kdesudo, mate)
+# kab (FileZilla)
+# kok@latin (inkscape)
# kmr (vlc)
# ku_IQ (mate)
# kw@kkcor, kw@uccor (libosinfo - currently empty) - add as supported variants when non-empty?
# man (ccsm; incorrectly named md)
+# mni@beng[ali] (inkscape)
# mus (bluez-gnome)
# nah (mate)
# nqo (mate)
# pms (deluge, mate-tweak)
+# sat@deva[nagari] (inkscape)
# sco (gnomad2, picard, stellarium, mate)
# son (gtkspell3)
# su (terminator)
# fy=fy_NL
# gez=gez_ET (?)
# it=it_IT
+# ks=ks_IN
+# ks@devanagari=ks_IN@devanagari
# ku=ku_TR
# li=li_NL
+# ln=ln_CD
+# lo=lo_LA
# nds=nds_DE
# nl=nl_NL
# om=om_ET
# quz=quz_PE
# ru=ru_RU
# sd=sd_IN
+# sd@devanagari=sd_IN@devanagari
# shn=shn_MM
# so=so_SO
# sr=sr_RS [cyrillic]
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 ku kw ky la lb \
- lg li 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 se shn si sid sl so sq sr sr@Latn szl tl \
+ 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
%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