]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- rel 6; SECURITY FIX for http://seclists.org/fulldisclosure/2010/Oct/257 from fedora
[packages/glibc.git] / glibc.spec
index 554c9daf13959c532f36e7d484103e15cbe60bf6..108d45180886edf59867ac4aaa44037a8776036c 100644 (file)
@@ -1,3 +1,10 @@
+# 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
 #
 # Conditional build:
 # min_kernel   (default is 2.6.12)
 %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}
 
 %ifarch sparc64
 %undefine      with_memusage
 %endif
 
+%define                ports_version   2.12
 %define                llh_version     7:2.6.20.4-1
 
 Summary:       GNU libc
@@ -32,13 +33,16 @@ Summary(ru.UTF-8):  GNU libc версии
 Summary(tr.UTF-8):     GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
-Version:       2.11
-Release:       2
+Version:       2.12.1
+Release:       6
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
-Source0:       ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 2c990f97e9ff9fb1c3c85fe826e991b9
+Source0:       http://ftp.gnu.org/pub/gnu/glibc/%{name}-%{version}.tar.xz
+# Source0-md5: 4802b783766b5b487c601a19b5ce35f1
+# Source1:     ftp://sources.redhat.com/pub/glibc/releases/%{name}-ports-%{version}.tar.bz2
+Source1:       %{name}-ports-%{ports_version}.tar.bz2
+# Source1-md5: edbf6b9a5b9aa2c441d78343fe282c64
 Source2:       nscd.init
 Source3:       nscd.sysconfig
 Source4:       nscd.logrotate
@@ -69,6 +73,11 @@ 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
+Patch29:       %{name}-arm-alignment-fix.patch
+Patch30:       %{name}-static-glro-init.patch
+Patch31:       %{name}-newmake.patch
+Patch32:       %{name}-origin.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
 BuildRequires: autoconf
@@ -88,8 +97,7 @@ BuildRequires:        linux-libc-headers >= %{llh_version}
 BuildRequires: nss-devel >= 1:3.12.3
 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}
@@ -105,8 +113,8 @@ Obsoletes:  glibc64
 %endif
 Suggests:      localedb
 Suggests:      tzdata
-Conflicts:     SysVinit < 2.86-11
 Conflicts:     %{name}-misc < %{epoch}:%{version}-%{release}
+Conflicts:     SysVinit < 2.86-11
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     kernel24
 Conflicts:     kernel24-smp
@@ -115,7 +123,7 @@ 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
+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)
@@ -136,6 +144,9 @@ 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
@@ -886,7 +897,8 @@ Un juguete.
 Zabawka.
 
 %prep
-%setup -q 
+%setup -q -a1
+mv %{name}-ports-%{ports_version} ports
 #%patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -909,6 +921,11 @@ Zabawka.
 %patch23 -p0
 %patch25 -p1
 %patch26 -p1
+%patch27 -p1
+%patch29 -p1
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
@@ -933,6 +950,12 @@ cd builddir
 %ifarch sparc64
 CC="%{__cc} -m64 -mcpu=ultrasparc -mvis -fcall-used-g6"
 %endif
+
+AddOns=nptl,libidn
+%ifarch %{ports_arch}
+AddOns=$AddOns,ports
+%endif
+
 AWK="gawk" \
 ../%configure \
        --enable-kernel="%{min_kernel}" \
@@ -940,7 +963,7 @@ AWK="gawk" \
        --with-headers=%{_includedir} \
        --with%{!?with_selinux:out}-selinux \
        --with-tls \
-       --enable-add-ons=nptl,libidn \
+       --enable-add-ons=$AddOns \
 %if "%{pld_release}" != "ti"
        --enable-nss-crypt \
 %endif
@@ -980,7 +1003,7 @@ 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}
+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}
 
 cd builddir
 env LANGUAGE=C LC_ALL=C \
@@ -1039,9 +1062,11 @@ 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
 
 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
 
 # doesn't fit with out tzdata concept and configure.in is stupid assuming bash
@@ -1050,10 +1075,10 @@ 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
+: > $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
 
 rm -rf documentation
 install -d documentation
@@ -1082,21 +1107,25 @@ done
 #   sr@ije (use LANGUAGE=sr_ME@ije/sr_RS@ije) (gnome)
 #
 # To be added when they become supported by glibc:
-#   az_IR (gtk+)
-#   co (vlc)
-#   dv (iso-codes)
-#   gn (gn_BR in gnome, maybe gn_PY)
-#   la (deluge, gnome, others; patch needed, won't be officially supported)
-#   my (gaim)
+#   az_IR (gtk+2)
+#   bal (newt,pessulus)
+#   bem (alacarte)
+#   ckb [or ku_IQ/ku_IR] (vlc,miro)
+#   co  (vlc)
+#   gn  (gn_BR in gnome, maybe gn_PY)
 #   bal (newt)
 #   haw (iso-codes)
 #   ilo (kudzu)
+#   io  (gtk+2, gnome, alacarte)
+#   jv  (gmpc)
 #   kok (iso-codes)
+#   lb  (geany,miro)
 #   man (ccsm; incorrectly named md)
 #   mus (bluez-gnome)
-#   sco (gnomad2)
+#   sco (gnomad2, picard)
+#   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.
@@ -1106,15 +1135,15 @@ done
 #   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 dz en \
+       bg bn bn_IN br bs byn ca@valencia crh csb cy de_AT de_CH dv 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 ha he \
-       hi hne hsb hy ia id ig 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
+       hi hne hsb hy ia id ig ik is it_CH iu jv ka 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 \
+       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
                # use lang() tags with ll_CC@variant (stripping charset and @quot|@boldquot)
@@ -1124,8 +1153,8 @@ 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 es et eu fi fr ga gl hu id it ja ko lt ms nb nl pl \
-       pt pt_BR ru rw sk sl sv tr uk vi zh_CN zh_TW; do
+for i in af be bg ca cs da de el en es et eu fi fr ga gl hu id it ja 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
        fi
@@ -1169,7 +1198,13 @@ rm -rf $RPM_BUILD_ROOT
 %post  memusage -p /sbin/ldconfig
 %postun        memusage -p /sbin/ldconfig
 
-%post  localedb-src -p /usr/bin/localedb-gen
+%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}
@@ -1224,7 +1259,7 @@ fi
 %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
@@ -1430,9 +1465,9 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libcrypt-%{version}.so
 %ifarch alpha
-%ghost %attr(755,root,root) /%{_lib}/libcrypt.so.1.1
+%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1.1
 %else
-%ghost %attr(755,root,root) /%{_lib}/libcrypt.so.1
+%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1
 %endif
 
 %files -n ldconfig
@@ -1449,6 +1484,8 @@ fi
 %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)
This page took 0.038981 seconds and 4 git commands to generate.