+# 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]
+# - localedb-gen man pages(?)
+# - 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.16)
%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)
#
-# 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.
-# [OLD]
-# - localedb-gen man pages(?)
-# - math/{test-fenv,test-tgmath,test-float,test-ifloat},
-# debug/backtrace-tst(SEGV) fail on alpha
-%{!?min_kernel:%global min_kernel 2.6.12}
+%{!?min_kernel:%global min_kernel 2.6.16}
%ifarch sparc64
%undefine with_memusage
%endif
+%define core_version 2.18
%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.9
-Release: 2
+Version: %{core_version}
+Release: 1
Epoch: 6
License: LGPL v2.1+
Group: Libraries
-# Source0: ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
-Source0: %{name}-%{version}.tar.bz2
-# Source0-md5: 0c99247cbfd085f0b2e408e1f32ad30d
-# Source1: ftp://sources.redhat.com/pub/glibc/releases/%{name}-libidn-%{version}.tar.bz2
-Source1: %{name}-libidn-%{version}.tar.bz2
-# Source1-md5: 9b69076a39117df1ff22fa209bb4768c
+Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
+# Source0-md5: 88fbbceafee809e82efd52efa1e3c58f
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
# Source5-md5: f464eadf3cf06761f65639e44a179e6b
Source6: %{name}-localedb-gen
Source7: %{name}-LD-path.c
-Patch1: %{name}-pl.po-update.patch
+Source8: nscd.upstart
+Source9: nscd.tmpfiles
+# against GNU TP (libc domain)
+#Patch1: %{name}-pl.po-update.patch
Patch2: %{name}-pld.patch
Patch3: %{name}-crypt-blowfish.patch
-Patch4: %{name}-alpha-ev6-opcodes.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
Patch10: %{name}-info.patch
-Patch11: %{name}-no_debuggable_objects.patch
-Patch12: %{name}-2.7-alpha_PTR_MANGLE_move-1.patch
-Patch13: %{name}-load-reg.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
Patch21: %{name}-cross-gcc_eh.patch
Patch22: %{name}-with-stroke.patch
Patch23: %{name}-pt_pax.patch
-Patch24: %{name}-fixes.patch
Patch25: %{name}-cv_gnu89_inline.patch
-Patch26: %{name}-sed.patch
+Patch26: %{name}-posix-sh.patch
+
+Patch29: %{name}-arm-alignment-fix.patch
+
+Patch31: %{name}-origin.patch
+Patch32: %{name}-Os-fail-workaround.patch
+
+Patch38: 1055_all_glibc-resolv-dynamic.patch
URL: http://www.gnu.org/software/libc/
%{?with_selinux:BuildRequires: audit-libs-devel}
BuildRequires: autoconf
%else
BuildRequires: binutils >= 2:2.15.90.0.3
%endif
-AutoReq: false
%{!?with_cross:BuildRequires: dietlibc-static}
BuildRequires: gawk
-BuildRequires: gcc >= 5:3.4
+BuildRequires: gcc >= 6:4.3
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-devel >= 0.10.36
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
+BuildRequires: nss-devel >= 1:3.15.1-2
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.3-0.20030610.28
-BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.413
+BuildRequires: rpmbuild(macros) >= 1.567
BuildRequires: sed >= 4.0.5
BuildRequires: texinfo
Requires(post): ldconfig = %{epoch}:%{version}-%{release}
-Requires: %{name}-misc = %{epoch}:%{version}-%{release}
-Requires: basesystem
+Requires: filesystem
Requires: uname(release) >= %{min_kernel}
Provides: glibc(nptl)
Provides: glibc(tls)
Provides: glibc64
Obsoletes: glibc64
%endif
+Suggests: localedb
+Suggests: tzdata
+Conflicts: %{name}-misc < %{epoch}:%{version}-%{release}
Conflicts: SysVinit < 2.86-11
Conflicts: kernel < %{min_kernel}
Conflicts: kernel24
Conflicts: poldek < 0.18.8-5
Conflicts: rc-scripts < 0.3.1-13
Conflicts: rpm < 4.1
-ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64
+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
# ld.so needs not to be stripped to work
%{expand:%%define __cc %{__cc} -m32}
%endif
+# Architectures supported in glibc-ports
+%define ports_arch alpha %{arm}
+
# Xen-friendly glibc
%define specflags_ia32 -mno-tls-direct-seg-refs
-%define specflags_x86_64 -mno-tls-direct-seg-refs
-%define specflags_amd64 -mno-tls-direct-seg-refs
+%define specflags_x86_64 -mno-tls-direct-seg-refs -fasynchronous-unwind-tables
+%define specflags_amd64 -mno-tls-direct-seg-refs -fasynchronous-unwind-tables
%define specflags_ia32e -mno-tls-direct-seg-refs
# we don't want perl dependency in glibc-devel
Summary: Utilities and data used by glibc
Summary(pl.UTF-8): Narzędzia i dane używane przez glibc
Group: Applications/System
-AutoReq: false
Requires: %{name} = %{epoch}:%{version}-%{release}
-Suggests: localedb
-Suggests: tzdata
%description misc
Utilities and data used by glibc.
%description misc -l pl.UTF-8
Narzędzia i dane używane przez glibc.
+%package libcrypt
+Summary: glibc library for crypt(3)
+Summary(pl.UTF-8): Biblioteka glibc z funkcją crypt(3)
+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
+glibc library for crypt(3).
+
+%description libcrypt -l pl.UTF-8
+Biblioteka glibc z funkcją crypt(3).
+
%package -n ldconfig
Summary: Create shared library cache and maintains symlinks
Summary(de.UTF-8): Erstellt ein shared library cache und verwaltet symlinks
# This is needed because previous package (glibc) had autoreq false and had
# provided this manually. Probably poldek bug that have to have it here.
Provides: /sbin/ldconfig
+# we want FHS being installed before ldconfig, altho they are both unrelated to each-other.
+Requires: FHS
%description -n ldconfig
ldconfig scans a running system and sets up the symbolic links that
utilisant les bibliothčques partagées.
%description -n ldconfig -l pl.UTF-8
-ldconfig testuje uruchominy system i tworzy dowiązania symboliczne,
+ldconfig testuje uruchomiony system i tworzy dowiązania symboliczne,
które są następnie używane do poprawnego ładowania bibliotek
dynamicznych. Program ten tworzy plik /etc/ld.so.cache, który
przyśpiesza ładowanie programów korzystających z bibliotek
Group: Development/Libraries
Requires: %{name} = %{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}
+%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
%ifarch %{x8664}
# If both -m32 and -m64 is to be supported on x86_64, x86_64 package
# have to be installed, not ix86 one.
-Obsoletes: %{name}-headers(i386)
-Obsoletes: %{name}-headers(i486)
-Obsoletes: %{name}-headers(i586)
-Obsoletes: %{name}-headers(i686)
-Obsoletes: %{name}-headers(athlon)
-Obsoletes: %{name}-headers(pentium3)
-Obsoletes: %{name}-headers(pentium4)
+Obsoletes: glibc-headers(athlon)
+Obsoletes: glibc-headers(i386)
+Obsoletes: glibc-headers(i486)
+Obsoletes: glibc-headers(i586)
+Obsoletes: glibc-headers(i686)
+Obsoletes: glibc-headers(pentium3)
+Obsoletes: glibc-headers(pentium4)
%endif
%ifarch ppc64
-Obsoletes: %{name}-headers(ppc)
+Obsoletes: glibc-headers(ppc)
%endif
%ifarch s390x
-Obsoletes: %{name}-headers(s390)
+Obsoletes: glibc-headers(s390)
%endif
%ifarch sparc64
-Obsoletes: %{name}-headers(sparc)
+Obsoletes: glibc-headers(sparc)
%endif
Requires: linux-libc-headers >= %{llh_version}
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.
-Obsoletes: %{name}-devel-utils(i386)
-Obsoletes: %{name}-devel-utils(i486)
-Obsoletes: %{name}-devel-utils(i586)
-Obsoletes: %{name}-devel-utils(i686)
-Obsoletes: %{name}-devel-utils(athlon)
-Obsoletes: %{name}-devel-utils(pentium3)
-Obsoletes: %{name}-devel-utils(pentium4)
+Obsoletes: glibc-devel-utils(athlon)
+Obsoletes: glibc-devel-utils(i386)
+Obsoletes: glibc-devel-utils(i486)
+Obsoletes: glibc-devel-utils(i586)
+Obsoletes: glibc-devel-utils(i686)
+Obsoletes: glibc-devel-utils(pentium3)
+Obsoletes: glibc-devel-utils(pentium4)
%endif
%ifarch ppc64
-Obsoletes: %{name}-devel-utils(ppc)
+Obsoletes: glibc-devel-utils(ppc)
%endif
%ifarch s390x
-Obsoletes: %{name}-devel-utils(s390)
+Obsoletes: glibc-devel-utils(s390)
%endif
%ifarch sparc64
-Obsoletes: %{name}-devel-utils(sparc)
+Obsoletes: glibc-devel-utils(sparc)
%endif
%description devel-utils
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.
-Obsoletes: %{name}-devel-doc(i386)
-Obsoletes: %{name}-devel-doc(i486)
-Obsoletes: %{name}-devel-doc(i586)
-Obsoletes: %{name}-devel-doc(i686)
-Obsoletes: %{name}-devel-doc(athlon)
-Obsoletes: %{name}-devel-doc(pentium3)
-Obsoletes: %{name}-devel-doc(pentium4)
+Obsoletes: glibc-devel-doc(athlon)
+Obsoletes: glibc-devel-doc(i386)
+Obsoletes: glibc-devel-doc(i486)
+Obsoletes: glibc-devel-doc(i586)
+Obsoletes: glibc-devel-doc(i686)
+Obsoletes: glibc-devel-doc(pentium3)
+Obsoletes: glibc-devel-doc(pentium4)
%endif
%ifarch ppc64
-Obsoletes: %{name}-devel-doc(ppc)
+Obsoletes: glibc-devel-doc(ppc)
%endif
%ifarch s390x
-Obsoletes: %{name}-devel-doc(s390)
+Obsoletes: glibc-devel-doc(s390)
%endif
%ifarch sparc64
-Obsoletes: %{name}-devel-doc(sparc)
+Obsoletes: glibc-devel-doc(sparc)
%endif
%description devel-doc
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)
Summary(pl.UTF-8): Moduły do konwersji plików tekstowych z jednego kodowania do innego
Group: Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
+Provides: iconv(%{_target_base_arch})
%description -n iconv
Convert encoding of given files from one encoding to another. You need
kodowania danych z poziomu dowolnego programu.
%package static
-Summary: Static libraries
+Summary: Static GNU libc libraries
Summary(es.UTF-8): Bibliotecas estáticas
-Summary(pl.UTF-8): Biblioteki statyczne
+Summary(pl.UTF-8): Biblioteki statyczne GNU libc
Summary(ru.UTF-8): Статические библиотеки glibc
Summary(uk.UTF-8): Статичні бібліотеки glibc
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
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
-ln -s glibc-libidn-%{version} libidn
-%patch1 -p1
+%setup -q
+
+%if "%{min_kernel}" < "2.6.16"
+echo "Minimal supported kernel is 2.6.16" >&2
+exit 1
+%endif
+
%patch2 -p1
-%patch3 -p1
+%patch3 -p0
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
+
%patch14 -p0
%patch15 -p1
%patch16 -p1
%{?with_cross:%patch21 -p1}
%patch22 -p1
%patch23 -p0
-%patch24 -p1
+
%patch25 -p1
%patch26 -p1
-# these would be copied to localedb-src
-rm -f localedata/locales/*{.orig,~}
+%patch29 -p1
+
+%patch31 -p1
+%patch32 -p1
+
+%patch38 -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
-cd nptl/sysdeps/i386 && ln -s i686 i786 && cd -
-cd nptl/sysdeps/unix/sysv/linux/i386 && ln -s i686 i786 && cd -
-
-# A lot of programs still misuse memcpy when they have to use
-# memmove. The memcpy implementation below is not tolerant at
-# all.
-rm sysdeps/alpha/alphaev6/memcpy.S
+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.
%ifarch sparc64
CC="%{__cc} -m64 -mcpu=ultrasparc -mvis -fcall-used-g6"
%endif
+
+AddOns=nptl,libidn
+%ifarch %{ports_arch}
+AddOns=$AddOns,ports
+%endif
+
+# force ld bfd (instead of gold)
+install -d alt-tools
+ln -sf %{_bindir}/ld.bfd alt-tools/ld
+PATH=$(pwd)/alt-tools:$PATH; export PATH
+
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-add-ons=nptl,libidn \
+ --enable-obsolete-rpc \
+ --enable-add-ons=$AddOns \
+%if "%{pld_release}" != "ti"
+ --enable-nss-crypt \
+%endif
+ --enable-experimental-malloc \
--enable-stackguard-randomization \
--enable-hidden-plt \
--enable-bind-now \
cd ..
%if %{with tests}
-for d in builddir; do
-cd $d
+cd builddir
env LANGUAGE=C LC_ALL=C \
-%{__make} tests 2>&1 | awk '
+%{__make} -j1 tests 2>&1 | awk '
BEGIN { file = "" }
{
if (($0 ~ /\*\*\* \[.*\.out\] Error/) && ($0 !~ /annexc/) && (file == "")) {
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,rc.d/init.d,sysconfig},%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd}
+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 \
math/libm_pic.a libm.map
resolv/libresolv_pic.a"
-install $PICFILES $RPM_BUILD_ROOT%{_libdir}
-install elf/soinit.os $RPM_BUILD_ROOT%{_libdir}/soinit.o
-install elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
+install -p $PICFILES $RPM_BUILD_ROOT%{_libdir}
+install -p elf/soinit.os $RPM_BUILD_ROOT%{_libdir}/soinit.o
+install -p elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
# Include %{_libdir}/gconv/gconv-modules.cache
-./iconv/iconvconfig --nostdlib $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}
-install glibc-postinst $RPM_BUILD_ROOT/sbin
+install -p glibc-postinst $RPM_BUILD_ROOT/sbin
%endif
%{?with_memusage:mv -f $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
# linking nss modules directly is not supported
rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/nscd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/nscd
-install nscd/nscd.conf $RPM_BUILD_ROOT%{_sysconfdir}
+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}
+cp -a posix/gai.conf $RPM_BUILD_ROOT%{_sysconfdir}
+cp -a nis/nss $RPM_BUILD_ROOT/etc/default/nss
sed -e 's#\([ \t]\)db\([ \t]\)#\1#g' nss/nsswitch.conf > $RPM_BUILD_ROOT%{_sysconfdir}/nsswitch.conf
-install posix/gai.conf $RPM_BUILD_ROOT%{_sysconfdir}
bzip2 -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-> $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
+: > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
echo 'include ld.so.conf.d/*.conf' > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
+: > $RPM_BUILD_ROOT/var/cache/ldconfig/aux-cache
+
rm -f $RPM_BUILD_ROOT%{_mandir}/hu/man7/man.7
-:> $RPM_BUILD_ROOT/var/log/nscd
-:> $RPM_BUILD_ROOT/var/lib/nscd/passwd
-:> $RPM_BUILD_ROOT/var/lib/nscd/group
-:> $RPM_BUILD_ROOT/var/lib/nscd/hosts
+# doesn't fit with out tzdata concept and configure.in is stupid assuming bash
+# is first posix compatible shell making this script depend on bash.
+rm -f $RPM_BUILD_ROOT%{_bindir}/tzselect
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/tzselect.8*
+rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/tzselect.8*
+
+: > $RPM_BUILD_ROOT/var/log/nscd
+: > $RPM_BUILD_ROOT/var/lib/nscd/passwd
+: > $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
- cp -f nptl/$f documentation/$f.nptl
+ cp -af nptl/$f documentation/$f.nptl
done
-cp -f crypt/README.ufc-crypt ChangeLog* documentation
+cp -af crypt/README.ufc-crypt ChangeLog* documentation
# Collect locale files and mark them with %%lang()
-rm -f glibc.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}"
# 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)
# 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+)
-# ca@valencia (gtk+2; as ca_ES@valencia in FileZilla; locale exists in Debian)
-# co (vlc)
-# dv (iso-codes)
-# gn (gn_BR in gnome, maybe gn_PY)
-# la (deluge, others; patch needed, won't be officially supported)
-# my (gaim)
-# bal (newt)
-# haw (iso-codes)
+# ach (vlc)
+# az_IR (gtk+2)
+# 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)
+# hrx (stellarium)
# ilo (kudzu)
+# io (gtk+2, gnome, alacarte)
+# jv (gmpc, avant-window-navigator, kdesudo)
+# kmr (vlc)
# kok (iso-codes)
+# lb (geany,miro,deluge)
# man (ccsm; incorrectly named md)
+# mhr (pidgin)
# mus (bluez-gnome)
-# sco (gnomad2)
+# pms (deluge)
+# sco (gnomad2, picard, stellarium)
+# swg (sim)
# syr (iso-codes)
-# ven (kalarm)
+# tet (vlc)
#
-# bn is used for bn_BD or bn_IN? Assume bn_IN as nothing for bn_BD appeared
-# till now.
+# To be removed (after fixing packages still using it):
+# sr@Latn (use sr@latin instead)
+# 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)
+# bn=bn_BD
+# bo=bo_CN? (or common for CN, IN?)
+# 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
+# fa=fa_IR
+# ff=ff_SN
+# fr=fr_FR
+# fy=fy_NL
+# gez=gez_ET (?)
+# it=it_IT
+# li=li_NL
+# nds=nds_DE
+# nl=nl_NL
+# om=om_ET
+# or=or_IN
+# pa=pa_IN
+# pt=pt_PT
+# ru=ru_RU
+# 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 (?)
+# 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 crh csb cy de_AT de_CH dz en en@boldquot en@quot \
- 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 he hi hsb hy ia id ik is it_CH \
- iu ka kk kl km kn ks ku kw ky lg li lo lt lv mai mg mi mk ml mn mr ms mt \
- nds ne nl_BE nn nr nso oc om or pa pap ps pt rm ro sa sc se si sid sl so \
- sq sr sr@Latn 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
+for i in aa aa@saaho af am an ang ar ar_TN as ast az be@latin be@tarask \
+ bg bn bn_IN bo 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 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 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@ijekavian sr@ijekavianlatin 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%{_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
+ lang=$(echo $i | sed -e 's/@quot\>\|@boldquot\>//')
+ 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 es et eu fi fr ga gl hu it ja ko lt ms nb nl pl \
- pt pt_BR 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
+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%{_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
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
+# 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
-/bin/sed -i -e '1iinclude ld.so.conf.d/*.conf' /etc/ld.so.conf
%endif
+%triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
+# restart crond if glibc is upgraded, LP#721338
+if [ "$1" != 1 ]; then
+ %service -q crond restart
+fi
+
+%post libcrypt -p /sbin/ldconfig
+%postun libcrypt -p /sbin/ldconfig
+
%post memusage -p /sbin/ldconfig
%postun memusage -p /sbin/ldconfig
-%post -n iconv -p %{_sbindir}/iconvconfig
+%post -n localedb-src
+SUPPORTED_LOCALES=
+[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+[ -f /etc/sysconfig/localedb ] && . /etc/sysconfig/localedb
+if [ "$SUPPORTED_LOCALES" ]; then
+ localedb-gen || :
+fi
%post devel -p /sbin/postshell
-/usr/sbin/fix-info-dir -c %{_infodir}
%useradd -P nscd -u 144 -r -d /tmp -s /bin/false -c "Name Service Cache Daemon" -g nscd nscd
%post -n nscd
+if [ ! -f /var/log/nscd ]; then
+ umask 027
+ touch /var/log/nscd
+ chown root:root /var/log/nscd
+ chmod 640 /var/log/nscd
+fi
/sbin/chkconfig --add nscd
-touch /var/log/nscd
-chmod 000 /var/log/nscd
-chown root:root /var/log/nscd
-chmod 640 /var/log/nscd
-%service nscd restart "nscd daemon"
+%service nscd restart "Name Service Cache Daemon"
%preun -n nscd
if [ "$1" = "0" ]; then
%groupremove nscd
fi
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README NEWS FAQ BUGS
-%if !%{with cross}
+%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
%ifarch ppc64 s390x
%attr(755,root,root) /%{_lib}/ld64.so.1
%endif
-%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} ppc64 s390x
+%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}/libcrypt-%{version}.so
-%ifarch alpha
-%attr(755,root,root) /%{_lib}/libcrypt.so.1.1
-%else
-%attr(755,root,root) /%{_lib}/libcrypt.so.1
-%endif
-%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
%endif
%{?with_localedb:%dir %{_libdir}/locale}
+#%files -n nss_db
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/makedb
+%attr(755,root,root) /%{_lib}/libnss_db-%{core_version}.so
+%attr(755,root,root) /%{_lib}/libnss_db.so.2
+%{_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
-%files -n ldconfig
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
-%dir %{_sysconfdir}/ld.so.conf.d
-%ghost %{_sysconfdir}/ld.so.cache
-%attr(755,root,root) /sbin/ldconfig
-%{_mandir}/man8/ldconfig.8*
-%lang(es) %{_mandir}/es/man8/ldconfig.8*
-%lang(fr) %{_mandir}/fr/man8/ldconfig.8*
-%lang(hu) %{_mandir}/hu/man8/ldconfig.8*
-%lang(ja) %{_mandir}/ja/man8/ldconfig.8*
-%lang(pl) %{_mandir}/pl/man8/ldconfig.8*
-%lang(pt) %{_mandir}/pt/man8/ldconfig.8*
-%lang(ru) %{_mandir}/ru/man8/ldconfig.8*
-
-%files misc -f %{name}.lang
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nsswitch.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gai.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/nss
%config %{_sysconfdir}/rpc
%attr(755,root,root) /sbin/sln
-%attr(755,root,root) %{_bindir}/catchsegv
%attr(755,root,root) %{_bindir}/getconf
%attr(755,root,root) %{_bindir}/getent
%attr(755,root,root) %{_bindir}/iconv
-%attr(755,root,root) %{_bindir}/ldd
%ifarch %{ix86} m68k sparc sparcv9
%attr(755,root,root) %{_bindir}/lddlibc4
%endif
%attr(755,root,root) %{_bindir}/locale
%attr(755,root,root) %{_bindir}/rpcgen
-%attr(755,root,root) %{_bindir}/tzselect
-
%attr(755,root,root) %{_sbindir}/zdump
%attr(755,root,root) %{_sbindir}/zic
%dir %{_libexecdir}/getconf
%attr(755,root,root) %{_libexecdir}/getconf/*
-%dir %{_datadir}/locale
-%{_datadir}/locale/locale.alias
+%dir %{_localedir}
+%{_localedir}/locale.alias
-%{_mandir}/man1/catchsegv.1*
%{_mandir}/man1/getconf.1*
%{_mandir}/man1/getent.1*
%{_mandir}/man1/iconv.1*
-%{_mandir}/man1/ldd.1*
%{_mandir}/man1/locale.1*
%{_mandir}/man1/rpcgen.1*
%{_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*
%{_mandir}/man8/sln.8*
-%{_mandir}/man8/tzselect.8*
%{_mandir}/man8/zdump.8*
%{_mandir}/man8/zic.8*
%lang(cs) %{_mandir}/cs/man7/*
%lang(de) %{_mandir}/de/man5/tzfile.5*
%lang(de) %{_mandir}/de/man7/*
-%lang(es) %{_mandir}/es/man1/ldd.1*
%lang(es) %{_mandir}/es/man5/locale.5*
%lang(es) %{_mandir}/es/man5/nsswitch.conf.5*
%lang(es) %{_mandir}/es/man5/tzfile.5*
%lang(es) %{_mandir}/es/man8/ld-linux.8*
%lang(es) %{_mandir}/es/man8/ld-linux.so.8*
%lang(es) %{_mandir}/es/man8/ld.so.8*
-%lang(es) %{_mandir}/es/man8/tzselect.8*
%lang(es) %{_mandir}/es/man8/zdump.8*
%lang(es) %{_mandir}/es/man8/zic.8*
-%lang(fi) %{_mandir}/fi/man1/ldd.1*
-%lang(fr) %{_mandir}/fr/man1/ldd.1*
%lang(fr) %{_mandir}/fr/man5/locale.5*
%lang(fr) %{_mandir}/fr/man5/nsswitch.conf.5*
%lang(fr) %{_mandir}/fr/man5/tzfile.5*
%lang(fr) %{_mandir}/fr/man8/ld-linux.8*
%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8*
%lang(fr) %{_mandir}/fr/man8/ld.so.8*
-%lang(fr) %{_mandir}/fr/man8/tzselect.8*
%lang(fr) %{_mandir}/fr/man8/zdump.8*
%lang(fr) %{_mandir}/fr/man8/zic.8*
-%lang(hu) %{_mandir}/hu/man1/ldd.1*
%lang(hu) %{_mandir}/hu/man7/*
%lang(hu) %{_mandir}/hu/man8/ld-linux.8*
%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8*
%lang(hu) %{_mandir}/hu/man8/zdump.8*
%lang(it) %{_mandir}/it/man5/locale.5*
%lang(it) %{_mandir}/it/man7/*
-%lang(it) %{_mandir}/it/man8/tzselect.8*
%lang(it) %{_mandir}/it/man8/zdump.8*
-%lang(ja) %{_mandir}/ja/man1/ldd.1*
%lang(ja) %{_mandir}/ja/man1/rpcgen.1*
%lang(ja) %{_mandir}/ja/man5/locale.5*
%lang(ja) %{_mandir}/ja/man5/nsswitch.conf.5*
%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8*
%lang(ja) %{_mandir}/ja/man8/ld.so.8*
%lang(ja) %{_mandir}/ja/man8/sln.8*
-%lang(ja) %{_mandir}/ja/man8/tzselect.8*
%lang(ja) %{_mandir}/ja/man8/zdump.8*
%lang(ja) %{_mandir}/ja/man8/zic.8*
-%lang(ko) %{_mandir}/ko/man1/ldd.1*
%lang(ko) %{_mandir}/ko/man5/nsswitch.conf.5*
%lang(ko) %{_mandir}/ko/man5/tzfile.5*
%lang(ko) %{_mandir}/ko/man7/*
-%lang(ko) %{_mandir}/ko/man8/tzselect.8*
%lang(ko) %{_mandir}/ko/man8/zdump.8*
-%lang(pl) %{_mandir}/pl/man1/ldd.1*
%lang(pl) %{_mandir}/pl/man5/locale.5*
%lang(pl) %{_mandir}/pl/man7/*
%lang(pl) %{_mandir}/pl/man8/ld-linux.8*
%lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5*
%lang(pt) %{_mandir}/pt/man5/tzfile.5*
%lang(pt) %{_mandir}/pt/man7/*
-%lang(pt) %{_mandir}/pt/man8/tzselect.8*
%lang(pt) %{_mandir}/pt/man8/zdump.8*
%lang(pt) %{_mandir}/pt/man8/zic.8*
%lang(ru) %{_mandir}/ru/man1/getent.1*
%lang(ru) %{_mandir}/ru/man1/iconv.1*
-%lang(ru) %{_mandir}/ru/man1/ldd.1*
%lang(ru) %{_mandir}/ru/man1/locale.1*
%lang(ru) %{_mandir}/ru/man1/rpcgen.1*
%lang(ru) %{_mandir}/ru/man5/locale.5*
%lang(ru) %{_mandir}/ru/man7/*
%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8*
%lang(ru) %{_mandir}/ru/man8/ld.so.8*
-%lang(ru) %{_mandir}/ru/man8/tzselect.8*
%lang(ru) %{_mandir}/ru/man8/zdump.8*
%lang(ru) %{_mandir}/ru/man8/zic.8*
%lang(tr) %{_mandir}/tr/man1/iconv.1*
-%lang(tr) %{_mandir}/tr/man1/ldd.1*
%lang(zh_CN) %{_mandir}/zh_CN/man1/iconv.1*
-%lang(zh_CN) %{_mandir}/zh_CN/man1/ldd.1*
%lang(zh_CN) %{_mandir}/zh_CN/man5/locale.5*
%lang(zh_CN) %{_mandir}/zh_CN/man5/tzfile.5*
%lang(zh_CN) %{_mandir}/zh_CN/man7/*
-%lang(zh_CN) %{_mandir}/zh_CN/man8/tzselect.8*
%lang(zh_CN) %{_mandir}/zh_CN/man8/zdump.8*
%lang(zh_CN) %{_mandir}/zh_CN/man8/zic.8*
+%files misc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/catchsegv
+%attr(755,root,root) %{_bindir}/ldd
+%attr(755,root,root) %{_bindir}/pldd
+%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*
+%lang(fi) %{_mandir}/fi/man1/ldd.1*
+%lang(fr) %{_mandir}/fr/man1/ldd.1*
+%lang(hu) %{_mandir}/hu/man1/ldd.1*
+%lang(ja) %{_mandir}/ja/man1/ldd.1*
+%lang(ko) %{_mandir}/ko/man1/ldd.1*
+%lang(pl) %{_mandir}/pl/man1/ldd.1*
+%lang(ru) %{_mandir}/ru/man1/ldd.1*
+%lang(tr) %{_mandir}/tr/man1/ldd.1*
+%lang(zh_CN) %{_mandir}/zh_CN/man1/ldd.1*
+
+%files libcrypt
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libcrypt-%{core_version}.so
+%ifarch alpha
+%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1.1
+%else
+%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1
+%endif
+
+%files -n ldconfig
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
+%dir %{_sysconfdir}/ld.so.conf.d
+%ghost %{_sysconfdir}/ld.so.cache
+%attr(755,root,root) /sbin/ldconfig
+%{_mandir}/man8/ldconfig.8*
+%lang(es) %{_mandir}/es/man8/ldconfig.8*
+%lang(fr) %{_mandir}/fr/man8/ldconfig.8*
+%lang(hu) %{_mandir}/hu/man8/ldconfig.8*
+%lang(ja) %{_mandir}/ja/man8/ldconfig.8*
+%lang(pl) %{_mandir}/pl/man8/ldconfig.8*
+%lang(pt) %{_mandir}/pt/man8/ldconfig.8*
+%lang(ru) %{_mandir}/ru/man8/ldconfig.8*
+%dir %attr(700,root,root) /var/cache/ldconfig
+%attr(600,root,root) %ghost /var/cache/ldconfig/aux-cache
+
%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}
%files devel-doc
%defattr(644,root,root,755)
-%doc documentation/* NOTES PROJECTS
+%doc documentation/* PROJECTS
%{_infodir}/libc.info*
%{_mandir}/man1/sprof.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
+%{systemdtmpfilesdir}/nscd.conf
%dir /var/run/nscd
%dir /var/lib/nscd
%attr(600,root,root) %ghost /var/lib/nscd/passwd