X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=glibc.spec;h=bf828cad0558860240c1e41ffae4f49056e10ee7;hb=f9a3b9be3b21b9edc8d8c52461a0d11626fa062d;hp=be3d1864823273e495820392e41901994bdf80a8;hpb=dbccc6423e35df185b17dba195b9e52c4a0fc76c;p=packages%2Fglibc.git diff --git a/glibc.spec b/glibc.spec index be3d186..bf828ca 100644 --- a/glibc.spec +++ b/glibc.spec @@ -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,21 +8,20 @@ # - 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.16) %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) # -%{!?min_kernel:%global min_kernel 2.6.12} +%{!?min_kernel:%global min_kernel 2.6.16} %ifarch sparc64 %undefine with_memusage %endif -%define core_version 2.16 -%define ports_version 2.16.0 +%define core_version 2.18 %define llh_version 7:2.6.20.4-1 Summary: GNU libc @@ -33,15 +34,13 @@ Summary(ru.UTF-8): GNU libc версии Summary(tr.UTF-8): GNU libc Summary(uk.UTF-8): GNU libc версії Name: glibc -Version: %{core_version}.0 -Release: 0.1 +Version: %{core_version} +Release: 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: 88fbbceafee809e82efd52efa1e3c58f Source2: nscd.init Source3: nscd.sysconfig Source4: nscd.logrotate @@ -59,12 +58,13 @@ 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 +Patch7: 1070_all_glibc-fadvise64_64.patch Patch8: %{name}-missing-nls.patch Patch9: %{name}-java-libc-wait.patch Patch10: %{name}-info.patch -Patch11: %{name}-no_debuggable_objects.patch -Patch12: %{name}-rh-bug-769421.patch +Patch11: %{name}-autoconf.patch +Patch12: %{name}-format.patch + Patch14: %{name}-sparc-errno_fix.patch Patch15: %{name}-new-charsets.patch Patch16: %{name}-tzfile-noassert.patch @@ -79,15 +79,11 @@ Patch25: %{name}-cv_gnu89_inline.patch Patch26: %{name}-posix-sh.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 Patch38: 1055_all_glibc-resolv-dynamic.patch - -Patch42: %{name}-pr13013.patch URL: http://www.gnu.org/software/libc/ %{?with_selinux:BuildRequires: audit-libs-devel} BuildRequires: autoconf @@ -104,13 +100,14 @@ 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 BuildRequires: sed >= 4.0.5 BuildRequires: texinfo Requires(post): ldconfig = %{epoch}:%{version}-%{release} +Requires: filesystem Requires: uname(release) >= %{min_kernel} Provides: glibc(nptl) Provides: glibc(tls) @@ -133,13 +130,15 @@ Conflicts: man-pages < 1.43 Conflicts: poldek < 0.18.8-5 Conflicts: rc-scripts < 0.3.1-13 Conflicts: rpm < 4.1 +Conflicts: xorg-driver-video-nvidia-libs < 1:295.33 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) %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 @@ -301,6 +300,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 @@ -373,6 +375,9 @@ Requires: %{name}-headers(64bit) = %{epoch}:%{version}-%{release} 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 @@ -432,6 +437,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} +%ifarch %{ix86} +Provides: %{name}-headers(ix86) = %{epoch}:%{version}-%{release} +%endif %if "%{_lib}" == "lib64" Provides: %{name}-headers(64bit) = %{epoch}:%{version}-%{release} %endif @@ -483,6 +491,9 @@ 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 %{ix86} +Provides: %{name}-devel-utils(ix86) = %{epoch}:%{version}-%{release} +%endif %ifarch %{x8664} # If both -m32 and -m64 is to be supported on AMD64, x86_64 package # have to be installed, not ix86 one. @@ -529,6 +540,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. @@ -709,6 +723,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 @@ -912,23 +929,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.16" +echo "Minimal supported kernel is 2.6.16" >&2 +exit 1 +%endif %patch2 -p1 %patch3 -p0 %patch4 -p1 %patch5 -p1 %patch6 -p1 -# OBSOLETE? -#%patch7 -p1 +%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 -# CHECK, POSSIBLY UPDATE -#%patch11 -p1 -# CHECK, LIKELY OBSOLETE -#%patch12 -p1 +%patch11 -p1 +%patch12 -p1 + %patch14 -p0 %patch15 -p1 %patch16 -p1 @@ -944,20 +963,12 @@ mv %{name}-ports-%{ports_version} ports %patch26 -p1 %patch29 -p1 -%patch30 -p0 + %patch31 -p1 %patch32 -p1 -%patch33 -p1 - -# SHOULD BE OBSOLETE -#%patch35 -p1 %patch38 -p1 -# THIS APPLIES BUT MAKE SURE ITS NEEDED -# most likely was fixed by 8fdceb2efda8cf724cfc4444af86b5f135ad3172 -# %%patch42 -p1 - # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f @@ -994,9 +1005,9 @@ PATH=$(pwd)/alt-tools:$PATH; export PATH AWK="gawk" \ ../%configure \ + --with-bugurl=http://bugs.pld-linux.org/ \ --with-binutils=$(pwd)/alt-tools \ --enable-kernel="%{min_kernel}" \ - --enable-omitfp \ --with-headers=%{_includedir} \ --with%{!?with_selinux:out}-selinux \ --with-tls \ @@ -1020,7 +1031,7 @@ cd .. %if %{with tests} cd builddir env LANGUAGE=C LC_ALL=C \ -%{__make} tests 2>&1 | awk ' +%{__make} -j1 tests 2>&1 | awk ' BEGIN { file = "" } { if (($0 ~ /\*\*\* \[.*\.out\] Error/) && ($0 !~ /annexc/) && (file == "")) { @@ -1042,9 +1053,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,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 \ @@ -1068,7 +1079,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} @@ -1122,7 +1133,7 @@ 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 +install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf rm -rf documentation install -d documentation @@ -1134,7 +1145,7 @@ 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}" @@ -1153,9 +1164,11 @@ done # 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) # bal (newt,pessulus) # bem (alacarte) +# cgg (vlc) # co (vlc) # fil (stellarium) # frp (xfce, lxlauncher) @@ -1165,6 +1178,7 @@ done # ilo (kudzu) # 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) @@ -1178,11 +1192,7 @@ done # # 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 @@ -1196,6 +1206,8 @@ done # eo=common # es=es_ES # eu=eu_ES +# fa=fa_IR +# ff=ff_SN # fr=fr_FR # fy=fy_NL # gez=gez_ET (?) @@ -1204,11 +1216,15 @@ done # nds=nds_DE # nl=nl_NL # om=om_ET +# or=or_IN # pa=pa_IN # pt=pt_PT # ru=ru_RU # 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 @@ -1226,27 +1242,28 @@ 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 \ 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 \ + 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 \ - 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 + 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 \ + 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 @@ -1257,11 +1274,22 @@ 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 @@ -1448,8 +1476,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* @@ -1729,7 +1757,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