Compare commits
10 Commits
fecb56f0e2
...
8105a261e2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8105a261e2 | ||
|
|
25c62aef2b | ||
|
|
091957ec5a | ||
|
|
6bc1cfcc08 | ||
|
|
bc1b0172f8 | ||
|
|
817937173e | ||
|
|
adc7c29dd0 | ||
|
|
cb86048e83 | ||
|
|
5d501b8792 | ||
|
|
0bd2453472 |
55
Disable-racy-test-in-test-iolint.awk.patch
Normal file
55
Disable-racy-test-in-test-iolint.awk.patch
Normal 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
|
||||
|
||||
43
Reorder-statements-in-iolint-to-try-to-eliminate-a-r.patch
Normal file
43
Reorder-statements-in-iolint-to-try-to-eliminate-a-r.patch
Normal 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
|
||||
|
||||
61
Restore-removed-test-in-test-iolint.awk.patch
Normal file
61
Restore-removed-test-in-test-iolint.awk.patch
Normal 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
|
||||
|
||||
30
backport-CVE-2023-4156.patch
Normal file
30
backport-CVE-2023-4156.patch
Normal 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
102
gawk-5.1.1-sw.patch
Normal 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
BIN
gawk-5.1.1.tar.xz
Normal file
Binary file not shown.
45
gawk.spec
45
gawk.spec
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user