]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- drop existing parts
[packages/glibc.git] / glibc.spec
index e8c3f8e48bb4a8691eaecb06e9cc7c6152de29f9..b9a0d26f8890cdab8d2d45af6bb2785972279e78 100644 (file)
@@ -1,4 +1,6 @@
 # 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]
@@ -6,22 +8,27 @@
 # - 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)
+%bcond_with    cross           # make a cross build, skip native programs
+%bcond_without nss_crypt       # disable crypt features based on Mozilla NSS library
+%bcond_with    bash_nls        # use bash NLS in shell scripts (ldd, sotruss); restores /bin/bash dep
 #
-%{!?min_kernel:%global         min_kernel      2.6.12}
+%ifarch x32
+%{!?min_kernel:%global         min_kernel      3.4.0}
+%else
+%{!?min_kernel:%global         min_kernel      2.6.32}
+%endif
 
 %ifarch sparc64
 %undefine      with_memusage
 %endif
 
-%define                core_version    2.16
-%define                ports_version   2.16.0
-%define                llh_version     7:2.6.20.4-1
+%define                core_version    2.21
+%define                llh_version     7:2.6.32.1-1
 
 Summary:       GNU libc
 Summary(de.UTF-8):     GNU libc
@@ -33,21 +40,19 @@ Summary(ru.UTF-8):  GNU libc версии
 Summary(tr.UTF-8):     GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
-Version:       %{core_version}.0
+Version:       %{core_version}
 Release:       0.1
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
 Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 80b181b02ab249524ec92822c0174cf7
-Source1:       http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.xz
-# Source1-md5: 9a2439641be7ca8b01a3175324013031
+# Source0-md5: 9cb398828e8f84f57d1f7d5588cf40cd
 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
@@ -56,39 +61,35 @@ Source9:    nscd.tmpfiles
 #Patch1:               %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
 Patch3:                %{name}-crypt-blowfish.patch
-Patch4:                %{name}-sotruss-sh.patch
+Patch4:                %{name}-no-bash-nls.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
+
 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
-Patch21:       %{name}-cross-gcc_eh.patch
 Patch22:       %{name}-with-stroke.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
-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
+Patch30:       glibc-rh1124987.patch
+
+Patch33:       fix-broken-echo.patch
 Patch38:       1055_all_glibc-resolv-dynamic.patch
-Patch40:       %{name}-bad-fix.patch
-Patch41:       glibc-bug-13618.patch
-Patch42:       %{name}-pr13013.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
 BuildRequires: autoconf
@@ -100,19 +101,24 @@ BuildRequires:    binutils >= 2:2.15.90.0.3
 %endif
 %{!?with_cross:BuildRequires:  dietlibc-static}
 BuildRequires: gawk
-BuildRequires: gcc >= 6:4.3
+BuildRequires: gcc >= 6:4.6
 %{?with_memusage:BuildRequires:        gd-devel >= 2.0.1}
-BuildRequires: gettext-devel >= 0.10.36
+BuildRequires: gettext-tools >= 0.10.36
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
 BuildRequires: linux-libc-headers >= %{llh_version}
-BuildRequires: nss-devel >= 1:3.12.3
+%{?with_nss_crypt: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:      %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{ix86}
+Provides:      %{name}(ix86) = %{epoch}:%{version}-%{release}
+%endif
 Provides:      glibc(nptl)
 Provides:      glibc(tls)
 Provides:      rtld(GNU_HASH)
@@ -134,13 +140,15 @@ Conflicts:        man-pages < 1.43
 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 armv5tel
+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
 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
@@ -155,9 +163,6 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %{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 -fasynchronous-unwind-tables
@@ -289,6 +294,10 @@ Summary:   Utilities and data used by glibc
 Summary(pl.UTF-8):     Narzędzia i dane używane przez glibc
 Group:         Applications/System
 Requires:      %{name} = %{epoch}:%{version}-%{release}
+%ifarch %{ix86}
+Conflicts:     %{name}(x32)
+Conflicts:     %{name}(x86_64)
+%endif
 
 %description misc
 Utilities and data used by glibc.
@@ -302,6 +311,9 @@ 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
@@ -368,12 +380,11 @@ 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
@@ -433,10 +444,10 @@ Summary:  Header files for development using standard C libraries
 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}
+%ifarch %{ix86}
+Provides:      %{name}-headers(ix86) = %{epoch}:%{version}-%{release}
 %endif
-%ifarch %{x8664}
+%ifarch %{x8664} x32
 # If both -m32 and -m64 is to be supported on x86_64, x86_64 package
 # have to be installed, not ix86 one.
 Obsoletes:     glibc-headers(athlon)
@@ -446,6 +457,10 @@ Obsoletes: glibc-headers(i586)
 Obsoletes:     glibc-headers(i686)
 Obsoletes:     glibc-headers(pentium3)
 Obsoletes:     glibc-headers(pentium4)
+Obsoletes:     glibc-headers(ix86)
+%endif
+%ifarch x32
+Obsoletes:     glibc-headers(x86_64)
 %endif
 %ifarch ppc64
 Obsoletes:     glibc-headers(ppc)
@@ -484,7 +499,10 @@ Summary:   Utilities needed for development using standard C libraries
 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 %{x8664}
+%ifarch %{ix86}
+Provides:      %{name}-devel-utils(ix86) = %{epoch}:%{version}-%{release}
+%endif
+%ifarch %{x8664} x32
 # If both -m32 and -m64 is to be supported on AMD64, x86_64 package
 # have to be installed, not ix86 one.
 Obsoletes:     glibc-devel-utils(athlon)
@@ -494,6 +512,10 @@ Obsoletes: glibc-devel-utils(i586)
 Obsoletes:     glibc-devel-utils(i686)
 Obsoletes:     glibc-devel-utils(pentium3)
 Obsoletes:     glibc-devel-utils(pentium4)
+Obsoletes:     glibc-devel-utils(ix86)
+%endif
+%ifarch x32
+Obsoletes:     glibc-devel-utils(x86_64)
 %endif
 %ifarch ppc64
 Obsoletes:     glibc-devel-utils(ppc)
@@ -530,6 +552,9 @@ Summary:    Documentation needed for development using standard C libraries
 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.
@@ -540,6 +565,10 @@ Obsoletes: glibc-devel-doc(i586)
 Obsoletes:     glibc-devel-doc(i686)
 Obsoletes:     glibc-devel-doc(pentium3)
 Obsoletes:     glibc-devel-doc(pentium4)
+Obsoletes:     glibc-devel-doc(ix86)
+%endif
+%ifarch x32
+Obsoletes:     glibc-devel-doc(x86_64)
 %endif
 %ifarch ppc64
 Obsoletes:     glibc-devel-doc(ppc)
@@ -589,6 +618,8 @@ Requires:   %{name} = %{epoch}:%{version}-%{release}
 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
@@ -710,6 +741,9 @@ 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
@@ -913,23 +947,25 @@ Memory usage profiler.
 Narzędzie do profilowania zużycia pamięci.
 
 %prep
-%setup -q -a1
-mv %{name}-ports-%{ports_version} ports
+%setup -q
+
+%if "%{min_kernel}" < "2.6.32"
+echo "Minimal supported kernel is 2.6.32" >&2
+exit 1
+%endif
 
 %patch2 -p1
 %patch3 -p0
-%patch4 -p1
+%{!?with_bash_nls:%patch4 -p1}
 %patch5 -p1
 %patch6 -p1
-# OBSOLETE?
-#%patch7 -p1
+%patch7 -p1
 %patch8 -p1
-%patch9 -p1
+%patch9 -p0
+
 %patch10 -p1
-# CHECK, POSSIBLY UPDATE
-#%patch11 -p1
-# CHECK, LIKELY OBSOLETE
-#%patch12 -p1
+%patch11 -p1
+
 %patch14 -p0
 %patch15 -p1
 %patch16 -p1
@@ -937,42 +973,24 @@ mv %{name}-ports-%{ports_version} ports
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
-%{?with_cross:%patch21 -p1}
 %patch22 -p1
 %patch23 -p0
 
 %patch25 -p1
-%patch26 -p1
-# SHOULD BE OBSOLETE
-#%patch27 -p1
+%patch27 -p1
+%patch28 -p1
 %patch29 -p1
-%patch30 -p0
-%patch31 -p1
-%patch32 -p1
-%patch33 -p1
+%patch30 -p1
 
-# SHOULD BE OBSOLETE
-#%patch35 -p1
+%patch33 -p1
 
-# SHOULD BE OBSOLETE
-#%patch37 -p1
 %patch38 -p1
 
-# SHOULD BE OBSOLETE
-#%patch40 -p1
-# SHOULD BE OBSOLETE
-#%patch41 -p1
-%patch42 -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 || :
@@ -988,11 +1006,6 @@ cd builddir
 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
@@ -1000,45 +1013,31 @@ PATH=$(pwd)/alt-tools:$PATH; export PATH
 
 AWK="gawk" \
 ../%configure \
-       --with-binutils=$(pwd)/alt-tools \
+       --enable-add-ons=libidn \
+       --enable-bind-now \
+       --enable-experimental-malloc \
+       --enable-hidden-plt \
        --enable-kernel="%{min_kernel}" \
-       --enable-omitfp \
-       --with-headers=%{_includedir} \
-       --with%{!?with_selinux:out}-selinux \
-       --with-tls \
+       --enable-nss-crypt%{!?with_nss_crypt:=no} \
        --enable-obsolete-rpc \
-       --enable-add-ons=$AddOns \
-%if "%{pld_release}" != "ti"
-       --enable-nss-crypt \
-%endif
-       --enable-experimental-malloc \
+       --enable-profile \
        --enable-stackguard-randomization \
-       --enable-hidden-plt \
-       --enable-bind-now \
-       --enable-profile
+       --with-binutils=$(pwd)/alt-tools \
+       --with-bugurl=http://bugs.pld-linux.org/ \
+       --with-headers=%{_includedir} \
+       --with-selinux%{!?with_selinux:=no} \
+       --with-tls
 
 %{__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}
@@ -1048,21 +1047,25 @@ diet ${CC#*ccache } %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{default,logrotate.d,rc.d/init.d,sysconfig,init} \
+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,/usr/lib/tmpfiles.d}
+       $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
@@ -1074,7 +1077,7 @@ 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
-LD_PRELOAD=$(pwd)/elf/ld.so:$(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}
@@ -1084,21 +1087,15 @@ install -p glibc-postinst                               $RPM_BUILD_ROOT/sbin
 %{?with_memusage:mv -f $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
 mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so  $RPM_BUILD_ROOT%{_libdir}
 
-# moved to tzdata package
-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
-       rm -f $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
+       %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
        ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/lib${l}.so.*) $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
 done
 
 # linking nss modules directly is not supported
-rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
+%{__rm} $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
@@ -1115,32 +1112,30 @@ 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
-
 # 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*
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/tzselect
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/tzselect.8*
+%{__rm} $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/usr/lib/tmpfiles.d/nscd.conf
+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,systemtap-probes}.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}"
@@ -1155,15 +1150,13 @@ done
 #   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)
@@ -1171,37 +1164,38 @@ done
 #   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 (?)
@@ -1210,11 +1204,17 @@ done
 # nds=nds_DE
 # nl=nl_NL
 # om=om_ET
+# or=or_IN
 # pa=pa_IN
 # pt=pt_PT
+# quz=quz_PE
 # 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
@@ -1228,46 +1228,58 @@ done
 #   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 bo 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 bho bn bn_IN bo br brx bs byn ca@valencia 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 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 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 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
 
@@ -1289,6 +1301,14 @@ if [ "$1" != 1 ]; then
        %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
 
@@ -1353,10 +1373,13 @@ fi
 %ifarch %{x8664}
 %attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2
 %endif
+%ifarch x32
+%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2
+%endif
 %ifarch ppc64 s390x
 %attr(755,root,root) /%{_lib}/ld64.so.1
 %endif
-%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} ppc64 s390x %{arm}
+%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm}
 %attr(755,root,root) /%{_lib}/ld.so.1
 %endif
 %attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so
@@ -1412,7 +1435,7 @@ fi
 %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)
@@ -1443,9 +1466,6 @@ fi
 %attr(755,root,root) %{_bindir}/getconf
 %attr(755,root,root) %{_bindir}/getent
 %attr(755,root,root) %{_bindir}/iconv
-%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) %{_sbindir}/zdump
@@ -1454,8 +1474,8 @@ fi
 %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*
@@ -1562,6 +1582,9 @@ fi
 %attr(755,root,root) %{_bindir}/catchsegv
 %attr(755,root,root) %{_bindir}/ldd
 %attr(755,root,root) %{_bindir}/pldd
+%ifarch %{ix86} m68k sparc sparcv9
+%attr(755,root,root) %{_bindir}/lddlibc4
+%endif
 %attr(755,root,root) %{_bindir}/sotruss
 %dir %{_libdir}/audit
 %attr(755,root,root) %{_libdir}/audit/sotruss-lib.so
@@ -1652,8 +1675,6 @@ fi
 %{_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
@@ -1662,7 +1683,7 @@ fi
 %endif
 %{_libdir}/libpthread_nonshared.a
 %{_libdir}/librpcsvc.a
-%ifarch %{ix86} %{x8664} ppc ppc64 s390 s390x sparc sparcv9 sparc64
+%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64
 # ABI-dependent headers
 %{_includedir}/gnu/stubs-*.h
 %endif
@@ -1735,7 +1756,7 @@ fi
 %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
-/usr/lib/tmpfiles.d/nscd.conf
+%{systemdtmpfilesdir}/nscd.conf
 %dir /var/run/nscd
 %dir /var/lib/nscd
 %attr(600,root,root) %ghost /var/lib/nscd/passwd
@@ -1767,7 +1788,7 @@ fi
 %if %{with localedb}
 %files localedb-all
 %defattr(644,root,root,755)
-%{_libdir}/locale/locale-archive
+%{_prefix}/lib/locale/locale-archive
 %endif
 
 %files -n iconv
This page took 0.091662 seconds and 4 git commands to generate.