From c3fa851474b391399def45ab683dc1d105cd177edf0679fdd0eda550261febe5 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Tue, 29 Oct 2019 09:22:29 +0000 Subject: [PATCH] Accepting request 741824 from home:ignatenkobrain:branches:openSUSE:Factory - Fix typo in Summary - Stop overriding %_libexecdir with %_libdir - Fix the backward compatibility of the inplace extension: * Add gawk-inplace-namespace-part1.patch * Add gawk-inplace-namespace-part2.patch * Add gawk-inplace-namespace-part3.patch - Run autoreconf as part of the build process OBS-URL: https://build.opensuse.org/request/show/741824 OBS-URL: https://build.opensuse.org/package/show/Base:System/gawk?expand=0&rev=77 --- gawk-inplace-namespace-part1.patch | 177 +++++++++++++ gawk-inplace-namespace-part2.patch | 70 ++++++ gawk-inplace-namespace-part3.patch | 384 +++++++++++++++++++++++++++++ gawk.changes | 15 ++ gawk.spec | 18 +- 5 files changed, 660 insertions(+), 4 deletions(-) create mode 100644 gawk-inplace-namespace-part1.patch create mode 100644 gawk-inplace-namespace-part2.patch create mode 100644 gawk-inplace-namespace-part3.patch diff --git a/gawk-inplace-namespace-part1.patch b/gawk-inplace-namespace-part1.patch new file mode 100644 index 0000000..9405a54 --- /dev/null +++ b/gawk-inplace-namespace-part1.patch @@ -0,0 +1,177 @@ +From 8f2b0b9128f4d2dc50ae52c304237c8e9d4b85f9 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Wed, 26 Jun 2019 21:34:29 +0300 +Subject: [PATCH 1/3] Fix a problem when using awk::var kinds of names. + +--- + ChangeLog | 6 ++++++ + symbol.c | 5 ++++- + test/ChangeLog | 7 +++++++ + test/Makefile.am | 33 +++++++++++++++++++++++++++++++++ + test/Makefile.in | 33 +++++++++++++++++++++++++++++++++ + 5 files changed, 83 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index 44178ffc..3aa5b12e 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,9 @@ ++2019-06-26 Arnold D. Robbins ++ ++ * symbol.c (install): Strip off any leading `awk::' before ++ installing a symbol. Thanks to Andrew Schorr for the ++ report. ++ + 2019-06-18 Arnold D. Robbins + + * 5.0.1: Release tar ball made. +diff --git a/symbol.c b/symbol.c +index fe928112..e2e07c30 100644 +--- a/symbol.c ++++ b/symbol.c +@@ -306,7 +306,10 @@ install(const char *name, NODE *parm, NODETYPE type) + NODE *n_name; + NODE *prev; + +- n_name = make_string(name, strlen(name)); ++ if (strncmp(name, "awk::", 5) == 0) ++ n_name = make_string(name + 5, strlen(name) - 5); ++ else ++ n_name = make_string(name, strlen(name)); + + table = symbol_table; + +diff --git a/test/ChangeLog b/test/ChangeLog +index a53c2d13..99391b0d 100644 +--- a/test/ChangeLog ++++ b/test/ChangeLog +@@ -1,3 +1,10 @@ ++2019-06-26 Arnold D. Robbins ++ ++ * Makefile.am (EXTRA_DIST): New tests, nsawk1[abc] and nsawk2[ab]. ++ * nsawk1.awk, nsawk1a.ok, nsawk1b.ok, nsawk1c.ok, nsawk2.awk, ++ nsawk2a.ok, nsawk2b.ok: New files. ++ Tests courtesy of Michal Jaegermann. ++ + 2019-06-18 Arnold D. Robbins + + * 5.0.1: Release tar ball made. +diff --git a/test/Makefile.am b/test/Makefile.am +index 58ee1304..d7f6e016 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -782,6 +782,13 @@ EXTRA_DIST = \ + noparms.ok \ + nors.in \ + nors.ok \ ++ nsawk1.awk \ ++ nsawk1a.ok \ ++ nsawk1b.ok \ ++ nsawk1c.ok \ ++ nsawk2.awk \ ++ nsawk2a.ok \ ++ nsawk2b.ok \ + nsbad.awk \ + nsbad.ok \ + nsbad_cmd.ok \ +@@ -1353,6 +1360,7 @@ GAWK_EXT_TESTS = \ + lint lintexp lintindex lintint lintlength lintold lintset lintwarn \ + manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ + nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ ++ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ + nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ + patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge \ + procinfs profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ +@@ -2042,6 +2050,31 @@ readfile2:: + @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + ++nsawk1a:: ++ @echo $@ ++ @$(AWK) -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk1b:: ++ @echo $@ ++ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk1c:: ++ @echo $@ ++ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk2a:: ++ @echo $@ ++ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk2b:: ++ @echo $@ ++ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ + include2:: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) --include inclib 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ +diff --git a/test/Makefile.in b/test/Makefile.in +index ce5b2e26..53827516 100644 +--- a/test/Makefile.in ++++ b/test/Makefile.in +@@ -1041,6 +1041,13 @@ EXTRA_DIST = \ + noparms.ok \ + nors.in \ + nors.ok \ ++ nsawk1.awk \ ++ nsawk1a.ok \ ++ nsawk1b.ok \ ++ nsawk1c.ok \ ++ nsawk2.awk \ ++ nsawk2a.ok \ ++ nsawk2b.ok \ + nsbad.awk \ + nsbad.ok \ + nsbad_cmd.ok \ +@@ -1612,6 +1619,7 @@ GAWK_EXT_TESTS = \ + lint lintexp lintindex lintint lintlength lintold lintset lintwarn \ + manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ + nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ ++ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ + nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ + patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge \ + procinfs profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ +@@ -2491,6 +2499,31 @@ readfile2:: + @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + ++nsawk1a:: ++ @echo $@ ++ @$(AWK) -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk1b:: ++ @echo $@ ++ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk1c:: ++ @echo $@ ++ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk2a:: ++ @echo $@ ++ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ ++nsawk2b:: ++ @echo $@ ++ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ ++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ++ + include2:: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) --include inclib 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ +-- +2.22.0 + diff --git a/gawk-inplace-namespace-part2.patch b/gawk-inplace-namespace-part2.patch new file mode 100644 index 0000000..afdc6e5 --- /dev/null +++ b/gawk-inplace-namespace-part2.patch @@ -0,0 +1,70 @@ +From 076eb06c0c714ca6ee95ca512d114bf9f41038e0 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Wed, 26 Jun 2019 21:40:31 +0300 +Subject: [PATCH 2/3] Add tests for previous fix to namespaces. + +--- + test/nsawk1.awk | 5 +++++ + test/nsawk1a.ok | 0 + test/nsawk1b.ok | 0 + test/nsawk1c.ok | 0 + test/nsawk2.awk | 5 +++++ + test/nsawk2a.ok | 1 + + test/nsawk2b.ok | 1 + + 7 files changed, 12 insertions(+) + create mode 100644 test/nsawk1.awk + create mode 100644 test/nsawk1a.ok + create mode 100644 test/nsawk1b.ok + create mode 100644 test/nsawk1c.ok + create mode 100644 test/nsawk2.awk + create mode 100644 test/nsawk2a.ok + create mode 100644 test/nsawk2b.ok + +diff --git a/test/nsawk1.awk b/test/nsawk1.awk +new file mode 100644 +index 00000000..00715bc1 +--- /dev/null ++++ b/test/nsawk1.awk +@@ -0,0 +1,5 @@ ++# Used to cause internal error ++BEGIN { ++ x = awk::I ++ x = awk::I ++} +diff --git a/test/nsawk1a.ok b/test/nsawk1a.ok +new file mode 100644 +index 00000000..e69de29b +diff --git a/test/nsawk1b.ok b/test/nsawk1b.ok +new file mode 100644 +index 00000000..e69de29b +diff --git a/test/nsawk1c.ok b/test/nsawk1c.ok +new file mode 100644 +index 00000000..e69de29b +diff --git a/test/nsawk2.awk b/test/nsawk2.awk +new file mode 100644 +index 00000000..d275c121 +--- /dev/null ++++ b/test/nsawk2.awk +@@ -0,0 +1,5 @@ ++# Used to cause internal error ++BEGIN { ++ x = awk::I ++ print x ++} +diff --git a/test/nsawk2a.ok b/test/nsawk2a.ok +new file mode 100644 +index 00000000..86815ca7 +--- /dev/null ++++ b/test/nsawk2a.ok +@@ -0,0 +1 @@ ++fine +diff --git a/test/nsawk2b.ok b/test/nsawk2b.ok +new file mode 100644 +index 00000000..86815ca7 +--- /dev/null ++++ b/test/nsawk2b.ok +@@ -0,0 +1 @@ ++fine +-- +2.22.0 + diff --git a/gawk-inplace-namespace-part3.patch b/gawk-inplace-namespace-part3.patch new file mode 100644 index 0000000..4c87e43 --- /dev/null +++ b/gawk-inplace-namespace-part3.patch @@ -0,0 +1,384 @@ +From 8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9 Mon Sep 17 00:00:00 2001 +From: "Arnold D. Robbins" +Date: Wed, 26 Jun 2019 21:44:37 +0300 +Subject: [PATCH 3/3] Add backwards compatibility to inplace extension, update + doc and tests. + +--- + awklib/eg/lib/inplace.awk | 18 ++-- + doc/ChangeLog | 5 + + doc/gawk.info | 189 +++++++++++++++++++------------------- + doc/gawk.texi | 18 ++-- + doc/gawktexi.in | 18 ++-- + extension/ChangeLog | 4 + + extension/inplace.3am | 24 +++-- + test/ChangeLog | 4 + + test/inplace1.ok | 2 +- + test/inplace2.ok | 2 +- + test/inplace3.ok | 4 +- + 11 files changed, 167 insertions(+), 121 deletions(-) + +diff --git a/awklib/eg/lib/inplace.awk b/awklib/eg/lib/inplace.awk +index 68dad92e..0d40d16e 100644 +--- a/awklib/eg/lib/inplace.awk ++++ b/awklib/eg/lib/inplace.awk +@@ -1,6 +1,6 @@ + # inplace --- load and invoke the inplace extension. + # +-# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. ++# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. + # + # This file is part of GAWK, the GNU implementation of the + # AWK Programming Language. +@@ -25,16 +25,21 @@ + # Revised for namespaces + # Arnold Robbins, arnold@skeeve.com + # July 2017 ++# June 2019, add backwards compatibility + + @load "inplace" + + # Please set inplace::suffix to make a backup copy. For example, you may + # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. + ++# Before there were namespaces in gawk, this extension used ++# INPLACE_SUFFIX as the variable for making backup copies. We allow this ++# too, so that any code that used the previous version continues to work. ++ + # By default, each filename on the command line will be edited inplace. +-# But you can selectively disable this by adding an inplace=0 argument ++# But you can selectively disable this by adding an inplace::enable=0 argument + # prior to files that you do not want to process this way. You can then +-# reenable it later on the commandline by putting inplace=1 before files ++# reenable it later on the commandline by putting inplace::enable=1 before files + # that you wish to be subject to inplace editing. + + # N.B. We call inplace::end() in the BEGINFILE and END rules so that any +@@ -47,15 +52,16 @@ BEGIN { + } + + BEGINFILE { ++ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) + if (filename != "") +- end(filename, suffix) ++ end(filename, sfx) + if (enable) +- begin(filename = FILENAME, suffix) ++ begin(filename = FILENAME, sfx) + else + filename = "" + } + + END { + if (filename != "") +- end(filename, suffix) ++ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) + } +diff --git a/doc/ChangeLog b/doc/ChangeLog +index 5ea91aaf..6a1a5ae4 100644 +--- a/doc/ChangeLog ++++ b/doc/ChangeLog +@@ -1,3 +1,8 @@ ++2019-06-26 Arnold D. Robbins ++ ++ * gawktexi.in (Extension Sample Inplace): Fix backwards ++ compatibility. Thanks to Andrew Schorr for most of the change. ++ + 2019-06-18 Arnold D. Robbins + + * 5.0.1: Release tar ball made. +diff --git a/doc/gawk.info b/doc/gawk.info +index e5a52702..4e46df9e 100644 +--- a/doc/gawk.info ++++ b/doc/gawk.info +@@ -27693,10 +27693,14 @@ and functions in the 'inplace' namespace (*note Namespaces::): + # Please set inplace::suffix to make a backup copy. For example, you may + # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. + ++ # Before there were namespaces in gawk, this extension used ++ # INPLACE_SUFFIX as the variable for making backup copies. We allow this ++ # too, so that any code that used the previous version continues to work. ++ + # By default, each filename on the command line will be edited inplace. +- # But you can selectively disable this by adding an inplace=0 argument ++ # But you can selectively disable this by adding an inplace::enable=0 argument + # prior to files that you do not want to process this way. You can then +- # reenable it later on the commandline by putting inplace=1 before files ++ # reenable it later on the commandline by putting inplace::enable=1 before files + # that you wish to be subject to inplace editing. + + # N.B. We call inplace::end() in the BEGINFILE and END rules so that any +@@ -27709,17 +27713,18 @@ and functions in the 'inplace' namespace (*note Namespaces::): + } + + BEGINFILE { ++ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) + if (filename != "") +- end(filename, suffix) ++ end(filename, sfx) + if (enable) +- begin(filename = FILENAME, suffix) ++ begin(filename = FILENAME, sfx) + else + filename = "" + } + + END { + if (filename != "") +- end(filename, suffix) ++ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) + } + + For each regular file that is processed, the extension redirects +diff --git a/doc/gawk.texi b/doc/gawk.texi +index 25fb3486..94ff298f 100644 +--- a/doc/gawk.texi ++++ b/doc/gawk.texi +@@ -37601,7 +37601,7 @@ all the variables and functions in the @code{inplace} namespace + @ignore + @c file eg/lib/inplace.awk + # +-# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. ++# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. + # + # This file is part of GAWK, the GNU implementation of the + # AWK Programming Language. +@@ -37626,6 +37626,7 @@ all the variables and functions in the @code{inplace} namespace + # Revised for namespaces + # Arnold Robbins, arnold@@skeeve.com + # July 2017 ++# June 2019, add backwards compatibility + @c endfile + @end ignore + @c file eg/lib/inplace.awk +@@ -37635,10 +37636,14 @@ all the variables and functions in the @code{inplace} namespace + # Please set inplace::suffix to make a backup copy. For example, you may + # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. + ++# Before there were namespaces in gawk, this extension used ++# INPLACE_SUFFIX as the variable for making backup copies. We allow this ++# too, so that any code that used the previous version continues to work. ++ + # By default, each filename on the command line will be edited inplace. +-# But you can selectively disable this by adding an inplace=0 argument ++# But you can selectively disable this by adding an inplace::enable=0 argument + # prior to files that you do not want to process this way. You can then +-# reenable it later on the commandline by putting inplace=1 before files ++# reenable it later on the commandline by putting inplace::enable=1 before files + # that you wish to be subject to inplace editing. + + # N.B. We call inplace::end() in the BEGINFILE and END rules so that any +@@ -37655,10 +37660,11 @@ BEGIN @{ + + @group + BEGINFILE @{ ++ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) + if (filename != "") +- end(filename, suffix) ++ end(filename, sfx) + if (enable) +- begin(filename = FILENAME, suffix) ++ begin(filename = FILENAME, sfx) + else + filename = "" + @} +@@ -37667,7 +37673,7 @@ BEGINFILE @{ + @group + END @{ + if (filename != "") +- end(filename, suffix) ++ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) + @} + @end group + @c endfile +diff --git a/doc/gawktexi.in b/doc/gawktexi.in +index c60b0238..55e485eb 100644 +--- a/doc/gawktexi.in ++++ b/doc/gawktexi.in +@@ -36574,7 +36574,7 @@ all the variables and functions in the @code{inplace} namespace + @ignore + @c file eg/lib/inplace.awk + # +-# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. ++# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. + # + # This file is part of GAWK, the GNU implementation of the + # AWK Programming Language. +@@ -36599,6 +36599,7 @@ all the variables and functions in the @code{inplace} namespace + # Revised for namespaces + # Arnold Robbins, arnold@@skeeve.com + # July 2017 ++# June 2019, add backwards compatibility + @c endfile + @end ignore + @c file eg/lib/inplace.awk +@@ -36608,10 +36609,14 @@ all the variables and functions in the @code{inplace} namespace + # Please set inplace::suffix to make a backup copy. For example, you may + # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. + ++# Before there were namespaces in gawk, this extension used ++# INPLACE_SUFFIX as the variable for making backup copies. We allow this ++# too, so that any code that used the previous version continues to work. ++ + # By default, each filename on the command line will be edited inplace. +-# But you can selectively disable this by adding an inplace=0 argument ++# But you can selectively disable this by adding an inplace::enable=0 argument + # prior to files that you do not want to process this way. You can then +-# reenable it later on the commandline by putting inplace=1 before files ++# reenable it later on the commandline by putting inplace::enable=1 before files + # that you wish to be subject to inplace editing. + + # N.B. We call inplace::end() in the BEGINFILE and END rules so that any +@@ -36628,10 +36633,11 @@ BEGIN @{ + + @group + BEGINFILE @{ ++ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) + if (filename != "") +- end(filename, suffix) ++ end(filename, sfx) + if (enable) +- begin(filename = FILENAME, suffix) ++ begin(filename = FILENAME, sfx) + else + filename = "" + @} +@@ -36640,7 +36646,7 @@ BEGINFILE @{ + @group + END @{ + if (filename != "") +- end(filename, suffix) ++ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) + @} + @end group + @c endfile +diff --git a/extension/ChangeLog b/extension/ChangeLog +index 3d83f77e..22d73d09 100644 +--- a/extension/ChangeLog ++++ b/extension/ChangeLog +@@ -1,3 +1,7 @@ ++2019-06-26 Arnold D. Robbins ++ ++ * inplace.3am: Update to match current code's behavior. ++ + 2019-06-18 Arnold D. Robbins + + * 5.0.1: Release tar ball made. +diff --git a/extension/inplace.3am b/extension/inplace.3am +index 48fac54a..66047442 100644 +--- a/extension/inplace.3am ++++ b/extension/inplace.3am +@@ -1,4 +1,4 @@ +-.TH INPLACE 3am "Feb 02 2018" "Free Software Foundation" "GNU Awk Extension Modules" ++.TH INPLACE 3am "Jun 26 2018" "Free Software Foundation" "GNU Awk Extension Modules" + .SH NAME + inplace \- emulate sed/perl/ruby in-place editing + .SH SYNOPSIS +@@ -24,7 +24,7 @@ By default, each named file on the command line is + replaced with a new file of the same name whose contents + are the results of running the AWK program. + If the user supplies an AWK variable named +-.B INPLACE_SUFFIX ++.B inplace::suffix + in a + .B BEGIN + rule or on the command line, then the +@@ -33,17 +33,27 @@ extension concatenates that suffix onto the original + filename and uses the result as a filename for renaming + the original. + .PP ++For backwards compatibility, the variable will also check ++.B INPLACE_SUFFIX ++(in the ++.B awk ++namespace) for the suffix to use if ++.B inplace::suffix ++is not set. ++.PP + One can disable inplace editing selectively by placing +-.B inplace=0 ++.B inplace::enable=0 + on the command line prior to files that should be processed normally. + One can reenable inplace editing by placing +-.B inplace=1 ++.B inplace::enable=1 + prior to files that should be subject to inplace editing. + .\" .SH NOTES + .SH BUGS +-While the extension does attempt to preserve ownership and permissions, it makes no attempt to copy the ACLs from the original file. ++While the extension does attempt to preserve ownership and permissions, ++it makes no attempt to copy the ACLs from the original file. + .PP +-If the program dies prematurely, as might happen if an unhandled signal is received, a temporary file may be left behind. ++If the program dies prematurely, as might happen if an unhandled signal ++is received, a temporary file may be left behind. + .SH EXAMPLE + .ft CW + .nf +@@ -66,7 +76,7 @@ gawk -i inplace -f \f(CIscriptfile\fP files ... + Andrew Schorr, + .BR schorr@telemetry-investments.com . + .SH COPYING PERMISSIONS +-Copyright \(co 2012, 2013, 2015, 2018, ++Copyright \(co 2012, 2013, 2015, 2018, 2019, + Free Software Foundation, Inc. + .PP + Permission is granted to make and distribute verbatim copies of +diff --git a/test/ChangeLog b/test/ChangeLog +index 99391b0d..a538c593 100644 +--- a/test/ChangeLog ++++ b/test/ChangeLog +@@ -5,6 +5,10 @@ + nsawk2a.ok, nsawk2b.ok: New files. + Tests courtesy of Michal Jaegermann. + ++ Unrelated: ++ ++ * inplace1.ok, inplace2.ok, inplace3.ok: Updated after code changes. ++ + 2019-06-18 Arnold D. Robbins + + * 5.0.1: Release tar ball made. +diff --git a/test/inplace1.ok b/test/inplace1.ok +index 753079b3..f2e36d46 100644 +--- a/test/inplace1.ok ++++ b/test/inplace1.ok +@@ -1,5 +1,5 @@ + before +-gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' ++gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' + stdin start + is bar replaced? + stdin end +diff --git a/test/inplace2.ok b/test/inplace2.ok +index 753079b3..f2e36d46 100644 +--- a/test/inplace2.ok ++++ b/test/inplace2.ok +@@ -1,5 +1,5 @@ + before +-gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' ++gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' + stdin start + is bar replaced? + stdin end +diff --git a/test/inplace3.ok b/test/inplace3.ok +index 7802a0c8..b6f26505 100644 +--- a/test/inplace3.ok ++++ b/test/inplace3.ok +@@ -1,11 +1,11 @@ + before +-gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' ++gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' + stdin start + is bar replaced? + stdin end + after + Before +-gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' ++gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' + stdin start + is foo replaced? + stdin end +-- +2.22.0 + diff --git a/gawk.changes b/gawk.changes index 68a60b1..0abed0d 100644 --- a/gawk.changes +++ b/gawk.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Oct 22 11:30:29 UTC 2019 - Neal Gompa + +- Fix typo in Summary +- Stop overriding %_libexecdir with %_libdir + +------------------------------------------------------------------- +Tue Oct 22 05:56:27 UTC 2019 - Igor Gnatenko + +- Fix the backward compatibility of the inplace extension: + * Add gawk-inplace-namespace-part1.patch + * Add gawk-inplace-namespace-part2.patch + * Add gawk-inplace-namespace-part3.patch +- Run autoreconf as part of the build process + ------------------------------------------------------------------- Tue Aug 27 06:51:05 UTC 2019 - Jan Engelhardt diff --git a/gawk.spec b/gawk.spec index 3258ef5..90880b4 100644 --- a/gawk.spec +++ b/gawk.spec @@ -19,7 +19,7 @@ Name: gawk Version: 5.0.1 Release: 0 -Summary: Domain-specificl anguage for text processing +Summary: Domain-specific language for text processing License: GPL-3.0-or-later Group: Productivity/Text/Utilities URL: https://www.gnu.org/software/gawk/ @@ -27,6 +27,15 @@ Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source2: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig Source3: http://savannah.gnu.org/people/viewgpg.php?user_id=80653#/gawk.keyring Source4: gawk.rpmlintrc +Patch1: gawk-inplace-namespace-part1.patch +Patch2: gawk-inplace-namespace-part2.patch +#Parts of the patch dealing with .info files, were removed, some parts of documentation might be broken +Patch3: gawk-inplace-namespace-part3.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: make +BuildRequires: makeinfo BuildRequires: update-alternatives Requires(post): %{install_info_prereq} Requires(post): update-alternatives @@ -42,10 +51,11 @@ GNU awk is upwardly compatible with the System V Release 4 awk. It is almost completely POSIX 1003.2 compliant. %prep -%setup -q +%autosetup -p1 %build -%configure --libexecdir=%{_libdir} +autoreconf -fiv +%configure make %{?_smp_mflags} %check @@ -99,7 +109,7 @@ fi /bin/gawk #EndUsrMerge %{_bindir}/gawk -%{_libdir}/awk +%{_libexecdir}/awk %{_libdir}/gawk %{_datadir}/awk %{_includedir}/gawkapi.h