# TODO:
+# - restore --with-pkgversion when tcl upstream fixes the #3599098 (broken platform::identify).
+# - --enable-systemtap
# - 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.
# [OLD]
# - 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)
+# min_kernel (default is 2.6.32)
%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 # build using crossgcc (without libgcc_eh)
#
-%{!?min_kernel:%global min_kernel 2.6.12}
+%{!?min_kernel:%global min_kernel 2.6.32}
%ifarch sparc64
%undefine with_memusage
%endif
-%define ports_version 2.14.1
-%define llh_version 7:2.6.20.4-1
+%define core_version 2.20
+%define llh_version 7:2.6.32.1-1
Summary: GNU libc
Summary(de.UTF-8): GNU libc
Summary(tr.UTF-8): GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
-Version: 2.15
-Release: 2
+Version: %{core_version}
+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: 25e3a1f3722fbb7ac0d9dccfe4bdfefa
-Source1: http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.xz
-# Source1-md5: 3b3afcb6b99fea9e3a2474cc4778ec88
+Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
+# Source0-md5: 948a6e06419a01bd51e97206861595b0
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
#Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2
-Source5: http://qboosh.pl/man/%{name}-man-pages.tar.bz2
-# Source5-md5: f464eadf3cf06761f65639e44a179e6b
+Source5: %{name}-man-pages.tar.bz2
+# Source5-md5: 0d93d9628f35f1eae015affb11390df3
Source6: %{name}-localedb-gen
Source7: %{name}-LD-path.c
Source8: nscd.upstart
-Patch0: %{name}-restore-rpc+nis.patch
+Source9: nscd.tmpfiles
+Patch0: %{name}-git.patch
# against GNU TP (libc domain)
#Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
Patch4: %{name}-sotruss-sh.patch
Patch5: %{name}-sparc-softfp-gcc.patch
Patch6: %{name}-paths.patch
-Patch7: %{name}-no_opt_override.patch
+Patch7: 1070_all_glibc-fadvise64_64.patch
Patch8: %{name}-missing-nls.patch
-Patch9: %{name}-java-libc-wait.patch
+Patch9: %{name}-nss_include_dirs.patch
Patch10: %{name}-info.patch
-Patch11: %{name}-no_debuggable_objects.patch
-Patch12: %{name}-rh-bug-769421.patch
+Patch11: %{name}-autoconf.patch
+Patch12: %{name}-format.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
Patch18: %{name}-locale_fixes.patch
Patch19: %{name}-ZA_collate.patch
Patch20: %{name}-thread_start.patch
Patch23: %{name}-pt_pax.patch
Patch25: %{name}-cv_gnu89_inline.patch
Patch26: %{name}-posix-sh.patch
-Patch27: %{name}-i686.patch
+Patch27: %{name}-locale-C.patch.xz
+# Patch27-md5: 34ebe52a2afb923e33af0fb7c541f540
+Patch28: %{name}-locale-C-pld.patch
Patch29: %{name}-arm-alignment-fix.patch
-Patch30: %{name}-bug-12492.patch
+Patch30: glibc-rh1124987.patch
Patch31: %{name}-origin.patch
Patch32: %{name}-Os-fail-workaround.patch
-Patch33: 0020_all_glibc-tweak-rfc1918-lookup.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
-Patch40: %{name}-bad-fix.patch
-Patch42: %{name}-pr13013.patch
-# from archlinux
-Patch43: glibc-2.15-math64crash.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf
BuildRequires: gettext-devel >= 0.10.36
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
-BuildRequires: nss-devel >= 1:3.12.3
+BuildRequires: nss-devel >= 1:3.15.1-2
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpmbuild(macros) >= 1.567
BuildRequires: sed >= 4.0.5
BuildRequires: texinfo
Requires(post): ldconfig = %{epoch}:%{version}-%{release}
+Requires: filesystem
Requires: uname(release) >= %{min_kernel}
Provides: glibc(nptl)
Provides: glibc(tls)
Conflicts: poldek < 0.18.8-5
Conflicts: rc-scripts < 0.3.1-13
Conflicts: rpm < 4.1
+Conflicts: xorg-driver-video-nvidia-libs < 1:295.33
ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# avoid -s here (ld.so must not be stripped to allow any program debugging)
%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
-# avoid -D_FORTIFY_SOURCE=X
-%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+
+# disable -D_FORTIFY_SOURCE=X and -fstack-protector
+%define _fortify_cflags %{nil}
+%define _ssp_cflags %{nil}
%define specflags_sparcv9 -mcpu=ultrasparc -mvis -fcall-used-g6
%define specflags_sparc64 -mcpu=ultrasparc -mvis -fcall-used-g6
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
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
%endif
Provides: %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{ix86}
+Provides: %{name}-devel(ix86) = %{epoch}:%{version}-%{release}
+%endif
Obsoletes: libiconv-devel
%description 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}
+%ifarch %{ix86}
+Provides: %{name}-headers(ix86) = %{epoch}:%{version}-%{release}
+%endif
%if "%{_lib}" == "lib64"
Provides: %{name}-headers(64bit) = %{epoch}:%{version}-%{release}
%endif
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}
+%ifarch %{ix86}
+Provides: %{name}-devel-utils(ix86) = %{epoch}:%{version}-%{release}
+%endif
%ifarch %{x8664}
# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
# have to be installed, not ix86 one.
Summary(pl.UTF-8): Dokumentacja do tworzenia programów przy użyciu standardowych bibliotek C
Group: Documentation
Provides: %{name}-devel-doc(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{ix86}
+Provides: %{name}-devel-doc(ix86) = %{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: rc-scripts >= 0.4.3.0
Provides: group(nscd)
Provides: user(nscd)
+Obsoletes: gnscd
+Obsoletes: unscd
%description -n nscd
nscd caches name service lookups; it can dramatically improve
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Provides: %{name}-static(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{ix86}
+Provides: %{name}-static(ix86) = %{epoch}:%{version}-%{release}
+%endif
Obsoletes: libiconv-static
%description static
Narzędzie do profilowania zużycia pamięci.
%prep
-%setup -q -a1
-mv %{name}-ports-%{ports_version} ports
-%patch0 -p1
+%setup -q
+
+%if "%{min_kernel}" < "2.6.32"
+echo "Minimal supported kernel is 2.6.32" >&2
+exit 1
+%endif
+%patch0 -p1
%patch2 -p1
%patch3 -p0
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
+%patch9 -p0
+
%patch10 -p1
%patch11 -p1
%patch12 -p1
+
%patch14 -p0
%patch15 -p1
%patch16 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
+%patch28 -p1
%patch29 -p1
-%patch30 -p0
+%patch30 -p1
%patch31 -p1
%patch32 -p1
-%patch33 -p1
-
-%patch35 -p1
-%patch37 -p1
%patch38 -p1
-%patch40 -p1
-
-%patch42 -p1
-%patch43 -p1
-
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
chmod +x scripts/cpp
-# i786 (aka pentium4) hack
-ln -s i686 nptl/sysdeps/i386/i786
-ln -s i686 nptl/sysdeps/unix/sysv/linux/i386/i786
-
%build
# glibc has its own way to remove PLT relocations. / H. J. Lu.
unset LD_SYMBOLIC_FUNCTIONS || :
CC="%{__cc} -m64 -mcpu=ultrasparc -mvis -fcall-used-g6"
%endif
-AddOns=nptl,libidn
+AddOns=libidn
%ifarch %{ports_arch}
AddOns=$AddOns,ports
%endif
AWK="gawk" \
../%configure \
+ --with-bugurl=http://bugs.pld-linux.org/ \
--with-binutils=$(pwd)/alt-tools \
--enable-kernel="%{min_kernel}" \
- --enable-omitfp \
--with-headers=%{_includedir} \
--with%{!?with_selinux:out}-selinux \
--with-tls \
+ --enable-obsolete-rpc \
--enable-add-ons=$AddOns \
%if "%{pld_release}" != "ti"
--enable-nss-crypt \
%{__make} \
AWK="gawk" \
+ localedir=%{_prefix}/lib/locale \
sLIBdir=%{_libdir}
cd ..
%if %{with tests}
-cd builddir
env LANGUAGE=C LC_ALL=C \
-%{__make} tests 2>&1 | awk '
-BEGIN { file = "" }
-{
- if (($0 ~ /\*\*\* \[.*\.out\] Error/) && ($0 !~ /annexc/) && (file == "")) {
- file=$0;
- gsub(/.*\[/, NIL, file);
- gsub(/\].*/, NIL, file);
- }
- print $0;
-}
-END { if (file != "") { print "ERROR OUTPUT FROM " file; system("cat " file); exit(1); } }'
-cd ..
-done
+%{__make} -j1 -C builddir tests
%endif
%if %{without cross}
%install
rm -rf $RPM_BUILD_ROOT
-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}
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,default,logrotate.d,init} \
+ $RPM_BUILD_ROOT{%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd} \
+ $RPM_BUILD_ROOT{/var/cache/ldconfig,%{systemdtmpfilesdir}}
cd builddir
env LANGUAGE=C LC_ALL=C \
%{__make} install \
install_root=$RPM_BUILD_ROOT \
+ localedir=%{_prefix}/lib/locale \
infodir=%{_infodir} \
mandir=%{_mandir}
%if %{with localedb}
env LANGUAGE=C LC_ALL=C \
%{__make} localedata/install-locales \
+ localedir=%{_prefix}/lib/locale \
install_root=$RPM_BUILD_ROOT
+%else
+install -d $RPM_BUILD_ROOT%{_prefix}/lib/locale
%endif
PICFILES="libc_pic.a libc.map
install -p elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
# Include %{_libdir}/gconv/gconv-modules.cache
-LD_PRELOAD=$(pwd)/libc.so.6 ./iconv/iconvconfig --nostdlib --prefix=$RPM_BUILD_ROOT %{_libdir}/gconv -o $RPM_BUILD_ROOT%{_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
cd ..
%if %{without cross}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo
-ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}/libbsd.a
-
# make symlinks across top-level directories absolute
for l in BrokenLocale anl cidn crypt dl m nsl resolv rt thread_db util; do
test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1
: > $RPM_BUILD_ROOT/var/lib/nscd/group
: > $RPM_BUILD_ROOT/var/lib/nscd/hosts
+install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf
+
rm -rf documentation
install -d documentation
-for f in ANNOUNCE ChangeLog DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kernel,-testing}; do
+for f in ChangeLog.old DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kernel,-testing}; do
cp -af nptl/$f documentation/$f.nptl
done
cp -af crypt/README.ufc-crypt ChangeLog* documentation
# Collect locale files and mark them with %%lang()
echo '%defattr(644,root,root,755)' > glibc.lang
-for i in $RPM_BUILD_ROOT%{_datadir}/locale/*; do
+for i in $RPM_BUILD_ROOT%{_localedir}/*; do
if [ -d $i ]; then
lang=$(basename $i)
dir="${i#$RPM_BUILD_ROOT}"
# en@shaw - English with Shavian alphabet (gnome)
# la - Latin
# tlh - Klingon (bzflag)
-# and variants:
-# sr@ije (use LANGUAGE=sr_ME@ije/sr_RS@ije) (gnome)
#
# To be added when they become supported by glibc:
-# az_IR (gtk+2)
+# ach (vlc)
+# ak (gtkspell3)
# bal (newt,pessulus)
-# bem (alacarte)
+# cgg (vlc)
# co (vlc)
-# fil (stellarium)
# frp (xfce, lxlauncher)
# gn (gn_BR in gnome, maybe gn_PY)
# haw (iso-codes, stellarium)
# ilo (kudzu)
# io (gtk+2, gnome, alacarte)
# jv (gmpc, avant-window-navigator, kdesudo)
-# kok (iso-codes)
-# lb (geany,miro,deluge)
+# kmr (vlc)
# man (ccsm; incorrectly named md)
-# mhr (pidgin)
# mus (bluez-gnome)
+# nah (mate-system-monitor)
# pms (deluge)
# sco (gnomad2, picard, stellarium)
+# son (gtkspell3)
# swg (sim)
# syr (iso-codes)
# tet (vlc)
+# vec (mate-applet-indicator)
#
# To be removed (after fixing packages still using it):
# sr@Latn (use sr@latin instead)
-#
-# To be clarified:
-# sr@ije or sr@ijekavian? (currently sr@ije is supported)
-# sr@ijelatin or sr@ijekavianlatin? (currently not supported)
-# sr@ijekavian and sr@ijekavianlatin exist in: akonadi-googledata, amarok, k3b, konversation, ktorrent, wesnoth
+# sr@ije (use sr@ijekavian instead)
#
# 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)
+# az=az_AZ
# bn=bn_BD
+# bo=bo_CN? (or common for CN, IN?)
# ca=ca_ES
# ckb=ckb_IQ
+# cv=cv_RU
# 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
+# fa=fa_IR
+# ff=ff_SN
# fr=fr_FR
# fy=fy_NL
# gez=gez_ET (?)
# nds=nds_DE
# nl=nl_NL
# om=om_ET
+# or=or_IN
# pa=pa_IN
# pt=pt_PT
# ru=ru_RU
+# sd=sd_IN
# so=so_SO
# sr=sr_RS [cyrillic]
+# sr@latin=sr_RS@latin
+# sr@ijekavian=sr_BA@ijekavian
+# sr@ijekavianlatin=sr_BA@ijekavianlatin
# sv=sv_SE
# sw=sw_TZ (or common for KE, TZ, UG?)
+# ta=ta_IN
+# te=te_IN
# ti=ti_ER (?)
# tr=tr_TR
# ur=ur_PK (?)
# 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@latin be@tarask \
- bg bn bn_IN br bs byn ca@valencia ckb 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 az_IR be@latin be@tarask bem \
+ bg bn bn_IN bo br bs byn ca@valencia ckb cmn crh csb cv 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 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 \
- ur uz uz@cyrillic ve vi wa wal wo xh yi yo zh_HK zu; do
- if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES ]; then
- install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES
+ 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 mr ms mt my nds ne nl_BE nn nr nso \
+ oc om or pa pap ps pt ps rm ro sa sc sd se si sid sl so sq sr sr@Latn 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
+ 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)
lang=$(echo $i | sed -e 's/@quot\>\|@boldquot\>//')
- echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
+ echo "%lang($lang) %{_localedir}/$i" >> glibc.lang
fi
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 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 hr hu ia 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
+ if [ ! -d $RPM_BUILD_ROOT%{_localedir}/$i ]; then
+ echo "%lang($lang) %{_localedir}/$i" >> glibc.lang
fi
- install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_TIME
+ install -d $RPM_BUILD_ROOT%{_localedir}/$i/LC_TIME
done
# localedb-gen infrastructure
-sed -e 's,@localedir@,%{_libdir}/locale,' %{SOURCE6} > $RPM_BUILD_ROOT%{_bindir}/localedb-gen
+sed -e 's,@localedir@,%{_prefix}/lib/locale,' %{SOURCE6} > $RPM_BUILD_ROOT%{_bindir}/localedb-gen
chmod +x $RPM_BUILD_ROOT%{_bindir}/localedb-gen
install localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n
# shutup check-files
%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
-# we don't support kernel without ptys support
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/pt_chown
# rpcinfo dropped from glibc, provided by rpcbind now
%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man8/rpcinfo.8
+# stub for man page from man-pages package to make rpm consistency check happy
+# 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
+
+# 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}/it/man7/latin2.7
+
%clean
rm -rf $RPM_BUILD_ROOT
%service -q crond restart
fi
+%ifarch %{x8664}
+# when upgrading from glibc < 6:2.19-3 copy locale-archive
+# from /usr/lib64/locale to /usr/lib/locale
+# but only if the latter doesn't already exist
+%triggerpostun -p /sbin/postshell -- %{name} < 6:2.19-3
+-/bin/cp -an %{_libdir}/locale/locale-archive %{_prefix}/lib/locale/locale-archive
+%endif
+
%post libcrypt -p /sbin/ldconfig
%postun libcrypt -p /sbin/ldconfig
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README NEWS FAQ BUGS
+%doc README NEWS BUGS CONFORMANCE
%if %{without cross}
%attr(755,root,root) /sbin/glibc-postinst
%endif
# TODO: package ldconfig symlinks as %ghost
-%attr(755,root,root) /%{_lib}/ld-%{version}.so
+%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
%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} ppc64 s390x %{arm}
%attr(755,root,root) /%{_lib}/ld.so.1
%endif
-%attr(755,root,root) /%{_lib}/libBrokenLocale-%{version}.so
+%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libanl-%{core_version}.so
%attr(755,root,root) /%{_lib}/libanl.so.1
-%attr(755,root,root) /%{_lib}/libc-%{version}.so
+%attr(755,root,root) /%{_lib}/libc-%{core_version}.so
%ifarch alpha ia64
%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libcidn-%{core_version}.so
%attr(755,root,root) /%{_lib}/libcidn.so.1
-%attr(755,root,root) /%{_lib}/libdl-%{version}.so
+%attr(755,root,root) /%{_lib}/libdl-%{core_version}.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-%{version}.so
+%attr(755,root,root) /%{_lib}/libm-%{core_version}.so
%ifarch alpha ia64
%attr(755,root,root) /%{_lib}/libm.so.6.1
%else
%attr(755,root,root) /%{_lib}/libm.so.6
%endif
-%attr(755,root,root) /%{_lib}/libnsl-%{version}.so
+%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libpthread-%{core_version}.so
%attr(755,root,root) /%{_lib}/libpthread.so.0
-%attr(755,root,root) /%{_lib}/libresolv-%{version}.so
+%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-%{version}.so
+%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libutil-%{core_version}.so
%ifarch alpha
%attr(755,root,root) /%{_lib}/libutil.so.1.1
%else
%attr(755,root,root) /%{_lib}/libutil.so.1
%endif
-%{?with_localedb:%dir %{_libdir}/locale}
+%dir %{_prefix}/lib/locale
#%files -n nss_db
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/makedb
-%attr(755,root,root) /%{_lib}/libnss_db-%{version}.so
+%attr(755,root,root) /%{_lib}/libnss_db-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_db.so.2
-%dir %{_var}/db
%{_var}/db/Makefile
#%files -n nss_dns
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_dns-%{version}.so
+%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libnss_files-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_files.so.2
%defattr(644,root,root,755)
%dir %{_libexecdir}/getconf
%attr(755,root,root) %{_libexecdir}/getconf/*
-%dir %{_datadir}/locale
-%{_datadir}/locale/locale.alias
+%dir %{_localedir}
+%{_localedir}/locale.alias
%{_mandir}/man1/getconf.1*
%{_mandir}/man1/getent.1*
%files libcrypt
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libcrypt-%{version}.so
+%attr(755,root,root) /%{_lib}/libcrypt-%{core_version}.so
%ifarch alpha
%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1.1
%else
%files -n nss_compat
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_compat-%{version}.so
+%attr(755,root,root) /%{_lib}/libnss_compat-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_compat.so.2
%files -n nss_hesiod
%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libnss_hesiod-%{version}.so
+%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-%{version}.so
+%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-%{version}.so
+%attr(755,root,root) /%{_lib}/libnss_nisplus-%{core_version}.so
%attr(755,root,root) /%{_lib}/libnss_nisplus.so.2
%if %{with memusage}
%{_libdir}/libc.so
%{_libdir}/libpthread.so
# static-only libs
-%{_libdir}/libbsd-compat.a
-%{_libdir}/libbsd.a
%{_libdir}/libc_nonshared.a
%{_libdir}/libg.a
%{_libdir}/libieee.a
%files devel-doc
%defattr(644,root,root,755)
-%doc documentation/* NOTES PROJECTS
+%doc documentation/* PROJECTS
%{_infodir}/libc.info*
%{_mandir}/man1/sprof.1*
%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
+%{systemdtmpfilesdir}/nscd.conf
%dir /var/run/nscd
%dir /var/lib/nscd
%attr(600,root,root) %ghost /var/lib/nscd/passwd
%if %{with localedb}
%files localedb-all
%defattr(644,root,root,755)
-%{_libdir}/locale/locale-archive
+%{_prefix}/lib/locale/locale-archive
%endif
%files -n iconv