%undefine with_cet
%endif
-%define core_version 2.29
+%define core_version 2.31
%define llh_version 7:2.6.32.1-1
Summary: GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: %{core_version}
-Release: 3
+Release: 7
Epoch: 6
License: LGPL v2.1+
Group: Libraries
Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: e6c279d5b2f0736f740216f152acf974
+# Source0-md5: 78a720f17412f3c3282be5a6f3363ec6
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: 852c1c77c7435615c0b17d8e4acf05d8
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: 3f0008be1cd231ab7f63230f3af9e9e6
+# Patch0-md5: 144db12c89a8af1afbaa6517011511dc
# against GNU TP (libc domain)
#Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
Patch6: %{name}-paths.patch
-Patch8: %{name}-missing-nls.patch
-Patch9: %{name}-nss_include_dirs.patch
Patch10: %{name}-info.patch
Patch11: %{name}-autoconf.patch
BuildRequires: binutils >= 2:2.29
BuildRequires: bison >= 2.7
%{!?with_cross:BuildRequires: dietlibc-static}
-BuildRequires: gawk
+BuildRequires: gawk >= 3.1.2
%if %{with cet}
BuildRequires: gcc >= 6:8.0
%else
-BuildRequires gcc >= 6:5.0
+BuildRequires: gcc >= 6:6.2
%endif
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-tools >= 0.10.36
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
+BuildRequires: make >= 1:4.0
%{?with_nss_crypt:BuildRequires: nss-devel >= 1:3.15.1-2}
BuildRequires: perl-base
BuildRequires: python3 >= 1:3.4
BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpmbuild(macros) >= 1.567
BuildRequires: sed >= 4.0.5
-BuildRequires: texinfo
+BuildRequires: texinfo >= 4.7
Requires: %{name}-ld = %{epoch}:%{version}-%{release}
Requires: filesystem
Requires: uname(release) >= %{min_kernel}
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 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# avoid -s here (ld.so must not be stripped to allow any program debugging)
%patch6 -p1
-%patch8 -p1
-%patch9 -p1
-
%patch10 -p1
%patch11 -p1
-%patch14 -p0
+%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
--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 \
# 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)
# bar (iso-codes)
# cgg (vlc)
# ch (iso-codes)
-# co (FileZilla, vlc)
+# co (FileZilla, libfilezilla, vlc)
# es_419 (alpm - common "Spanish (Latin America)")
# frp (iso-codes, lxlauncher, mate, xfce)
# gn (iso-codes, gnome; gn_BR in gnome, maybe gn_PY)
# guc (gtk-vnc)
# haw (iso-codes, stellarium)
# hrx (stellarium)
+# ie (xfce, cinnamon)
# ilo (kudzu, libosinfo, libreport)
# io (alacarte, gtk+2, gnome, iso-codes)
# jam (iso-codes)
-# jv (avant-window-navigator, gmpc, kdesudo, mate)
-# kab (FileZilla, iso-codes)
+# jv (avant-window-navigator, gmpc, kdesudo, mate, cinnamon)
# ki (iso-codes)
# kok@latin (inkscape)
# kmr (vlc)
+# ksw (cinnamon)
# ku_IQ (mate)
# kv (iso-codes)
# kw@kkcor, kw@uccor (libosinfo - currently empty) - add as supported variants when non-empty?
# mus (bluez-gnome)
# na (iso-codes)
# nah (iso-codes, mate)
+# nap (cinnamon)
# nqo (mate)
# nv (iso-codes)
# pi (iso-codes)
# pms (deluge, mate-tweak)
+# 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)
-# tpi (mate-tweak)
# tw (libosinfo)
# vec (mate-applet-indicator)
# wba (libosinfo)
# fy=fy_NL
# gez=gez_ET (?)
# 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
# nds=nds_DE
# nl=nl_NL
# om=om_ET
# 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)
# 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 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 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 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 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 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 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 sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw 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)
# 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
%lang(es) %{_mandir}/es/man7/utf8.7*
%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*
%lang(fr) %{_mandir}/fr/man7/utf-8.7*
%lang(fr) %{_mandir}/fr/man7/utf8.7*
+%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*
%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)
%lang(ru) %{_mandir}/ru/man1/ldd.1*
%lang(tr) %{_mandir}/tr/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)
%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
+%attr(755,root,root) /%{_lib}/ld-linux-aarch64.so.1
+%endif
+%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm} aarch64
%attr(755,root,root) /%{_lib}/ld.so.1
%endif
%attr(755,root,root) /sbin/ldconfig
%{_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
# 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
%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(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)
%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)