X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=glibc.spec;h=8ffa21d8dd2b9ee6b70bad6cc8a3a08fa90ac853;hb=89c8ddfa05a4be7784d69f0abd05f3cd37016d77;hp=cf17fc1c269f507aa49976e1cfbbeb4761b54e36;hpb=e8e03cd18c832fd31033a4a89434b35e7c93f9fc;p=packages%2Fglibc.git diff --git a/glibc.spec b/glibc.spec index cf17fc1..8ffa21d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -16,6 +16,7 @@ %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 3.2.0} @@ -26,8 +27,11 @@ %ifarch sparc64 %undefine with_memusage %endif +%ifnarch i686 %{x8664} x32 +%undefine with_cet +%endif -%define core_version 2.26 +%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: 8 +Release: 6 Epoch: 6 License: LGPL v2.1+ Group: Libraries Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz -# Source0-md5: 102f637c3812f81111f48f2427611be1 +# 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: b0df22b866ccfc0573d1adf56e270057 +# 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 @@ -88,18 +92,21 @@ Patch27: %{name}-c-utf8-locale.patch Patch29: %{name}-arm-alignment-fix.patch Patch30: glibc-rh1124987.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} @@ -126,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} @@ -178,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 @@ -956,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 @@ -978,6 +989,7 @@ exit 1 %patch29 -p1 %patch30 -p1 +%patch31 -p1 # cleanup backups after patching find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f @@ -1006,7 +1018,9 @@ 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 \ @@ -1017,6 +1031,7 @@ AWK="gawk" \ --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/ \ @@ -1086,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 @@ -1129,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 @@ -1381,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 @@ -1421,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 @@ -1820,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 @@ -1833,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 @@ -1843,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