Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
8105a261e2
!33 fix CVE-2023-4156
From: @yangmingtaip 
Reviewed-by: @openeuler-basic 
Signed-off-by: @openeuler-basic
2023-08-29 01:34:49 +00:00
yangmingtai
25c62aef2b fix CVE-2023-4156 2023-08-28 20:41:18 +08:00
openeuler-ci-bot
091957ec5a
!29 [sync] PR-28: 修复申威架构编译失败
From: @openeuler-sync-bot 
Reviewed-by: @dillon_chen 
Signed-off-by: @dillon_chen
2023-04-24 09:28:33 +00:00
guoqinglan
6bc1cfcc08 fix sw_64 build
(cherry picked from commit c9ac76644ed9eb88351ecacb516ad806e8d81f28)
2023-04-24 16:51:25 +08:00
openeuler-ci-bot
bc1b0172f8
!21 fix source code cannot be found
From: @zou_lin77 
Reviewed-by: @xujing99 
Signed-off-by: @xujing99
2022-09-02 07:34:21 +00:00
zou_lin77
817937173e fix source code cannot be found 2022-09-02 14:14:53 +08:00
openeuler-ci-bot
adc7c29dd0
!11 fix test case probabilistic fail
From: @zou_lin77 
Reviewed-by: @overweight 
Signed-off-by: @overweight
2022-04-02 01:23:51 +00:00
zou_lin77
cb86048e83 fix test case probabilistic fail 2022-04-01 17:44:11 +08:00
openeuler-ci-bot
5d501b8792 !8 Update gawk to 5.1.1-1
Merge pull request !8 from jlwwlsqc/openEuler-22.03-LTS-Next
2021-12-15 06:43:03 +00:00
renmingshuai
0bd2453472 Update gawk to 5.1.1-1 2021-12-11 10:40:06 +08:00
8 changed files with 332 additions and 4 deletions

View File

@ -0,0 +1,55 @@
From 0ed67a4f4f043acc08e3982a2648e3082e1f245a Mon Sep 17 00:00:00 2001
From: "Arnold D. Robbins" <arnold@skeeve.com>
Date: Sun, 14 Nov 2021 09:33:44 +0200
Subject: [PATCH] Disable racy test in test/iolint.awk.
---
test/iolint.awk | 13 ++++++++-----
test/iolint.ok | 6 +-----
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/test/iolint.awk b/test/iolint.awk
index 257678e..58fd746 100644
--- a/test/iolint.awk
+++ b/test/iolint.awk
@@ -55,12 +55,15 @@ BEGIN {
print close("cat")
fflush()
+ # 11/2021: Disable this test since it's a race condition
+ # and fails intermittently on some systems.
+ #
# `%.*s' used for input pipe and output pipe
- "echo hello" | getline junk
- print "hello" | "echo hello"
- print close("echo hello")
- print close("echo hello")
- fflush()
+ # "echo hello" | getline junk
+ # print "hello" | "echo hello"
+ # print close("echo hello")
+ # print close("echo hello")
+ # fflush()
# `%.*s' used for output file and output pipe"
BINMODE = 2
diff --git a/test/iolint.ok b/test/iolint.ok
index fbf514c..620a70f 100644
--- a/test/iolint.ok
+++ b/test/iolint.ok
@@ -23,11 +23,7 @@ gawk: iolint.awk:53: warning: `cat' used for output file and output pipe
0
hello
0
-gawk: iolint.awk:60: warning: `echo hello' used for input pipe and output pipe
-hello
-0
-0
-gawk: iolint.awk:68: warning: `cksum' used for output file and output pipe
+gawk: iolint.awk:71: warning: `cksum' used for output file and output pipe
3015617425 6
0
0
--
1.8.3.1

View File

@ -0,0 +1,43 @@
From e03c8822c48bedfe6cc7fbd5a9382d9630de6494 Mon Sep 17 00:00:00 2001
From: "Andrew J. Schorr" <aschorr@telemetry-investments.com>
Date: Tue, 7 Dec 2021 12:00:22 -0500
Subject: [PATCH] Reorder statements in iolint to try to eliminate a race
condition.
---
test/iolint.awk | 2 +-
test/iolint.ok | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/iolint.awk b/test/iolint.awk
index 042f743..3ebaf43 100644
--- a/test/iolint.awk
+++ b/test/iolint.awk
@@ -49,8 +49,8 @@ BEGIN {
# `%.*s' used for output pipe and two-way pipe
# Not doing |& due to race condition and signals. sigh
cat = "cat"
- print "hello" | "cat"
print "/bin/cat \"$@\"" > "cat"
+ print "hello" | "cat"
print close("cat")
print close("cat")
fflush()
diff --git a/test/iolint.ok b/test/iolint.ok
index 7a165aa..860bcfb 100644
--- a/test/iolint.ok
+++ b/test/iolint.ok
@@ -20,9 +20,9 @@ gawk: iolint.awk:42: warning: `echo hello' used for input pipe and output file
0
0
gawk: iolint.awk:53: warning: `cat' used for output file and output pipe
-0
hello
0
+0
gawk: iolint.awk:67: warning: `eval $CMD_TO_RUN' used for input pipe and output pipe
0
0
--
1.8.3.1

View File

@ -0,0 +1,61 @@
From dc2613b0af11a8cf97232d55c322d40eda35c224 Mon Sep 17 00:00:00 2001
From: "Arnold D. Robbins" <arnold@skeeve.com>
Date: Thu, 18 Nov 2021 21:04:25 +0200
Subject: [PATCH] Restore removed test in test/iolint.awk.
---
test/iolint.awk | 19 ++++++++++++-------
test/iolint.ok | 5 ++++-
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/test/iolint.awk b/test/iolint.awk
index 58fd746..042f743 100644
--- a/test/iolint.awk
+++ b/test/iolint.awk
@@ -55,15 +55,20 @@ BEGIN {
print close("cat")
fflush()
- # 11/2021: Disable this test since it's a race condition
- # and fails intermittently on some systems.
+ # 11/2021: Use a nice trick to avoid race conditions in
+ # child processes. Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.
#
# `%.*s' used for input pipe and output pipe
- # "echo hello" | getline junk
- # print "hello" | "echo hello"
- # print close("echo hello")
- # print close("echo hello")
- # fflush()
+ pipecmd = "eval $CMD_TO_RUN"
+
+ ENVIRON["CMD_TO_RUN"] = "echo hello"
+ pipecmd | getline junk
+ ENVIRON["CMD_TO_RUN"] = "read junk"
+ print "hello" | pipecmd
+
+ print close(pipecmd)
+ print close(pipecmd)
+ fflush()
# `%.*s' used for output file and output pipe"
BINMODE = 2
diff --git a/test/iolint.ok b/test/iolint.ok
index 620a70f..7a165aa 100644
--- a/test/iolint.ok
+++ b/test/iolint.ok
@@ -23,7 +23,10 @@ gawk: iolint.awk:53: warning: `cat' used for output file and output pipe
0
hello
0
-gawk: iolint.awk:71: warning: `cksum' used for output file and output pipe
+gawk: iolint.awk:67: warning: `eval $CMD_TO_RUN' used for input pipe and output pipe
+0
+0
+gawk: iolint.awk:76: warning: `cksum' used for output file and output pipe
3015617425 6
0
0
--
1.8.3.1

View File

@ -0,0 +1,30 @@
From e709eb829448ce040087a3fc5481db6bfcaae212 Mon Sep 17 00:00:00 2001
From: "Arnold D. Robbins" <arnold@skeeve.com>
Date: Wed, 3 Aug 2022 13:00:54 +0300
Subject: [PATCH] Smal bug fix in builtin.c.
Reference:https://git.savannah.gnu.org/gitweb/?p=gawk.git;a=commitdiff;h=e709eb829448ce040087a3fc5481db6bfcaae212
Conflict:delete changlog
---
builtin.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/builtin.c b/builtin.c
index d7ba82c..3eee9b9 100644
--- a/builtin.c
+++ b/builtin.c
@@ -963,7 +963,10 @@ check_pos:
s1++;
n0--;
}
- if (val >= num_args) {
+ // val could be less than zero if someone provides a field width
+ // so large that it causes integer overflow. Mainly fuzzers do this,
+ // but let's try to be good anyway.
+ if (val < 0 || val >= num_args) {
toofew = true;
break;
}
--
2.27.0

Binary file not shown.

102
gawk-5.1.1-sw.patch Normal file
View File

@ -0,0 +1,102 @@
diff --git a/configure b/configure
index fcef4bd..97affb4 100755
--- a/configure
+++ b/configure
@@ -8122,7 +8122,7 @@ else $as_nop
case "$gl_cv_host_cpu_c_abi" in
i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ x86_64 | sw_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
gl_cv_host_cpu_c_abi_32bit=no ;;
*)
gl_cv_host_cpu_c_abi_32bit=unknown ;;
@@ -8151,7 +8151,7 @@ else $as_nop
;;
# CPUs that only support a 64-bit ABI.
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ sw_64* | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
| mmix )
gl_cv_host_cpu_c_abi_32bit=no
;;
diff --git a/extension/configure b/extension/configure
index d8cf11d..1b424bd 100755
--- a/extension/configure
+++ b/extension/configure
@@ -5705,7 +5705,7 @@ else $as_nop
case "$gl_cv_host_cpu_c_abi" in
i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ x86_64 | sw_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
gl_cv_host_cpu_c_abi_32bit=no ;;
*)
gl_cv_host_cpu_c_abi_32bit=unknown ;;
@@ -5734,7 +5734,7 @@ else $as_nop
;;
# CPUs that only support a 64-bit ABI.
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ sw_64* | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
| mmix )
gl_cv_host_cpu_c_abi_32bit=no
;;
diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4
index 6db2aa2..2244bc4 100644
--- a/m4/host-cpu-c-abi.m4
+++ b/m4/host-cpu-c-abi.m4
@@ -90,6 +90,12 @@ changequote([,])dnl
[gl_cv_host_cpu_c_abi=i386])
;;
+changequote(,)dnl
+ sw_64* )
+changequote([,])dnl
+ gl_cv_host_cpu_c_abi=sw_64
+ ;;
+
changequote(,)dnl
alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] )
changequote([,])dnl
@@ -355,6 +361,9 @@ EOF
#ifndef __x86_64__
#undef __x86_64__
#endif
+#ifndef __sw_64__
+#undef __sw_64__
+#endif
#ifndef __alpha__
#undef __alpha__
#endif
@@ -468,7 +477,7 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
case "$gl_cv_host_cpu_c_abi" in
i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ x86_64 | sw_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
gl_cv_host_cpu_c_abi_32bit=no ;;
*)
gl_cv_host_cpu_c_abi_32bit=unknown ;;
@@ -498,7 +507,7 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
# CPUs that only support a 64-bit ABI.
changequote(,)dnl
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ sw_64* | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
| mmix )
changequote([,])dnl
gl_cv_host_cpu_c_abi_32bit=no
diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4
index 44f9863..b4d17bb 100644
--- a/m4/intdiv0.m4
+++ b/m4/intdiv0.m4
@@ -69,7 +69,7 @@ int main ()
# Guess based on the CPU.
changequote(,)dnl
case "$host_cpu" in
- alpha* | i[34567]86 | x86_64 | m68k | s390*)
+ sw_64* | alpha* | i[34567]86 | x86_64 | m68k | s390*)
gt_cv_int_divbyzero_sigfpe="guessing yes";;
*)
gt_cv_int_divbyzero_sigfpe="guessing no";;

BIN
gawk-5.1.1.tar.xz Normal file

Binary file not shown.

View File

@ -1,15 +1,21 @@
%global gawk_api_major %(tar -xf %{name}-%{version}.tar.xz %{name}-%{version}/gawkapi.h --to-stdout |\
%global gawk_api_major %%(tar -xf %{name}-%{version}.tar.xz %{name}-%{version}/gawkapi.h --to-stdout |\
egrep -i "gawk_api_major.*[0-9]+" | egrep -o "[0-9]")
%global gawk_api_minor %(tar -xf %{name}-%{version}.tar.xz %{name}-%{version}/gawkapi.h --to-stdout |\
%global gawk_api_minor %%(tar -xf %{name}-%{version}.tar.xz %{name}-%{version}/gawkapi.h --to-stdout |\
egrep -i "gawk_api_minor.*[0-9]+" | egrep -o "[0-9]")
Name: gawk
Version: 5.1.0
Release: 1
Version: 5.1.1
Release: 5
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
Summary: The GNU version of the AWK text processing utility
URL: https://www.gnu.org/software/gawk/
Source0: https://ftp.gnu.org/gnu/gawk/gawk-%{version}.tar.xz
Patch1: Disable-racy-test-in-test-iolint.awk.patch
Patch2: Restore-removed-test-in-test-iolint.awk.patch
Patch3: Reorder-statements-in-iolint-to-try-to-eliminate-a-r.patch
Patch4: gawk-5.1.1-sw.patch
Patch5: backport-CVE-2023-4156.patch
BuildRequires: git gcc automake grep
BuildRequires: bison texinfo texinfo-tex ghostscript texlive-ec texlive-cm-super glibc-all-langpacks
BuildRequires: libsigsegv-devel mpfr-devel readline-devel
@ -53,10 +59,13 @@ This subpackage provides with language releated files and locales for gawk.
autoreconf -fv
%configure
%make_build
%ifnarch sw_64
%make_build -C doc pdf
mkdir -p html/gawk html/gawkinet
makeinfo --html -I doc -o html/gawk doc/gawk.texi
makeinfo --html -I doc -o html/gawkinet doc/gawkinet.texi
%endif
%check
make check
@ -72,12 +81,14 @@ ln -sf gawk.1.gz ${RPM_BUILD_ROOT}%{_mandir}/man1/awk.1.gz
ln -sf /usr/share/awk ${RPM_BUILD_ROOT}%{_datadir}/gawk
ln -sf /usr/libexec/awk ${RPM_BUILD_ROOT}%{_libexecdir}/gawk
%ifnarch sw_64
install -m 0755 -d ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html/gawk/
install -m 0755 -d ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html/gawkinet/
install -m 0644 -p html/gawk/* ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html/gawk/
install -m 0644 -p html/gawkinet/* ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html/gawkinet/
install -m 0644 -p doc/gawk.{pdf,ps} ${RPM_BUILD_ROOT}%{_docdir}/%{name}
install -m 0644 -p doc/gawkinet.{pdf,ps} ${RPM_BUILD_ROOT}%{_docdir}/%{name}
%endif
%files
%doc NEWS README POSIX.STD
@ -93,9 +104,11 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} ${RPM_BUILD_ROOT}%{_docdir}/%{name}
%files help
%doc NEWS POSIX.STD README_d/README.multibyte
%ifnarch sw_64
%doc %{_docdir}/%{name}/gawk.{pdf,ps}
%doc %{_docdir}/%{name}/gawkinet.{pdf,ps}
%doc %{_docdir}/%{name}/html
%endif
%{_mandir}/man{1/*,3/*}
%{_infodir}/*awk*.info*
@ -103,6 +116,30 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} ${RPM_BUILD_ROOT}%{_docdir}/%{name}
%{_datadir}/locale/*
%changelog
* Mon Aug 28 2023 yangmingtai <yangmingtai@huawei.com> - 5.1.1-5
- fix CVE-2023-4156
* Sun Apr 23 2023 guoqinglan <guoqinglan@kylinos.com.cn> - 5.1.1-4
- fix sw_64 build
* Fri Sep 2 2022 zoulin <zoulin13@h-partners.com> - 5.1.1-3
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:fix source code cannot be found
* Fri Apr 1 2022 zoulin <zoulin13@h-partners.com> - 5.1.1-2
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:fix test case probabilistic fail
* Sat Dec 11 2021 wangjie <wangjie375@huawei.com> - 5.1.1-1
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Update gawk to 5.1.1-1
* Thu Jul 30 2020 yang_zhuang_zhuang <yangzhuangzhuang1@huawei.com> - 5.1.0-1
- Type:enhancement
- ID:NA