X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=glibc.spec;h=8ffa21d8dd2b9ee6b70bad6cc8a3a08fa90ac853;hb=89c8ddfa05a4be7784d69f0abd05f3cd37016d77;hp=2092e40bf2fa556bacce4ec9c47477367f36b2bf;hpb=777c9b6a3f586b8872f47ac1f4a832ad6e86e497;p=packages%2Fglibc.git diff --git a/glibc.spec b/glibc.spec index 2092e40..8ffa21d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -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 3.4.0 except for x86/x86_64 where 2.6.32 suffices) +# 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" @@ -16,9 +16,10 @@ %bcond_with cross # make a cross build, skip native programs %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 +%bcond_without cet # Intel Control-flow Enforcement Technology (CET) # %ifarch %{ix86} %{x8664} -%{!?min_kernel:%global min_kernel 2.6.32} +%{!?min_kernel:%global min_kernel 3.2.0} %else %{!?min_kernel:%global min_kernel 3.4.0} %endif @@ -26,8 +27,11 @@ %ifarch sparc64 %undefine with_memusage %endif +%ifnarch i686 %{x8664} x32 +%undefine with_cet +%endif -%define core_version 2.25 +%define core_version 2.28 %define llh_version 7:2.6.32.1-1 Summary: GNU libc @@ -41,12 +45,12 @@ Summary(tr.UTF-8): GNU libc Summary(uk.UTF-8): GNU libc версії Name: glibc Version: %{core_version} -Release: 5 +Release: 6 Epoch: 6 License: LGPL v2.1+ Group: Libraries Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz -# Source0-md5: 1496c3bf41adf9db0ebd0af01f202eed +# Source0-md5: c81d2388896379997bc359d4f2084239 Source2: nscd.init Source3: nscd.sysconfig Source4: nscd.logrotate @@ -58,13 +62,13 @@ Source7: %{name}-LD-path.c Source9: nscd.tmpfiles # use branch.sh to update glibc-git.patch Patch0: glibc-git.patch -# Patch0-md5: 0bf158757ab1c8511e7c9320676a7188 +# Patch0-md5: 58ef96284acee989798495055657acde # against GNU TP (libc domain) #Patch1: %{name}-pl.po-update.patch Patch2: %{name}-pld.patch Patch3: %{name}-crypt-blowfish.patch Patch4: %{name}-no-bash-nls.patch -Patch5: %{name}-sparc-softfp-gcc.patch + Patch6: %{name}-paths.patch Patch8: %{name}-missing-nls.patch @@ -80,7 +84,6 @@ 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 Patch23: %{name}-pt_pax.patch @@ -89,20 +92,21 @@ Patch27: %{name}-c-utf8-locale.patch Patch29: %{name}-arm-alignment-fix.patch Patch30: glibc-rh1124987.patch - -Patch38: 1055_all_glibc-resolv-dynamic.patch +# electron is broken but we have no way to fix it so for now lets break glibc again +Patch31: 0001-Revert-elf-Correct-absolute-SHN_ABS-symbol-run-time-.patch URL: http://www.gnu.org/software/libc/ %{?with_selinux:BuildRequires: audit-libs-devel} BuildRequires: autoconf >= 2.69 BuildRequires: automake -%ifarch alpha -BuildRequires: binutils >= 2:2.17.50.0.7 -%else -BuildRequires: binutils >= 2:2.15.90.0.3 -%endif +BuildRequires: binutils >= 2:2.29 +BuildRequires: bison >= 2.7 %{!?with_cross:BuildRequires: dietlibc-static} BuildRequires: gawk +%if %{with cet} +BuildRequires: gcc >= 6:8.0 +%else BuildRequires: gcc >= 6:4.7 +%endif %{?with_memusage:BuildRequires: gd-devel >= 2.0.1} BuildRequires: gettext-tools >= 0.10.36 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18} @@ -129,6 +133,7 @@ Obsoletes: glibc-debug Provides: glibc64 Obsoletes: glibc64 %endif +Suggests: libidn2 >= 2.0.5 Suggests: localedb Suggests: tzdata Conflicts: %{name}-misc < %{epoch}:%{version}-%{release} @@ -181,6 +186,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _noautoprov .*\(GLIBC_PRIVATE\) %define _noautoreq .*\(GLIBC_PRIVATE\) +# to avoid multi-arch conflicts on getconf/* files +%define _libexecdir %{_libdir} + %description Contains the standard libraries that are used by multiple programs on the system. In order to save disk space and memory, as well as to ease @@ -949,8 +957,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 @@ -959,11 +967,11 @@ exit 1 %patch2 -p1 %patch3 -p0 %{!?with_bash_nls:%patch4 -p1} -%patch5 -p1 + %patch6 -p1 %patch8 -p1 -%patch9 -p0 +%patch9 -p1 %patch10 -p1 %patch11 -p1 @@ -974,7 +982,6 @@ exit 1 %patch17 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 %patch23 -p0 @@ -982,8 +989,7 @@ exit 1 %patch29 -p1 %patch30 -p1 - -%patch38 -p1 +%patch31 -p1 # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f @@ -1012,16 +1018,20 @@ PATH=$(pwd)/alt-tools:$PATH; export PATH AWK="gawk" \ ../%configure \ - --enable-add-ons=libidn \ +%if %{with cet} + --enable-cet \ +%endif --enable-bind-now \ --enable-experimental-malloc \ --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-static-pie \ --enable-tunables \ --with-binutils=$(pwd)/alt-tools \ --with-bugurl=http://bugs.pld-linux.org/ \ @@ -1091,7 +1101,7 @@ install -p glibc-postinst $RPM_BUILD_ROOT/sbin mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir} # make symlinks across top-level directories absolute -for l in BrokenLocale anl cidn crypt dl \ +for l in BrokenLocale anl crypt dl \ %ifarch %{x8664} x32 mvec \ %endif @@ -1134,7 +1144,7 @@ cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf rm -rf documentation install -d documentation -for f in ChangeLog.old DESIGN-systemtap-probes.txt TODO{,-kernel,-testing}; do +for f in DESIGN-systemtap-probes.txt TODO{,-kernel,-testing}; do cp -af nptl/$f documentation/$f.nptl done cp -af crypt/README.ufc-crypt ChangeLog* documentation @@ -1386,7 +1396,7 @@ fi %files -f %{name}.lang %defattr(644,root,root,755) -%doc README NEWS BUGS CONFORMANCE +%doc README NEWS %if %{without cross} %attr(755,root,root) /sbin/glibc-postinst %endif @@ -1426,8 +1436,6 @@ fi %else %attr(755,root,root) /%{_lib}/libc.so.6 %endif -%attr(755,root,root) /%{_lib}/libcidn-%{core_version}.so -%attr(755,root,root) /%{_lib}/libcidn.so.1 %attr(755,root,root) /%{_lib}/libdl-%{core_version}.so %ifarch alpha %attr(755,root,root) /%{_lib}/libdl.so.2.1 @@ -1825,7 +1833,6 @@ fi %attr(755,root,root) %{_libdir}/libBrokenLocale.so %attr(755,root,root) %{_libdir}/libanl.so %attr(755,root,root) %{_libdir}/libcrypt.so -%attr(755,root,root) %{_libdir}/libcidn.so %attr(755,root,root) %{_libdir}/libdl.so %attr(755,root,root) %{_libdir}/libm.so %ifarch %{x8664} x32 @@ -1838,7 +1845,8 @@ fi %attr(755,root,root) %{_libdir}/libthread_db.so %attr(755,root,root) %{_libdir}/libutil.so %{_libdir}/crt[1in].o -%{_libdir}/[MSg]crt1.o +%{_libdir}/[MSgr]crt1.o +%{_libdir}/grcrt1.o # ld scripts %{_libdir}/libc.so %{_libdir}/libpthread.so @@ -1848,11 +1856,9 @@ fi %endif %{_libdir}/libc_nonshared.a %{_libdir}/libg.a -%{_libdir}/libieee.a %ifarch alpha ppc sparc %{_libdir}/libnldbl_nonshared.a %endif -%{_libdir}/libpthread_nonshared.a %{_libdir}/librpcsvc.a %ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 # ABI-dependent headers