set -e
url=git://sourceware.org/git/glibc.git
package=glibc
-tag=glibc-2.27
-branch=release/2.27/master
+tag=glibc-2.28
+branch=release/2.28/master
out=$package-git.patch
repo=$package.git
lang_name "<U12A0><U121B><U122D><U129B>"
lang_ab "am"
lang_term "amh"
---- glibc-2.27/localedata/locales/an_ES.orig 2018-02-02 19:23:27.279323076 +0100
-+++ glibc-2.27/localedata/locales/an_ES 2018-02-04 12:05:26.590983420 +0100
-@@ -136,9 +136,10 @@
- country_ab2 "ES"
- country_ab3 "ESP"
- country_num 724
-+country_car "E"
-+country_isbn "84"
- lang_ab "an"
- lang_term "arg"
- lang_lib "arg"
--country_car "E"
- lang_name "aragon<U00E9>s"
- END LC_ADDRESS
--- glibc-2.27/localedata/locales/anp_IN.orig 2018-02-02 19:23:27.282656408 +0100
+++ glibc-2.27/localedata/locales/anp_IN 2018-02-02 21:40:03.205896158 +0100
@@ -175,6 +175,7 @@
order_start <HAN>;forward;forward;forward;forward,position
<U4E00> <U4E00>;IGNORE;IGNORE;IGNORE
.. ..;IGNORE;IGNORE;IGNORE
---- glibc-2.6/localedata/locales/iso14651_t1_pinyin.orig 2007-04-28 08:49:17.000000000 +0200
-+++ glibc-2.6/localedata/locales/iso14651_t1_pinyin 2007-05-20 17:28:31.456370501 +0200
-@@ -1,9 +1,9 @@
- LC_COLLATE
-
--copy "iso14651_t1_common"
--
- script <HAN>
-
-+copy "iso14651_t1_common"
-+
- order_start <HAN>;forward;forward;forward;forward,position
- <U5416> <U5416>;IGNORE;IGNORE;IGNORE #吖104
- <U814C> <U814C>;IGNORE;IGNORE;IGNORE #腌185
+
ro_RO.UTF-8/UTF-8 \
ro_RO/ISO-8859-2 \
ru_RU.KOI8-R/KOI8-R \
-@@ -419,12 +419,16 @@ ru_RU.UTF-8/UTF-8 \
+@@ -420,13 +420,17 @@ ru_RU.UTF-8/UTF-8 \
ru_RU/ISO-8859-5 \
ru_UA.UTF-8/UTF-8 \
ru_UA/KOI8-U \
+rw_RW.ISO-8859-1/ISO-8859-1 \
rw_RW/UTF-8 \
sa_IN/UTF-8 \
+ sah_RU/UTF-8 \
sat_IN/UTF-8 \
+sc_IT.ISO-8859-1/ISO-8859-1 \
+sc_IT.ISO-8859-15/ISO-8859-15 \
+++ /dev/null
-commit 780684eb04298977bc411ebca1eadeeba4877833
-Author: Maciej W. Rozycki <macro@mips.com>
-Date: Wed Jun 27 21:12:16 2018 +0100
-
- nisplus: Correct pwent parsing issue and resulting build error [BZ #23266]
-
- Copy and null-terminate NIS+ password file UID and GID entries whose
- length is non-zero and are not terminated, in addition to empty ones,
- fixing a bug and a compilation issue causing an error with GCC 8:
-
- nss_nisplus/nisplus-parser.c: In function '_nss_nisplus_parse_pwent':
- nss_nisplus/nisplus-parser.c:90:7: error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation]
- strncpy (first_unused, numstr, len);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- nss_nisplus/nisplus-parser.c:106:7: error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation]
- strncpy (first_unused, numstr, len);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- introduced with commit ac05397075f6:
-
- commit ac05397075f621cfdbe1db527c96167a58b6d18e
- Author: Ulrich Drepper <drepper@redhat.com>
- Date: Sun Apr 30 07:01:26 2006 +0000
-
- * nis/nss_nisplus/nisplus-parser.c: Minor optimizations and
- cleanups. Avoid copying data if it can be used in the old place.
-
- (no mailing list reference available). Obviously regardless of the
- recently added compiler diagnostics causing a build error this code has
- been long non-functional, so I guess NIS+ servers have been supplying
- strings that are non-empty and have already been null-terminated.
- Which in turn made it unnecessary to make a null-terminated copy,
- masking this bug.
-
- [BZ #23266]
- * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
- Copy and null-terminate entries that are not terminated, in
- addition to empty ones.
-
-diff --git a/nis/nss_nisplus/nisplus-parser.c b/nis/nss_nisplus/nisplus-parser.c
-index 8dc021e73d..d2b06334c2 100644
---- a/nis/nss_nisplus/nisplus-parser.c
-+++ b/nis/nss_nisplus/nisplus-parser.c
-@@ -82,7 +82,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw,
-
- char *numstr = NISOBJVAL (2, obj);
- len = NISOBJLEN (2, obj);
-- if (len == 0 && numstr[len - 1] != '\0')
-+ if (len == 0 || numstr[len - 1] != '\0')
- {
- if (len >= room_left)
- goto no_more_room;
-@@ -98,7 +98,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw,
-
- numstr = NISOBJVAL (3, obj);
- len = NISOBJLEN (3, obj);
-- if (len == 0 && numstr[len - 1] != '\0')
-+ if (len == 0 || numstr[len - 1] != '\0')
- {
- if (len >= room_left)
- goto no_more_room;
+++ /dev/null
---- glibc-2.5/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h.orig 2006-01-14 12:09:02.000000000 +0000
-+++ glibc-2.5/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h 2006-12-30 20:17:12.000000000 +0000
-@@ -105,16 +105,15 @@
-
- #define __FP_FRAC_ADD_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \
- do { \
-- /* We need to fool gcc, as we need to pass more than 10 \
-- input/outputs. */ \
-- register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
- __asm__ __volatile__ ("\
-- addcc %r8,%9,%1\n\
-- addxcc %r6,%7,%0\n\
-- addxcc %r4,%5,%%g2\n\
-- addx %r2,%3,%%g1" \
-+ addcc %r10,%11,%1\n\
-+ addxcc %r8,%9,%0\n\
-+ addxcc %r6,%7,%3\n\
-+ addx %r4,%5,%2" \
- : "=&r" ((USItype)(r1)), \
-- "=&r" ((USItype)(r0)) \
-+ "=&r" ((USItype)(r0)), \
-+ "=&r" ((USItype)(r3)), \
-+ "=&r" ((USItype)(r2)) \
- : "%rJ" ((USItype)(x3)), \
- "rI" ((USItype)(y3)), \
- "%rJ" ((USItype)(x2)), \
-@@ -123,23 +122,20 @@
- "rI" ((USItype)(y1)), \
- "%rJ" ((USItype)(x0)), \
- "rI" ((USItype)(y0)) \
-- : "cc", "g1", "g2"); \
-- __asm__ __volatile__ ("" : "=r" (_t1), "=r" (_t2)); \
-- r3 = _t1; r2 = _t2; \
-+ : "cc"); \
- } while (0)
-
- #define __FP_FRAC_SUB_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \
- do { \
-- /* We need to fool gcc, as we need to pass more than 10 \
-- input/outputs. */ \
-- register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
- __asm__ __volatile__ ("\
-- subcc %r8,%9,%1\n\
-- subxcc %r6,%7,%0\n\
-- subxcc %r4,%5,%%g2\n\
-- subx %r2,%3,%%g1" \
-+ subcc %r10,%11,%1\n\
-+ subxcc %r8,%9,%0\n\
-+ subxcc %r6,%7,%3\n\
-+ subx %r4,%5,%2" \
- : "=&r" ((USItype)(r1)), \
-- "=&r" ((USItype)(r0)) \
-+ "=&r" ((USItype)(r0)), \
-+ "=&r" ((USItype)(r3)), \
-+ "=&r" ((USItype)(r2)) \
- : "%rJ" ((USItype)(x3)), \
- "rI" ((USItype)(y3)), \
- "%rJ" ((USItype)(x2)), \
-@@ -148,9 +144,7 @@
- "rI" ((USItype)(y1)), \
- "%rJ" ((USItype)(x0)), \
- "rI" ((USItype)(y0)) \
-- : "cc", "g1", "g2"); \
-- __asm__ __volatile__ ("" : "=r" (_t1), "=r" (_t2)); \
-- r3 = _t1; r2 = _t2; \
-+ : "cc"); \
- } while (0)
-
- #define __FP_FRAC_DEC_3(x2,x1,x0,y2,y1,y0) __FP_FRAC_SUB_3(x2,x1,x0,x2,x1,x0,y2,y1,y0)
%undefine with_memusage
%endif
-%define core_version 2.27
+%define core_version 2.28
%define llh_version 7:2.6.32.1-1
Summary: GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: %{core_version}
-Release: 16
+Release: 1
Epoch: 6
License: LGPL v2.1+
Group: Libraries
Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 898cd5656519ffbc3a03fe811dd89e82
+# Source0-md5: c81d2388896379997bc359d4f2084239
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
Source7: %{name}-LD-path.c
Source9: nscd.tmpfiles
# use branch.sh to update glibc-git.patch
-Patch0: glibc-git.patch
-# Patch0-md5: 6541f38f2bb26bb288bc298a240912ca
+#Patch0: glibc-git.patch
+# Patch0-md5: d41d8cd98f00b204e9800998ecf8427e
# 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
# https://sourceware.org/bugzilla/show_bug.cgi?id=23414
Patch7: %{name}-tzset-default.patch
Patch9: %{name}-nss_include_dirs.patch
Patch10: %{name}-info.patch
Patch11: %{name}-autoconf.patch
-Patch12: glibc-nis-build.patch
Patch14: %{name}-sparc-errno_fix.patch
Patch15: %{name}-new-charsets.patch
BuildRequires: bison >= 2.7
%{!?with_cross:BuildRequires: dietlibc-static}
BuildRequires: gawk
-BuildRequires: gcc >= 6:4.7
+BuildRequires: gcc >= 6:8.0
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-tools >= 0.10.36
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
Provides: glibc64
Obsoletes: glibc64
%endif
+Suggests: libidn2 >= 2.0.5
Suggests: localedb
Suggests: tzdata
Conflicts: %{name}-misc < %{epoch}:%{version}-%{release}
exit 1
%endif
-%patch0 -p1
+#%patch0 -p1
%patch2 -p1
%patch3 -p0
%{!?with_bash_nls:%patch4 -p1}
-%patch5 -p1
+
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch10 -p1
%patch11 -p1
-%patch12 -p1
%patch14 -p0
%patch15 -p1
AWK="gawk" \
../%configure \
- --enable-add-ons=libidn \
+%ifarch %{x8664} i686 x32
+ --enable-cet \
+%endif
--enable-bind-now \
--enable-experimental-malloc \
--enable-hidden-plt \
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
%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
%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
%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