]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- rel 4; fix for CVE-2014-5119
[packages/glibc.git] / glibc.spec
index 2a62e9f891eff8432e490a0af32ca2bd66d75388..a38acc7beef605910562efb6e109c0c85f02db89 100644 (file)
@@ -21,7 +21,7 @@
 %undefine      with_memusage
 %endif
 
-%define                core_version    2.17
+%define                core_version    2.19
 %define                llh_version     7:2.6.20.4-1
 
 Summary:       GNU libc
@@ -35,12 +35,12 @@ Summary(tr.UTF-8):  GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       %{core_version}
-Release:       7
+Release:       4
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
 Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 87bf675c8ee523ebda4803e8e1cec638
+# Source0-md5: e26b8cc666b162f999404b03970f14e4
 Source2:       nscd.init
 Source3:       nscd.sysconfig
 Source4:       nscd.logrotate
@@ -51,6 +51,7 @@ Source6:      %{name}-localedb-gen
 Source7:       %{name}-LD-path.c
 Source8:       nscd.upstart
 Source9:       nscd.tmpfiles
+Patch100:      %{name}-git.patch
 # against GNU TP (libc domain)
 #Patch1:               %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
@@ -64,11 +65,13 @@ Patch9:             %{name}-java-libc-wait.patch
 Patch10:       %{name}-info.patch
 Patch11:       %{name}-autoconf.patch
 Patch12:       %{name}-format.patch
-Patch13:       %{name}-git.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
@@ -77,9 +80,11 @@ Patch22:     %{name}-with-stroke.patch
 Patch23:       %{name}-pt_pax.patch
 Patch25:       %{name}-cv_gnu89_inline.patch
 Patch26:       %{name}-posix-sh.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
 
@@ -100,7 +105,7 @@ BuildRequires:      gcc >= 6:4.3
 BuildRequires: gettext-devel >= 0.10.36
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
 BuildRequires: linux-libc-headers >= %{llh_version}
-BuildRequires: nss-devel >= 1:3.12.3
+BuildRequires: nss-devel >= 1:3.15.1-2
 BuildRequires: perl-base
 BuildRequires: rpm-build >= 4.3-0.20030610.28
 BuildRequires: rpmbuild(macros) >= 1.567
@@ -936,6 +941,8 @@ echo "Minimal supported kernel is 2.6.16" >&2
 exit 1
 %endif
 
+%patch100 -p1
+
 %patch2 -p1
 %patch3 -p0
 %patch4 -p1
@@ -947,7 +954,7 @@ exit 1
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
-%patch13 -p1
+
 %patch14 -p0
 %patch15 -p1
 %patch16 -p1
@@ -961,9 +968,10 @@ exit 1
 
 %patch25 -p1
 %patch26 -p1
-
+%patch27 -p1
+%patch28 -p1
 %patch29 -p1
-%patch30 -p0
+
 %patch31 -p1
 %patch32 -p1
 
@@ -1024,6 +1032,7 @@ AWK="gawk" \
 
 %{__make} \
        AWK="gawk" \
+       localedir=%{_prefix}/lib/locale \
        sLIBdir=%{_libdir}
 
 cd ..
@@ -1061,13 +1070,17 @@ 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
@@ -1079,7 +1092,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}
@@ -1093,8 +1106,6 @@ mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so     $RPM_BUILD_ROOT%{_libdir}
 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
@@ -1160,17 +1171,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:
 #   ach (vlc)
-#   az_IR (gtk+2)
+#   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)
@@ -1179,16 +1186,16 @@ done
 #   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)
+#   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)
@@ -1197,10 +1204,12 @@ done
 # 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
@@ -1220,6 +1229,7 @@ done
 # pa=pa_IN
 # pt=pt_PT
 # ru=ru_RU
+# sd=sd_IN
 # so=so_SO
 # sr=sr_RS [cyrillic]
 # sr@latin=sr_RS@latin
@@ -1238,16 +1248,16 @@ 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 bn bn_IN bo br bs byn ca@valencia ckb cmn crh csb cv cy de_AT de_CH dv dz en \
        en@boldquot en@quot en@shaw en_AU en_CA en_NZ en_US eo es_AR es_CL es_CO es_CR \
        es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY \
        es_VE et eu fa 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 \
+       hi hne hsb hy ia id ig ik is it_CH iu ka kg kk kl km kn kok ks ku kw ky la lb \
+       lg li lo lt lv mai mg mhr mi mk ml mn mr ms mt my nds ne nl_BE nn nr nso \
+       oc om or pa pap ps pt ps rm ro sa sc sd se si sid sl so sq sr sr@Latn tl \
        sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw ta te tg th ti \
-       tig tk tl tlh tn ts tt ug uk ur uz uz@cyrillic ve vi wa wal wo xh yi yo \
+       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
@@ -1267,15 +1277,13 @@ 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
 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
 
@@ -1313,6 +1321,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
 
@@ -1436,7 +1452,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)
@@ -1676,8 +1692,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
@@ -1791,7 +1805,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.039611 seconds and 4 git commands to generate.