]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- added tmpfiles config for systemd
[packages/glibc.git] / glibc.spec
index 23b9ae09eec75d968ac39f8ad8ff307d26cd66b8..99a3209d4d1be29b5af702095c0e1b0e95e2494c 100644 (file)
@@ -3,8 +3,7 @@
 # - 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
+# - 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)
@@ -20,7 +19,7 @@
 %undefine      with_memusage
 %endif
 
-%define                ports_version   2.12.1
+%define                ports_version   2.14.1
 %define                llh_version     7:2.6.20.4-1
 
 Summary:       GNU libc
@@ -33,15 +32,15 @@ Summary(ru.UTF-8):  GNU libc версии
 Summary(tr.UTF-8):     GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
-Version:       2.12.2
-Release:       1
+Version:       2.14.1
+Release:       4
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
 Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: e0043f4f8e1aa61acc62fdf0f4d6133d
-Source1:       http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.bz2
-# Source1-md5: cb01ab976180e98287cef5079e35359e
+# Source0-md5: 55501b8d037a4f1d330312b30fd6d4bc
+Source1:       http://ftp.gnu.org/gnu/glibc/%{name}-ports-%{ports_version}.tar.xz
+# Source1-md5: 3b3afcb6b99fea9e3a2474cc4778ec88
 Source2:       nscd.init
 Source3:       nscd.sysconfig
 Source4:       nscd.logrotate
@@ -50,9 +49,13 @@ Source5:     http://qboosh.pl/man/%{name}-man-pages.tar.bz2
 # Source5-md5: f464eadf3cf06761f65639e44a179e6b
 Source6:       %{name}-localedb-gen
 Source7:       %{name}-LD-path.c
+Source8:       nscd.upstart
+Source9:       nscd.tmpfiles
+Patch0:                %{name}-restore-rpc+nis.patch
 Patch1:                %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
 Patch3:                %{name}-crypt-blowfish.patch
+Patch4:                %{name}-sotruss-sh.patch
 Patch5:                %{name}-sparc-softfp-gcc.patch
 Patch6:                %{name}-paths.patch
 Patch7:                %{name}-no_opt_override.patch
@@ -74,9 +77,17 @@ Patch25:     %{name}-cv_gnu89_inline.patch
 Patch26:       %{name}-posix-sh.patch
 Patch27:       %{name}-i686.patch
 Patch29:       %{name}-arm-alignment-fix.patch
-Patch30:       %{name}-static-glro-init.patch
+Patch30:       %{name}-bug-12492.patch
 Patch31:       %{name}-origin.patch
-Patch32:       %{name}-bug-12343.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
+Patch39:       %{name}-git.patch
+Patch40:       %{name}-bad-fix.patch
+Patch41:       %{name}-pr12892.patch
+Patch42:       %{name}-pr13013.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
 BuildRequires: autoconf
@@ -289,6 +300,7 @@ 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}
 Provides:      crypt(blowfish)
 
 %description libcrypt
@@ -329,7 +341,7 @@ crée aussi /etc/ld.so.cache qui accélčre le chargement des programmes
 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
@@ -354,7 +366,12 @@ Summary(uk.UTF-8): Додаткові бібліотеки, потрібні д
 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}
 Obsoletes:     libiconv-devel
 
@@ -415,6 +432,9 @@ 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}
+%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.
@@ -565,7 +585,7 @@ Requires(pre):      /usr/sbin/groupadd
 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)
 
@@ -681,9 +701,9 @@ czyli z zestawu funkcji z tej biblioteki, które umożliwiają konwersję
 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
@@ -880,27 +900,25 @@ datos NIS+.
 Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS+.
 
 %package memusage
-Summary:       A toy
-Summary(es.UTF-8):     Un juguete
-Summary(pl.UTF-8):     Zabawka
-Group:         Applications
+Summary:       Memory usage profiler
+Summary(pl.UTF-8):     Narzędzie do profilowania zużycia pamięci
+Group:         Development/Tools
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description memusage
-A toy.
-
-%description memusage -l es.UTF-8
-Un juguete.
+Memory usage profiler.
 
 %description memusage -l pl.UTF-8
-Zabawka.
+Narzędzie do profilowania zużycia pamięci.
 
 %prep
 %setup -q -a1
 mv %{name}-ports-%{ports_version} ports
-#%patch1 -p1
+%patch0 -p1
+%patch1 -p1
 %patch2 -p1
-%patch3 -p1
+%patch3 -p0
+%patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
@@ -918,13 +936,24 @@ mv %{name}-ports-%{ports_version} ports
 %{?with_cross:%patch21 -p1}
 %patch22 -p1
 %patch23 -p0
+
 %patch25 -p1
 %patch26 -p1
 %patch27 -p1
 %patch29 -p1
-%patch30 -p1
+%patch30 -p0
 %patch31 -p1
 %patch32 -p1
+%patch33 -p1
+
+%patch35 -p1
+
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
@@ -955,8 +984,14 @@ AddOns=nptl,libidn
 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-binutils=$(pwd)/alt-tools \
        --enable-kernel="%{min_kernel}" \
        --enable-omitfp \
        --with-headers=%{_includedir} \
@@ -966,6 +1001,7 @@ AWK="gawk" \
 %if "%{pld_release}" != "ti"
        --enable-nss-crypt \
 %endif
+       --enable-experimental-malloc \
        --enable-stackguard-randomization \
        --enable-hidden-plt \
        --enable-bind-now \
@@ -1002,7 +1038,9 @@ 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},%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd,/var/cache/ldconfig}
+install -d $RPM_BUILD_ROOT/etc/{default,logrotate.d,rc.d/init.d,sysconfig,init} \
+       $RPM_BUILD_ROOT{%{_mandir}/man{3,8},/var/log,/var/{lib,run}/nscd,/var/cache/ldconfig} \
+       $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
 
 cd builddir
 env LANGUAGE=C LC_ALL=C \
@@ -1026,7 +1064,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
-./iconv/iconvconfig --nostdlib --prefix=$RPM_BUILD_ROOT %{_libdir}/gconv -o $RPM_BUILD_ROOT%{_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
 cd ..
 
 %if %{without cross}
@@ -1053,6 +1091,7 @@ done
 rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
 
 install -p %{SOURCE2}          $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
+cp -p %{SOURCE8}               $RPM_BUILD_ROOT/etc/init/nscd.conf
 cp -a %{SOURCE3}               $RPM_BUILD_ROOT/etc/sysconfig/nscd
 cp -a %{SOURCE4}               $RPM_BUILD_ROOT/etc/logrotate.d/nscd
 cp -a nscd/nscd.conf           $RPM_BUILD_ROOT%{_sysconfdir}
@@ -1079,6 +1118,8 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/tzselect.8*
 : > $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
+
 rm -rf documentation
 install -d documentation
 
@@ -1101,6 +1142,8 @@ done
 # 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)
@@ -1109,38 +1152,77 @@ done
 #   az_IR (gtk+2)
 #   bal (newt,pessulus)
 #   bem (alacarte)
-#   ckb [or ku_IQ/ku_IR] (vlc,miro)
 #   co  (vlc)
+#   fil (stellarium)
+#   frp (xfce, lxlauncher)
 #   gn  (gn_BR in gnome, maybe gn_PY)
-#   bal (newt)
-#   haw (iso-codes)
+#   haw (iso-codes, stellarium)
+#   hrx (stellarium)
 #   ilo (kudzu)
 #   io  (gtk+2, gnome, alacarte)
-#   jv  (gmpc)
+#   jv  (gmpc, avant-window-navigator, kdesudo)
 #   kok (iso-codes)
-#   lb  (geany,miro)
+#   lb  (geany,miro,deluge)
 #   man (ccsm; incorrectly named md)
+#   mhr (pidgin)
 #   mus (bluez-gnome)
-#   sco (gnomad2, picard)
+#   pms (deluge)
+#   sco (gnomad2, picard, stellarium)
 #   swg (sim)
 #   syr (iso-codes)
 #   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)
+#
+# 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
+#
+# Short forms (omitted country code, used instead of long form) for ambiguous or unclear cases:
+# aa=aa_ER
+# ar=common? (AE, BH, DZ, EG, IQ, JO, KW, LB, LY, MA, OM, QA, SA, SD, SY, TN, YE)
+# bn=bn_BD
+# ca=ca_ES
+# ckb=ckb_IQ
+# de=de_DE
+# en=common? (en_AU, en_CA, en_GB, en_NZ, en_US are used for particular variants)
+# eo=common
+# es=es_ES
+# eu=eu_ES
+# fr=fr_FR
+# fy=fy_NL
+# gez=gez_ET (?)
+# it=it_IT
+# li=li_NL
+# nds=nds_DE
+# nl=nl_NL
+# om=om_ET
+# pa=pa_IN
+# pt=pt_PT
+# ru=ru_RU
+# so=so_SO
+# sr=sr_RS [cyrillic]
+# sv=sv_SE
+# sw=sw_TZ (or common for KE, TZ, UG?)
+# ti=ti_ER (?)
+# tr=tr_TR
+# ur=ur_PK (?)
+# zh: no short code used (use zh_CN, zh_HK, zh_SG[not included yet], zh_TW)
 #
 # Omitted here - already existing (with libc.mo):
 #   be ca cs da de el en_GB es fi fr gl hr hu it ja ko nb nl pl pt_BR ru rw sk
 #   sv tr zh_CN zh_TW
 #
-for i in aa aa@saaho af am an ang ar ar_TN as ast az be@alternative be@latin \
-       bg bn bn_IN br bs byn ca@valencia crh csb cy de_AT de_CH dv dz en \
+for i in aa aa@saaho af am an ang ar ar_TN as ast az be@latin be@tarask \
+       bg bn bn_IN br bs byn ca@valencia ckb crh csb cy de_AT de_CH dv dz en \
        en@boldquot en@quot en@shaw en_AU en_CA en_NZ en_US eo es_AR es_CL es_CO es_CR \
        es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY \
        es_VE et eu fa fil fo fr_BE fr_CA fr_CH fur fy ga gd gez gu gv ha he \
-       hi hne hsb hy ia id ig ik is it_CH iu ka kk kl km kn ks ku kw ky la \
+       hi hne hsb hy ia id ig ik is it_CH iu ka kg kk kl km kn ks ku kw ky la \
        lg li lo lt lv mai mg mi mk ml mn mr ms mt my nds ne nl_BE nn nr nso \
-       oc om or pa pap ps pt ps rm ro sa sc se si sid sl so sq sr sr@Latn \
+       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
@@ -1152,7 +1234,7 @@ for i in aa aa@saaho af am an ang ar ar_TN as ast az be@alternative be@latin \
 done
 
 # LC_TIME category, used for localized date formats (at least by coreutils)
-for i in af be bg ca cs da de el en es et eu fi fr ga gl hu id it ja kk ko lg lt \
+for i in af be bg ca cs da de el en eo es et eu fi fr ga gl hu id it ja kk ko lg lt \
        ms nb nl pl pt pt_BR ro ru rw sk sl sv tr uk vi zh_CN zh_TW; do
        if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i ]; then
                echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
@@ -1166,15 +1248,12 @@ chmod +x $RPM_BUILD_ROOT%{_bindir}/localedb-gen
 install localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n
 
 # shutup check-files
-rm -f $RPM_BUILD_ROOT%{_mandir}/README.*
-rm -f $RPM_BUILD_ROOT%{_mandir}/diff.*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.*
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 # we don't support kernel without ptys support
-rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown
-# rpcbind
-rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/rpcinfo.8
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rpcinfo.8
-rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/pt_chown
+# rpcinfo dropped from glibc, provided by rpcbind now
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man8/rpcinfo.8
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1191,6 +1270,12 @@ 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
 
@@ -1343,7 +1428,6 @@ fi
 %endif
 %attr(755,root,root) %{_bindir}/locale
 %attr(755,root,root) %{_bindir}/rpcgen
-
 %attr(755,root,root) %{_sbindir}/zdump
 %attr(755,root,root) %{_sbindir}/zic
 
@@ -1361,7 +1445,17 @@ fi
 %{_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*
@@ -1447,6 +1541,10 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/catchsegv
 %attr(755,root,root) %{_bindir}/ldd
+%attr(755,root,root) %{_bindir}/sotruss
+%dir %{_libdir}/audit
+%attr(755,root,root) %{_libdir}/audit/sotruss-lib.so
+
 %{_mandir}/man1/catchsegv.1*
 %{_mandir}/man1/ldd.1*
 %lang(es) %{_mandir}/es/man1/ldd.1*
@@ -1612,9 +1710,11 @@ fi
 %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
+/usr/lib/tmpfiles.d/nscd.conf
 %dir /var/run/nscd
 %dir /var/lib/nscd
 %attr(600,root,root) %ghost /var/lib/nscd/passwd
This page took 0.050571 seconds and 4 git commands to generate.