]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- rel 11; fixes CVE-2017-17426, CVE-2017-1000408, CVE-2017-1000409
[packages/glibc.git] / glibc.spec
index 552d02fe87381de83fbbbd47d828933f95bf9349..e511003afd148b5afe45dd0b695962bb38295ea1 100644 (file)
@@ -8,7 +8,7 @@
 # - math/{test-fenv,test-tgmath,test-float,test-ifloat}, debug/backtrace-tst(SEGV)  fail on alpha
 #
 # Conditional build:
-# min_kernel   (default is 2.6.32)
+# min_kernel   (default is 3.4.0 except for x86/x86_64 where 3.2.0 suffices)
 %bcond_without memusage        # don't build memusage utility
 %bcond_without selinux         # without SELinux support (in nscd)
 %bcond_with    tests           # perform "make test"
 %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
 #
-%ifarch x32
-%{!?min_kernel:%global         min_kernel      3.4.0}
+%ifarch %{ix86} %{x8664}
+%{!?min_kernel:%global         min_kernel      3.2.0}
 %else
-%{!?min_kernel:%global         min_kernel      2.6.32}
+%{!?min_kernel:%global         min_kernel      3.4.0}
 %endif
 
 %ifarch sparc64
 %undefine      with_memusage
 %endif
 
-%define                core_version    2.22
+%define                core_version    2.26
 %define                llh_version     7:2.6.32.1-1
 
 Summary:       GNU libc
@@ -41,23 +41,24 @@ Summary(tr.UTF-8):  GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       %{core_version}
-Release:       3
+Release:       11
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
 Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: e51e02bf552a0a1fbbdc948fb2f5e83c
+# Source0-md5: 102f637c3812f81111f48f2427611be1
 Source2:       nscd.init
 Source3:       nscd.sysconfig
 Source4:       nscd.logrotate
 # from man-pages.spec --with tars
 Source5:       %{name}-man-pages.tar.xz
-# Source5-md5: 3a4eabb7d28db7d35d8204fdb471a863
+# Source5-md5: 78a8f7f8dfc63123f47a614e99136e61
 Source6:       %{name}-localedb-gen
 Source7:       %{name}-LD-path.c
 Source9:       nscd.tmpfiles
-# git diff glibc-2.22..release/2.22/master
+# use branch.sh to update glibc-git.patch
 Patch0:                glibc-git.patch
+# Patch0-md5:  870116e19a36b22ce35806d01fd75f26
 # against GNU TP (libc domain)
 #Patch1:               %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
@@ -65,7 +66,7 @@ Patch3:               %{name}-crypt-blowfish.patch
 Patch4:                %{name}-no-bash-nls.patch
 Patch5:                %{name}-sparc-softfp-gcc.patch
 Patch6:                %{name}-paths.patch
-Patch7:                1070_all_glibc-fadvise64_64.patch
+
 Patch8:                %{name}-missing-nls.patch
 Patch9:                %{name}-nss_include_dirs.patch
 Patch10:       %{name}-info.patch
@@ -79,20 +80,17 @@ 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
-Patch22:       %{name}-with-stroke.patch
+
 Patch23:       %{name}-pt_pax.patch
-Patch25:       %{name}-cv_gnu89_inline.patch
-Patch27:       %{name}-locale-C.patch.xz
-# Patch27-md5: 34ebe52a2afb923e33af0fb7c541f540
-Patch28:       %{name}-locale-C-pld.patch
+
+# http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-c-utf8-locale.patch
+Patch27:       %{name}-c-utf8-locale.patch
+
 Patch29:       %{name}-arm-alignment-fix.patch
 Patch30:       glibc-rh1124987.patch
-
-Patch38:       1055_all_glibc-resolv-dynamic.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.69
 BuildRequires: automake
 %ifarch alpha
 BuildRequires: binutils >= 2:2.17.50.0.7
@@ -101,7 +99,7 @@ BuildRequires:       binutils >= 2:2.15.90.0.3
 %endif
 %{!?with_cross:BuildRequires:  dietlibc-static}
 BuildRequires: gawk
-BuildRequires: gcc >= 6:4.6
+BuildRequires: gcc >= 6:4.7
 %{?with_memusage:BuildRequires:        gd-devel >= 2.0.1}
 BuildRequires: gettext-tools >= 0.10.36
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
@@ -137,7 +135,7 @@ Conflicts:  kernel24
 Conflicts:     kernel24-smp
 Conflicts:     ld.so < 1.9.9-10
 Conflicts:     man-pages < 4.00
-Conflicts:     poldek < 0.18.8-5
+Conflicts:     poldek < 0.30.1-9
 Conflicts:     rc-scripts < 0.3.1-13
 Conflicts:     rpm < 4.1
 Conflicts:     xorg-driver-video-nvidia-libs < 1:295.33
@@ -384,6 +382,18 @@ El antiguo módulo NYS NSS de glibc
 %description -n nss_compat -l pl.UTF-8
 Stary moduł NYS NSS glibc.
 
+%package -n nss_db
+Summary:       NSS glibc module that uses hashed key-value database
+Summary(pl.UTF-8):     Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość
+Group:         Base
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description -n nss_db
+NSS glibc module that uses hashed key-value database.
+
+%description -n nss_db -l pl.UTF-8
+Moduł NSS glibc wykorzystujący haszowaną bazę danych klucz-wartość.
+
 %package -n nss_dns
 Summary:       BIND NSS glibc module
 Summary(es.UTF-8):     Módulo BIND NSS de glibc
@@ -498,6 +508,12 @@ Provides:  %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
 Provides:      %{name}-devel(ix86) = %{epoch}:%{version}-%{release}
 %endif
 Obsoletes:     libiconv-devel
+%ifarch %{x8664}
+# see http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2016-May/024902.html
+%if "%(rpm -q --qf '%{E}:%{V}' binutils)" >= "4:2.26"
+Conflicts: binutils < 4:2.26
+%endif
+%endif
 
 %description devel
 To develop programs which use the standard C libraries (which nearly
@@ -664,35 +680,10 @@ korzystające ze standardowych bibliotek C.
 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}
+Conflicts:     man-pages < 4.09
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
 %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:     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(ix86)
-Obsoletes:     glibc-devel-doc(pentium3)
-Obsoletes:     glibc-devel-doc(pentium4)
-%endif
-%ifarch x32
-Obsoletes:     glibc-devel-doc(x86_64)
-%endif
-%ifarch ppc64
-Obsoletes:     glibc-devel-doc(ppc)
-%endif
-%ifarch s390x
-Obsoletes:     glibc-devel-doc(s390)
-%endif
-%ifarch sparc64
-Obsoletes:     glibc-devel-doc(sparc)
-%endif
-Conflicts:     man-pages < 4.00
 
 %description devel-doc
 The glibc-devel-doc package contains info and manual pages necessary
@@ -955,8 +946,8 @@ kodowania danych z poziomu dowolnego programu.
 %prep
 %setup -q
 
-%if "%{min_kernel}" < "2.6.32"
-echo "Minimal supported kernel is 2.6.32" >&2
+%if "%{min_kernel}" < "3.2.0"
+echo "Minimal supported kernel is 3.2.0" >&2
 exit 1
 %endif
 
@@ -967,9 +958,9 @@ exit 1
 %{!?with_bash_nls:%patch4 -p1}
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
+
 %patch8 -p1
-%patch9 -p0
+%patch9 -p1
 
 %patch10 -p1
 %patch11 -p1
@@ -980,18 +971,14 @@ exit 1
 %patch17 -p1
 %patch18 -p1
 %patch19 -p1
-%patch20 -p1
-%patch22 -p1
+
 %patch23 -p0
 
-%patch25 -p1
 %patch27 -p1
-%patch28 -p1
+
 %patch29 -p1
 %patch30 -p1
 
-%patch38 -p1
-
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 
@@ -1025,9 +1012,12 @@ AWK="gawk" \
        --enable-hidden-plt \
        --enable-kernel="%{min_kernel}" \
        --enable-nss-crypt%{!?with_nss_crypt:=no} \
+       --enable-obsolete-nsl \
        --enable-obsolete-rpc \
        --enable-profile \
+       --enable-stack-protector=strong \
        --enable-stackguard-randomization \
+       --enable-tunables \
        --with-binutils=$(pwd)/alt-tools \
        --with-bugurl=http://bugs.pld-linux.org/ \
        --with-headers=%{_includedir} \
@@ -1036,7 +1026,7 @@ AWK="gawk" \
 
 %{__make} \
        AWK="gawk" \
-       localedir=%{_prefix}/lib/locale \
+       complocaledir=%{_prefix}/lib/locale \
        sLIBdir=%{_libdir}
 
 cd ..
@@ -1048,7 +1038,9 @@ env LANGUAGE=C LC_ALL=C \
 
 %if %{without cross}
 CC="%{__cc}"
-diet ${CC#*ccache } %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
+CC=${CC#*ccache }
+CC=${CC#%{_libdir}/ccache/}
+diet ${CC} %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
 %endif
 
 %install
@@ -1061,14 +1053,14 @@ cd builddir
 env LANGUAGE=C LC_ALL=C \
 %{__make} install \
        install_root=$RPM_BUILD_ROOT \
-       localedir=%{_prefix}/lib/locale \
+       complocaledir=%{_prefix}/lib/locale \
        infodir=%{_infodir} \
        mandir=%{_mandir}
 
 %if %{with localedb}
 env LANGUAGE=C LC_ALL=C \
 %{__make} localedata/install-locales \
-       localedir=%{_prefix}/lib/locale \
+       complocaledir=%{_prefix}/lib/locale \
        install_root=$RPM_BUILD_ROOT
 %else
 install -d $RPM_BUILD_ROOT%{_prefix}/lib/locale
@@ -1137,7 +1129,7 @@ cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf
 rm -rf documentation
 install -d documentation
 
-for f in ChangeLog.old DESIGN-{barrier,condvar,rwlock,systemtap-probes}.txt TODO{,-kernel,-testing}; do
+for f in ChangeLog.old DESIGN-systemtap-probes.txt TODO{,-kernel,-testing}; do
        cp -af nptl/$f documentation/$f.nptl
 done
 cp -af crypt/README.ufc-crypt ChangeLog* documentation
@@ -1161,30 +1153,41 @@ done
 #   tlh - Klingon (bzflag)
 #
 # To be added when they become supported by glibc:
-#   ach    (vlc)
-#   ak     (gtkspell3)
-#   bal    (newt,pessulus)
+#   ach    (vlc, libreport)
+#   aln    (vlc, libreport)
+#   bal    (libosinfo, libreport, newt, pessulus)
 #   cgg    (vlc)
-#   co     (vlc)
-#   frp    (xfce, lxlauncher)
+#   co     (FileZilla, vlc)
+#   frp    (xfce, lxlauncher, mate)
 #   gn     (gn_BR in gnome, maybe gn_PY)
+#   guc    (gtk-vnc)
 #   haw    (iso-codes, stellarium)
 #   hrx    (stellarium)
-#   ilo    (kudzu)
+#   ilo    (kudzu, libosinfo, libreport)
 #   io     (gtk+2, gnome, alacarte)
-#   jv     (gmpc, avant-window-navigator, kdesudo)
+#   jv     (gmpc, avant-window-navigator, kdesudo, mate)
+#   kab    (FileZilla)
+#   kok@latin  (inkscape)
 #   kmr    (vlc)
-#   ku_IQ  (mate-menus,mozo)
+#   ku_IQ  (mate)
+#   kw@kkcor, kw@uccor (libosinfo - currently empty) - add as supported variants when non-empty?
 #   man    (ccsm; incorrectly named md)
+#   mni@beng[ali]  (inkscape)
 #   mus    (bluez-gnome)
-#   nah    (mate-system-monitor)
-#   pms    (deluge)
-#   sco    (gnomad2, picard, stellarium)
+#   nah    (mate)
+#   nqo           (mate)
+#   pms    (deluge, mate-tweak)
+#   sat@deva[nagari]  (inkscape)
+#   sco    (gnomad2, picard, stellarium, mate)
 #   son    (gtkspell3)
+#   su     (terminator)
 #   swg    (sim)
 #   syr    (iso-codes)
 #   tet    (vlc)
+#   tpi    (mate-tweak)
+#   tw     (libosinfo)
 #   vec    (mate-applet-indicator)
+#   wba    (libosinfo)
 #
 # To be removed (after fixing packages still using it):
 #   sr@Latn (use sr@latin instead)
@@ -1192,6 +1195,8 @@ done
 #
 # Short forms (omitted country code, used instead of long form) for ambiguous or unclear cases:
 # aa=aa_ER
+# ak=ak_GH
+# anp=anp_IN
 # 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
@@ -1210,8 +1215,12 @@ done
 # fy=fy_NL
 # gez=gez_ET (?)
 # it=it_IT
+# ks=ks_IN
+# ks@devanagari=ks_IN@devanagari
 # ku=ku_TR
 # li=li_NL
+# ln=ln_CD
+# lo=lo_LA
 # nds=nds_DE
 # nl=nl_NL
 # om=om_ET
@@ -1221,6 +1230,8 @@ done
 # quz=quz_PE
 # ru=ru_RU
 # sd=sd_IN
+# sd@devanagari=sd_IN@devanagari
+# shn=shn_MM
 # so=so_SO
 # sr=sr_RS [cyrillic]
 # sr@latin=sr_RS@latin
@@ -1239,14 +1250,14 @@ 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 az_IR be@latin be@tarask bem \
+for i in aa aa@saaho af ak am an ang anp 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 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 szl tl \
+       hi hne hsb hy ia id ig ik is it_CH iu ka kg kk kl km kn kok ks ks@devanagari ku kw ky la lb \
+       lg li ln 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 sd@devanagari se shn si sid sl so sq sr sr@Latn szl 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
@@ -1260,7 +1271,7 @@ 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 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
+       ms nb nl pl pt pt_BR ro ru rw sk sl sr 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
@@ -1309,6 +1320,11 @@ if [ "$1" != 1 ]; then
        %service -q crond restart
 fi
 
+%triggerin -- apache-base
+if [ "$1" != 1 ]; then
+       %service -q httpd restart
+fi
+
 %ifarch %{x8664}
 # when upgrading from glibc < 6:2.19-3 copy locale-archive
 # from /usr/lib64/locale to /usr/lib/locale
@@ -1449,13 +1465,6 @@ fi
 %endif
 %dir %{_prefix}/lib/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-%{core_version}.so
@@ -1772,6 +1781,13 @@ fi
 %attr(755,root,root) /%{_lib}/libnss_compat-%{core_version}.so
 %attr(755,root,root) /%{_lib}/libnss_compat.so.2
 
+%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_hesiod
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libnss_hesiod-%{core_version}.so
@@ -1822,6 +1838,9 @@ fi
 %{_libdir}/libc.so
 %{_libdir}/libpthread.so
 # static-only libs
+%ifarch %{x8664} x32
+%{_libdir}/libmvec_nonshared.a
+%endif
 %{_libdir}/libc_nonshared.a
 %{_libdir}/libg.a
 %{_libdir}/libieee.a
@@ -1876,12 +1895,14 @@ fi
 
 %files devel-doc
 %defattr(644,root,root,755)
-%doc documentation/* PROJECTS
+%doc documentation/*
 %{_infodir}/libc.info*
 
 %{_mandir}/man1/sprof.1*
 # just a link to getcwd.3
 %{_mandir}/man2/getcwd.2*
+# just a link to killpg.3
+%{_mandir}/man2/killpg.2*
 %{_mandir}/man3/*
 %{_mandir}/man7/aio.7*
 %{_mandir}/man7/attributes.7*
@@ -1898,10 +1919,13 @@ fi
 %{_mandir}/man7/sem_overview.7*
 %{_mandir}/man7/shm_overview.7*
 %lang(cs) %{_mandir}/cs/man3/*
+%lang(de) %{_mandir}/de/man2/killpg.2*
 %lang(de) %{_mandir}/de/man3/*
+%lang(es) %{_mandir}/es/man2/killpg.2*
 %lang(es) %{_mandir}/es/man3/*
 %lang(es) %{_mandir}/es/man7/glob.7*
 %lang(fr) %{_mandir}/fr/man2/getcwd.2*
+%lang(fr) %{_mandir}/fr/man2/killpg.2*
 %lang(fr) %{_mandir}/fr/man3/*
 %lang(fr) %{_mandir}/fr/man7/complex.7*
 %lang(fr) %{_mandir}/fr/man7/feature_test_macros.7*
@@ -1915,6 +1939,7 @@ fi
 %lang(it) %{_mandir}/it/man7/glob.7*
 %lang(ja) %{_mandir}/ja/man1/sprof.1*
 %lang(ja) %{_mandir}/ja/man2/getcwd.2*
+%lang(ja) %{_mandir}/ja/man2/killpg.2*
 %lang(ja) %{_mandir}/ja/man3/*
 %lang(ja) %{_mandir}/ja/man7/aio.7*
 %lang(ja) %{_mandir}/ja/man7/complex.7*
@@ -1927,12 +1952,16 @@ fi
 %lang(ja) %{_mandir}/ja/man7/pthreads.7*
 %lang(ja) %{_mandir}/ja/man7/sem_overview.7*
 %lang(ja) %{_mandir}/ja/man7/shm_overview.7*
+%lang(ko) %{_mandir}/ko/man2/killpg.2*
 %lang(ko) %{_mandir}/ko/man3/*
 %lang(nl) %{_mandir}/nl/man3/*
+%lang(pl) %{_mandir}/pl/man2/killpg.2*
 %lang(pl) %{_mandir}/pl/man3/*
+%lang(pt) %{_mandir}/pt/man2/killpg.2*
 %lang(pt) %{_mandir}/pt/man3/*
 %lang(pt) %{_mandir}/pt/man7/glob.7*
 %lang(ru) %{_mandir}/ru/man1/sprof.1*
+%lang(ru) %{_mandir}/ru/man2/killpg.2*
 %lang(ru) %{_mandir}/ru/man3/*
 %lang(ru) %{_mandir}/ru/man7/glob.7*
 %lang(tr) %{_mandir}/tr/man3/*
@@ -1950,6 +1979,7 @@ fi
 %{_libdir}/libm.a
 %{_libdir}/libmcheck.a
 %ifarch %{x8664} x32
+%{_libdir}/libm-%{core_version}.a
 %{_libdir}/libmvec.a
 %endif
 %{_libdir}/libnsl.a
This page took 1.06536 seconds and 4 git commands to generate.