# TODO:
# - look at locale fixes/updates in bugzilla
# - no more chicken-egg problem (postshell is no more dynamically linked with libc), remove SONAME symlinks? see files section.
-# - package libdir/audit/sotruss-lib.so (subpackage?)
# [OLD]
# - localedb-gen man pages(?)
-# - math/{test-fenv,test-tgmath,test-float,test-ifloat},
-# debug/backtrace-tst(SEGV) fail on alpha
+# - math/{test-fenv,test-tgmath,test-float,test-ifloat}, debug/backtrace-tst(SEGV) fail on alpha
#
# Conditional build:
# min_kernel (default is 2.6.12)
%undefine with_memusage
%endif
-%define ports_version 2.12.1
+%define ports_version 2.14.1
%define llh_version 7:2.6.20.4-1
Summary: GNU libc
Summary(tr.UTF-8): GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
-Version: 2.14
-Release: 1
+Version: 2.14.1
+Release: 4
Epoch: 6
License: LGPL v2.1+
Group: Libraries
-#Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-Source0: %{name}-%{version}.tar.bz2
-# Source0-md5: fab30e34209f6ea65adf173597887a7a
-Source1: http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.bz2
-# Source1-md5: cb01ab976180e98287cef5079e35359e
+Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
+# Source0-md5: 55501b8d037a4f1d330312b30fd6d4bc
+Source1: http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.xz
+# Source1-md5: 3b3afcb6b99fea9e3a2474cc4778ec88
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
# Source5-md5: f464eadf3cf06761f65639e44a179e6b
Source6: %{name}-localedb-gen
Source7: %{name}-LD-path.c
+Source8: nscd.upstart
+Patch0: %{name}-restore-rpc+nis.patch
Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
Patch3: %{name}-crypt-blowfish.patch
+Patch4: %{name}-sotruss-sh.patch
Patch5: %{name}-sparc-softfp-gcc.patch
Patch6: %{name}-paths.patch
Patch7: %{name}-no_opt_override.patch
Patch21: %{name}-cross-gcc_eh.patch
Patch22: %{name}-with-stroke.patch
Patch23: %{name}-pt_pax.patch
-Patch24: %{name}-typos.patch
Patch25: %{name}-cv_gnu89_inline.patch
Patch26: %{name}-posix-sh.patch
Patch27: %{name}-i686.patch
Patch35: 0055_all_glibc-2.12-static-shared-getpagesize.patch
Patch37: 0061_all_glibc-2.13-static-memset.patch
Patch38: 1055_all_glibc-resolv-dynamic.patch
+Patch39: %{name}-git.patch
+Patch40: %{name}-bad-fix.patch
+Patch41: %{name}-pr12892.patch
+Patch42: %{name}-pr13013.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf
Summary(uk.UTF-8): Додаткові бібліотеки, потрібні для компіляції
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: %{name}-libcrypt(%{_target_cpu}) = %{epoch}:%{version}-%{release}
Requires: %{name}-devel-utils = %{epoch}:%{version}-%{release}
+Requires: %{name}-libcrypt(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%if "%{_lib}" == "lib64"
+Requires: %{name}-headers(64bit) = %{epoch}:%{version}-%{release}
+%else
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
+%endif
Provides: %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
Obsoletes: libiconv-devel
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}
+%if "%{_lib}" == "lib64"
+Provides: %{name}-headers(64bit) = %{epoch}:%{version}-%{release}
+%endif
%ifarch %{x8664}
# If both -m32 and -m64 is to be supported on x86_64, x86_64 package
# have to be installed, not ix86 one.
Requires(pre): /usr/sbin/useradd
Requires: %{name} = %{epoch}:%{version}-%{release}
%{?with_selinux:Requires: libselinux >= 1.18}
-Requires: rc-scripts >= 0.2.0
+Requires: rc-scripts >= 0.4.3.0
Provides: group(nscd)
Provides: user(nscd)
Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS+.
%package memusage
-Summary: A toy
-Summary(es.UTF-8): Un juguete
-Summary(pl.UTF-8): Zabawka
-Group: Applications
+Summary: Memory usage profiler
+Summary(pl.UTF-8): Narzędzie do profilowania zużycia pamięci
+Group: Development/Tools
Requires: %{name} = %{epoch}:%{version}-%{release}
%description memusage
-A toy.
-
-%description memusage -l es.UTF-8
-Un juguete.
+Memory usage profiler.
%description memusage -l pl.UTF-8
-Zabawka.
+Narzędzie do profilowania zużycia pamięci.
%prep
%setup -q -a1
mv %{name}-ports-%{ports_version} ports
-#%patch1 -p1
+%patch0 -p1
+%patch1 -p1
%patch2 -p1
%patch3 -p0
+%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%{?with_cross:%patch21 -p1}
%patch22 -p1
%patch23 -p0
-%patch24 -p1
+
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch37 -p1
%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%if "%{pld_release}" != "ti"
--enable-nss-crypt \
%endif
+ --enable-experimental-malloc \
--enable-stackguard-randomization \
--enable-hidden-plt \
--enable-bind-now \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{default,logrotate.d,rc.d/init.d,sysconfig},%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd,/var/cache/ldconfig}
+install -d $RPM_BUILD_ROOT{/etc/{default,logrotate.d,rc.d/init.d,sysconfig,init},%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd,/var/cache/ldconfig}
cd builddir
env LANGUAGE=C LC_ALL=C \
rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
+cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/init/nscd.conf
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}
# az_IR (gtk+2)
# bal (newt,pessulus)
# bem (alacarte)
-# ckb [or ku_IQ/ku_IR] (vlc,miro)
# co (vlc)
# fil (stellarium)
-# frp (xfce)
+# frp (xfce, lxlauncher)
# gn (gn_BR in gnome, maybe gn_PY)
# haw (iso-codes, stellarium)
# hrx (stellarium)
# ilo (kudzu)
# io (gtk+2, gnome, alacarte)
# jv (gmpc, avant-window-navigator, kdesudo)
-# kg (gtk+3, gnome)
# kok (iso-codes)
-# lb (geany,miro)
+# lb (geany,miro,deluge)
# man (ccsm; incorrectly named md)
# mhr (pidgin)
# mus (bluez-gnome)
# sr@ijelatin or sr@ijekavianlatin? (currently not supported)
# sr@ijekavian and sr@ijekavianlatin exist in: akonadi-googledata, amarok, k3b, konversation, ktorrent, wesnoth
#
-# bn is used for bn_BD or bn_IN? Assume bn_IN as nothing for bn_BD appeared
-# till now.
+# Short forms (omitted country code, used instead of long form) for ambiguous or unclear cases:
+# aa=aa_ER
+# ar=common? (AE, BH, DZ, EG, IQ, JO, KW, LB, LY, MA, OM, QA, SA, SD, SY, TN, YE)
+# bn=bn_BD
+# ca=ca_ES
+# ckb=ckb_IQ
+# de=de_DE
+# en=common? (en_AU, en_CA, en_GB, en_NZ, en_US are used for particular variants)
+# eo=common
+# es=es_ES
+# eu=eu_ES
+# fr=fr_FR
+# fy=fy_NL
+# gez=gez_ET (?)
+# it=it_IT
+# li=li_NL
+# nds=nds_DE
+# nl=nl_NL
+# om=om_ET
+# pa=pa_IN
+# pt=pt_PT
+# ru=ru_RU
+# so=so_SO
+# sr=sr_RS [cyrillic]
+# sv=sv_SE
+# sw=sw_TZ (or common for KE, TZ, UG?)
+# ti=ti_ER (?)
+# tr=tr_TR
+# ur=ur_PK (?)
+# zh: no short code used (use zh_CN, zh_HK, zh_SG[not included yet], zh_TW)
#
# Omitted here - already existing (with libc.mo):
# 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 am an ang ar ar_TN as ast az be@alternative be@latin \
- bg bn bn_IN br bs byn ca@valencia crh csb cy de_AT de_CH dv dz en \
+for i in aa aa@saaho af am an ang ar ar_TN as ast az be@latin be@tarask \
+ bg bn bn_IN br bs byn ca@valencia ckb crh csb cy de_AT de_CH 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 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 kk kl km kn ks ku kw ky la \
+ hi hne hsb hy ia id ig ik is it_CH iu ka kg kk kl km kn ks ku kw ky la \
lg li lo lt lv mai mg mi mk ml mn mr ms mt my nds ne nl_BE nn nr nso \
oc om or pa pap ps pt ps rm ro sa sc se si sid sl so sq sr sr@Latn tl \
sr@ije sr@latin ss st sw ta te tg th ti tig tk tl tlh tn ts tt ug uk \
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 es et eu fi fr ga gl hu id it ja kk ko lg lt \
+for i in af be bg ca cs da de el en eo es et eu fi fr ga gl hu id it ja kk ko lg lt \
ms nb nl pl pt pt_BR ro ru rw sk sl sv tr uk vi zh_CN zh_TW; do
if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i ]; then
echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
install localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n
# shutup check-files
-rm -f $RPM_BUILD_ROOT%{_mandir}/README.*
-rm -f $RPM_BUILD_ROOT%{_mandir}/diff.*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# we don't support kernel without ptys support
-rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown
-# rpcbind
-rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/rpcinfo.8
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpcinfo.8
-rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/pt_chown
+# rpcinfo dropped from glibc, provided by rpcbind now
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man8/rpcinfo.8
%clean
rm -rf $RPM_BUILD_ROOT
%endif
%attr(755,root,root) %{_bindir}/locale
%attr(755,root,root) %{_bindir}/rpcgen
-%attr(755,root,root) %{_bindir}/sotruss
%attr(755,root,root) %{_sbindir}/zdump
%attr(755,root,root) %{_sbindir}/zic
%{_mandir}/man5/locale.5*
%{_mandir}/man5/nsswitch.conf.5*
%{_mandir}/man5/tzfile.5*
-%{_mandir}/man7/*
+%{_mandir}/man7/ascii.7*
+%{_mandir}/man7/charsets.7*
+%{_mandir}/man7/iso-8859-*.7*
+%{_mandir}/man7/iso_8859-*.7*
+%{_mandir}/man7/iso_8859_*.7*
+%{_mandir}/man7/koi8-r.7*
+%{_mandir}/man7/latin*.7*
+%{_mandir}/man7/locale.7*
+%{_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*
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/catchsegv
%attr(755,root,root) %{_bindir}/ldd
+%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*
%lang(es) %{_mandir}/es/man1/ldd.1*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/nscd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nscd.*
%attr(754,root,root) /etc/rc.d/init.d/nscd
+%config(noreplace) %verify(not md5 mtime size) /etc/init/nscd.conf
%attr(755,root,root) %{_sbindir}/nscd*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/nscd
%attr(640,root,root) %ghost /var/log/nscd