Compare commits

...

71 Commits
f26 ... rawhide

Author SHA1 Message Date
Fedora Release Engineering 6522d900f8 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 04:23:59 +00:00
Fedora Release Engineering cff482b849 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 04:09:07 +00:00
Jakub Martisko d332d50902 Include the sample data files in the doc subpackage
These files are used as an input for some of the examples described in
the documentation.
Resolves: rhbz#2069821
2022-03-30 13:30:11 +02:00
Fedora Release Engineering 3e7bcc6e7b - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 03:56:33 +00:00
Jakub Martisko e2017b6bec Rebase to gawk-5.1.1 2021-11-01 13:46:37 +01:00
Fedora Release Engineering f59784fdc1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 23:49:13 +00:00
Fedora Release Engineering 038d783426 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 06:22:48 +00:00
Tom Stellard 875b9ac46c Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-18 23:05:07 +00:00
Fedora Release Engineering bff1660de1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 18:17:36 +00:00
Jakub Martisko 73503db575 Rebase to gawk-5.1.0 2020-07-21 14:33:08 +02:00
Jakub Martisko ef1d4dbefb Create the all-locales subpackage 2020-03-11 12:41:55 +01:00
Fedora Release Engineering 34c791ad95 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 19:35:41 +00:00
Jerry James eecda43c48 Rebuild for mpfr 4 2019-10-09 19:49:13 -06:00
Fedora Release Engineering 930898f004 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 01:31:02 +00:00
Andrew J. Schorr 92891e7b73 Need to bump the Release number to pick up the new api version 2019-07-23 08:24:14 -04:00
Andrew J. Schorr 72f94b3915 Fix gawk_api_major spec file macro to ensure that it is >= 3 2019-07-23 08:55:04 +02:00
Jakub Martisko 468192b88f Fix a typo in the version in the changelog entry 2019-07-15 14:45:08 +02:00
Andrew J. Schorr 637e5fecca Fix gawk API version number as per upstream 2019-07-12 10:25:12 +02:00
Jakub Martisko 99a8b8e211 Fix: backward compatibility issued with inplace
Resolves: #1723359
2019-06-27 10:09:11 +02:00
Jakub Martisko 13f8624730 New upstream version, this time with modified spec file 2019-06-24 10:08:10 +02:00
Jakub Martisko 7b513a74c8 New upstream release 2019-06-24 09:33:25 +02:00
Igor Gnatenko 3240dbaea1 Rebuild for readline 8.0 2019-02-17 09:30:50 +01:00
Jakub Martisko bc586f5f06 Fix FTBFS caused by missing glibc langpacks
Resolves: #1674922
2019-02-13 09:51:31 +01:00
Fedora Release Engineering f9e6d0ef8c - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 20:35:54 +00:00
Fedora Release Engineering fe3f587258 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 01:08:40 +00:00
David Kaspar [Dee'Kej] 155a5f96f4 gawk-4.2.1-200-fix-build-for-f29.patch added 2018-06-21 17:39:26 +02:00
David Kaspar [Dee'Kej] 637a5bcac8 5 important patches backported from upstream per their request
Added:
    gawk-4.2.1-000-add-support-for-a-and-A-in-printf.patch
    gawk-4.2.1-001-remove-the-tail-recursion-optimization.patch
    gawk-4.2.1-002-copy-MPZ-MPFR-bits-also-in-r_dupnode.patch
    gawk-4.2.1-003-fix-rebuilding-records-if-using-API-parser.patch
    gawk-4.2.1-004-fix-a-corner-case-with-EPIPE-to-stdout-stderr.patch
2018-06-21 16:21:40 +02:00
David Kaspar [Dee'Kej] 94d433f440 specfile: gawk_api_* macros sanitized
Generating of this macros should not produce a failure exit code,
  and tar stderr has been forwarded to /dev/null...
2018-06-20 15:38:17 +02:00
David Kaspar [Dee'Kej] 1dcd827b5f specfile: no longer needed requirements of 'info' dropped
https://fedoraproject.org/wiki/Packaging:Scriptlets#Texinfo
2018-06-18 12:17:23 +02:00
David Kaspar [Dee'Kej] a31fbe7030 gawk-4.2.0-* leftover patches removed 2018-06-18 12:11:47 +02:00
David Kaspar [Dee'Kej] 512e88fcc6 specfile: install-info removed from scriptlets
https://fedoraproject.org/wiki/Packaging:Scriptlets#Texinfo
2018-06-18 12:09:00 +02:00
David Kaspar [Dee'Kej] 5ad0639ba4 4.2.1 - rebase to latest minor version from upstream 2018-02-26 13:36:40 +01:00
David Kaspar [Dee'Kej] 36f6f20b37 specfile: small typo in %changelog fixed 2018-02-26 13:34:36 +01:00
David Kaspar [Dee'Kej] 0f5d21b26f specfile: added BuildRequires for 'gcc'
https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequire
2018-02-21 16:48:58 +01:00
David Kaspar [Dee'Kej] 53f5a48fd6 specfile: build requirement updated to 'ghostscript'
To reflect Ghostscript's new package layout.
2018-02-21 15:58:09 +01:00
Igor Gnatenko 41b966bc2f
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:33 +01:00
Fedora Release Engineering 3c900c5aeb - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 10:38:12 +00:00
David Kaspar 96a7e6595c Merge #1 `Add CI tests using the standard test interface` 2017-11-23 16:17:41 +00:00
David Kaspar [Dee'Kej] a5ee0b1e1a specfile: use %make_build for documentation building as well 2017-11-23 16:46:42 +01:00
David Kaspar [Dee'Kej] 3e769242e1 specfile: update *-devel subpackage to be architecture dependent 2017-11-23 16:46:04 +01:00
David Kaspar [Dee'Kej] fd0a519af5 specfile: fix previous commit to use only %make_build 2017-11-23 16:36:39 +01:00
David Kaspar [Dee'Kej] 7efecde711 specfile: updated the build process to use %make_build %{optflags} 2017-11-23 15:19:01 +01:00
David Kaspar [Dee'Kej] 115c9137c3 specfile: 'noarch' removed from *-devel subpackage to comply with FPG 2017-11-23 14:49:57 +01:00
David Kaspar [Dee'Kej] 5325174b04 gawk-4.2.0-000-do-not-fold-constant-strings.patch fixed
It's not necessary to include any changes to awkgram.c or command.c
  in patches (when *.y respective files were patched), since these
  files are automatically generated by bison.
2017-11-09 12:14:41 +01:00
David Kaspar [Dee'Kej] 024ff076c1 rebase: source for new version (4.2.0) uploaded 2017-11-07 16:43:06 +01:00
David Kaspar [Dee'Kej] 76007242b5 rebase: updated to latest stable version from upstream (gawk-4.2.0)
* gawk-4.2.0-000-do-not-fold-constant-strings.patch added,
    to prevent some newly found regression:

    http://lists.gnu.org/archive/html/bug-gawk/2017-10/msg00033.html

  * enabled BuildRequires for bison because of patch above
  * gawk-4.2.0-001-rwarray-small-improvements.patch added
2017-11-07 15:45:12 +01:00
David Kaspar [Dee'Kej] 2523130c4e specfile: %gawk_api_* macros dropped
For now we do not need them. They might get restored in the future
  when they are needed by any gawk extension.
2017-11-07 10:24:32 +01:00
David Kaspar [Dee'Kej] d21c2b8eb3 specfile: cleanup in %gawk_api_* macros
* Comments added/updated.
  * %gawk_api_version renamed to %gawk_api_major_next
2017-11-02 17:01:00 +01:00
David Kaspar [Dee'Kej] 6cbe38d7cf specfile: /usr/lib/rpm/macros.d/macros.gawk is now auto-generated
The macros provided by this file can be used by gawk extensions to
  easup the binary compatibility requirements when building packages
  against gawk...
2017-11-01 18:10:17 +01:00
David Kaspar [Dee'Kej] 7fc194cb68 specfile: extraction of API version is now automated 2017-11-01 15:35:13 +01:00
Andrei Stepanov d589bb7cd8 Add CI tests using the standard test interface
Adds tests according to the CI wiki [0] specifically the standard test interface in the spec [1].

[0]: https://fedoraproject.org/wiki/CI
[1]: https://fedoraproject.org/wiki/Changes/InvokingTests
2017-10-09 15:27:28 +00:00
David Kaspar [Dee'Kej] f318f0d9b8 specfile: ignore case when doing test for gawk(abi)
To be backward compatible with 4.1.3 and older code.
2017-09-18 20:02:21 +02:00
David Kaspar [Dee'Kej] fcc2230860 specfile: remove accidentally dropped URL in global macros 2017-09-18 19:07:10 +02:00
David Kaspar [Dee'Kej] cafbac3685 specfile: mention the introduction of gawk(abi) in changelog 2017-09-18 19:04:32 +02:00
David Kaspar [Dee'Kej] 32a665951c specfile: check if current gawk(abi) is correctly set 2017-09-18 16:08:17 +02:00
David Kaspar [Dee'Kej] f4d7025752 specfile: introduce the 'gawk(abi)' value in the Provides: field 2017-09-18 15:07:03 +02:00
David Kaspar [Dee'Kej] fa01e4bfeb specfile: additional round of refactoring (comment sections reordered) 2017-09-18 14:56:55 +02:00
David Kaspar [Dee'Kej] adc0d3754e specfile: files in %files section reordered 2017-09-18 10:57:50 +02:00
David Kaspar [Dee'Kej] 9d322c8946 specfile: mark gawk-devel subpackage as noarch
gawk-devel currently only contains gawkapi.h header file,
  which is not architecture dependent.
2017-09-16 14:59:52 +02:00
David Kaspar [Dee'Kej] bd6cd1a48f specfile: use globbing in %files where possible 2017-09-16 14:50:27 +02:00
David Kaspar [Dee'Kej] 2f3792f560 specfile: small code refactoring
* creation of /usr/share/bin removed (it is created automatically)
  * few separators between phases added
2017-09-15 15:52:35 +02:00
David Kaspar [Dee'Kej] 4c2dabfcab specfile: use 'install' wherever possible
... to have better control over file permissions.
2017-09-15 15:36:59 +02:00
David Kaspar [Dee'Kej] 6246b1d0fa gawk-4.1.4-000-info-pages-fixes.patch fixed
Patching of doc/Changelog removed, since we don't ship at all.
2017-09-15 14:16:14 +02:00
David Kaspar [Dee'Kej] 376dfb2187 gawk-4.1.4-000-info-pages-fixes.patch added
Resolves: #1486924
2017-09-15 13:44:08 +02:00
David Kaspar [Dee'Kej] 55e6766734 specfile: revert adding of 'awk*' symlinks for info pages
The previous fix turned out to be non-functional.
2017-09-15 12:08:53 +02:00
David Kaspar [Dee'Kej] da5a471d3c specfile: some Requires tags removed to stop rmplint's complains 2017-09-11 15:34:13 +02:00
David Kaspar [Dee'Kej] 9ab1734ade specfile: added 'awk*' symlinks for info pages
Resolves: #1486924
2017-08-31 19:38:15 +02:00
David Kaspar [Dee'Kej] aee79b3cef specfile: trailing empty line removed 2017-08-25 11:54:51 +02:00
David Kaspar [Dee'Kej] 7f06d52b45 specfile: reformatting - few empty lines added 2017-08-25 11:54:51 +02:00
Fedora Release Engineering a35665cba2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 20:57:55 +00:00
Fedora Release Engineering d50ce163fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 09:07:26 +00:00
23 changed files with 1058 additions and 100 deletions

5
.gitignore vendored
View File

@ -1,2 +1,7 @@
/gawk-4.1.3.tar.xz
/gawk-4.1.4.tar.xz
/gawk-4.2.0.tar.xz
/gawk-4.2.1.tar.xz
/gawk-5.0.1.tar.xz
/gawk-5.1.0.tar.xz
/gawk-5.1.1.tar.xz

364
gawk.spec
View File

@ -1,63 +1,24 @@
Name: gawk
Summary: The GNU version of the AWK text processing utility
Version: 4.1.4
Release: 3%{?dist}
# LICENSE NOTE: There are more licenses used inside the gawk source tarball from
# ------------- upstream than listed below, however, some of those files with
# different licenses are not used for compiling the resulting
# binaries, nor they are additionally shipped inside the final
# package or its subpackages.
#
# To get latest version of currently used licenses in gawk run: licensecheck
# We assume that files that do not explicitly state their copyright are licensed
# under GPLv3+ as per COPYING file inside root directory of source code.
# Important notes regarding the package:
# ======================================
#
# UPDATE: Upstream has confirmed that the licenses used here are correct:
# http://lists.gnu.org/archive/html/bug-gawk/2016-09/msg00008.html
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
URL: https://www.gnu.org/software/gawk/
Source0: https://ftp.gnu.org/gnu/gawk/gawk-%{version}.tar.xz
# Additional license files that we have to ship with the package because does
# not include them inside their source tarball and never will (see mail above):
Source1: LICENSE.GPLv2
Source2: LICENSE.LGPLv2
Source3: LICENSE.BSD
Provides: /bin/awk
Provides: /bin/gawk
# Safeguard to allow this package to be installed only on UsrMove enabled
# filesystem. More info: https://fedoraproject.org/wiki/Features/UsrMove
Requires: filesystem >= 3
Requires: libsigsegv
Requires: mpfr
Requires: readline
Requires(post): info
Requires(preun): info
BuildRequires: ghostscript-core
BuildRequires: git
# Extending GAWK possibilities:
BuildRequires: libsigsegv-devel
BuildRequires: mpfr-devel
BuildRequires: readline-devel
# Documentation (gawk-doc):
BuildRequires: texinfo-tex
BuildRequires: texlive-ec
BuildRequires: texlive-cm-super
# NOTE: In case any patch updates the awkgram.y or command.y (IOW if anything
# changes the timestamp of awkgram.y, and it becomes newer than awkgram.c,
# same applies for command.y), the 'make' command will automatically try
# to rebuild the affected files. In that case we need to include the
# BuildRequires line below.
# LICENSES: There are more licenses used inside the gawk source tarball from
# upstream than listed in License: field below. However, some of
# those files with different license are not used for compiling the
# resulting binaries, nor they are additinionally shipped inside the
# final package or its subpacakges
#
# INFO: Upstream explicitly wishes that we do not use 'yacc' instead of bison.
# For more info, see: https://bugzilla.redhat.com/show_bug.cgi?id=1176993
#BuildRequires: bison
# To get latest version of currently used licenses in gawk run the
# licensecheck. We assume that files that do not explicitly state
# their copyright are licensed under GPLv3+ as per COPYING file
# inside root directory of source code.
#
# Also, we have to ship additional license files with the package,
# because upstream does not include them inside their source tarball:
# and never will. They have also confirmed that the additional
# licenses shipped are correct. For more info, see:
#
# http://lists.gnu.org/archive/html/bug-gawk/2016-09/msg00008.html
# === GLOBAL MACROS ===========================================================
@ -69,6 +30,81 @@ BuildRequires: texlive-cm-super
# For more info: https://fedoraproject.org/wiki/Packaging:Guidelines#PIE
%global _hardened_build 1
# Extract the API major & minor versions, so we can export them below.
# Ensure that the major version is >= 3, since that patch is not yet
# in the tarball.
%global gawk_api_major %%(x=`tar -xf %{SOURCE0} gawk-%{version}/gawkapi.h --to-stdout 2>/dev/null | \
grep -i -e "gawk_api_major.*[[:digit:]]" | \
grep -o -e "[[:digit:]]"`; \
[ "$x" -lt 3 ] && x=3; echo $x)
%global gawk_api_minor %%(tar -xf %{SOURCE0} gawk-%{version}/gawkapi.h --to-stdout 2>/dev/null | \
grep -i -e "gawk_api_minor.*[[:digit:]]" | \
grep -o -e "[[:digit:]]" || :)
# =============================================================================
Name: gawk
Summary: The GNU version of the AWK text processing utility
Version: 5.1.1
Release: 5%{?dist}
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
URL: https://www.gnu.org/software/gawk/
Source0: https://ftp.gnu.org/gnu/gawk/gawk-%{version}.tar.xz
Source1: LICENSE.GPLv2
Source2: LICENSE.LGPLv2
Source3: LICENSE.BSD
Provides: /bin/awk
Provides: /bin/gawk
Provides: gawk(abi) = %{gawk_api_major}.%{gawk_api_minor}
# Safeguard to allow this package to be installed only on UsrMove enabled
# filesystem. More info: https://fedoraproject.org/wiki/Features/UsrMove
Requires: filesystem >= 3
BuildRequires: git
BuildRequires: gcc
BuildRequires: grep
BuildRequires: ghostscript
# Extending GAWK possibilities:
BuildRequires: libsigsegv-devel
BuildRequires: mpfr-devel
BuildRequires: readline-devel
# Documentation (gawk-doc):
BuildRequires: texinfo-tex
BuildRequires: texlive-ec
BuildRequires: texlive-cm-super
# Make check
BuildRequires: glibc-all-langpacks
# NOTE: In case any patch updates the awkgram.y or command.y (IOW if anything
# changes the timestamp of awkgram.y, and it becomes newer than awkgram.c,
# same applies for command.y), the 'make' command will automatically try
# to rebuild the affected files. In that case we need to include the
# BuildRequires line below.
#
# However, it's not necessary to include any changes to awkgram.c or
# command.c in patches (when *.y respective files were patched), since
# these files are automatically generated by bison.
#
# INFO: Upstream explicitly wishes that we do not use 'yacc' instead of bison.
# For more info, see: https://bugzilla.redhat.com/show_bug.cgi?id=1176993
BuildRequires: bison
# After patching the awkgram.y, and running autoreconf, we now need additional
# packages to correctly finish the build. These should not be needed in the
# future, once upstream fixes their requirement on 'aclocal-1.15'.
BuildRequires: automake
BuildRequires: make
# =============================================================================
# NOTE: 'autosetup' macro (below) uses 'git' for applying the patches:
@ -80,6 +116,11 @@ BuildRequires: texlive-cm-super
# ---------------- last rebase that are necessary for any reason:
#Patch000: example000.patch
#Parts of the patch dealing with .info files, were removed, some parts of documentation might be broken
#Patch008: gawk-api-version.patch
# Downstream patches -- these should be always included when doing rebase:
# ------------------
@ -95,6 +136,7 @@ BuildRequires: texlive-cm-super
# Patches to be removed -- deprecated functionality which shall be removed at
# --------------------- some point in the future:
#Patch200: gawk-4.2.1-200-fix-build-for-f29.patch
%description
@ -137,6 +179,16 @@ displaying images. Therefore, this doc subpackage can provide you with HTML, PDF
and PS versions of those documents, which might be useful when you need to
access them regularly, and/or when you do not have access to Internet.
# ---------------
%package all-langpacks
Summary: Additional localisation files for gawk utility
Supplements: %{name} = %{version}-%{release}
Conflicts: %{name} < 5.0.1-8
%description all-langpacks
The base package of gawk supports only the english localisation. This subpackage
contains additional localisation files.
# === BUILD INSTRUCTIONS ======================================================
# Call the 'autosetup' macro to prepare the environment, but do not patch the
@ -150,92 +202,207 @@ git add --all --force .
git commit --all --amend --no-edit > /dev/null
%autopatch -p1
# ---------------
%build
# NOTE: The re-generating of ./configure (below) should be removed once the
# direct dependency on 'aclocal-1.15' is fixed in upstream and backported.
autoreconf --force --verbose
%configure
make %{?_smp_mflags}
%make_build
# Build the documentation in PDF, postscript and HTML versions:
make -C doc pdf
%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
# ---------------
%check
make check
# ---------------
%install
%make_install
mkdir -p %{buildroot}%{_bindir}
ln -sf gawk.1.gz %{buildroot}%{_mandir}/man1/awk.1.gz
ln -sf gawk %{buildroot}%{_bindir}/awk
# Add additional symlinks to */awk folders:
ln -sf /usr/share/awk %{buildroot}%{_datadir}/gawk
ln -sf /usr/libexec/awk %{buildroot}%{_libexecdir}/gawk
# Fedora does not support multiple versions of same package installed...
# The */dir file is not necessary for info pages to work correctly...
# ->> remove the versioned binary hardlink & */dir file
# Fedora does not support multiple versions of same package installed,
# and the */dir info file (containing all top nodes) is automatically updated
# in the %%post and %%postun phases...
rm -f %{buildroot}%{_bindir}/gawk-%{version}*
rm -f %{buildroot}%{_infodir}/dir
# Install the all the documentation in the same folder - /usr/share/doc/gawk:
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -a html %{buildroot}%{_docdir}/%{name}
cp -a doc/gawk.{pdf,ps} doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
# Create additional symlinks:
ln -sf gawk %{buildroot}%{_bindir}/awk
ln -sf gawk.1.gz %{buildroot}%{_mandir}/man1/awk.1.gz
ln -sf /usr/share/awk %{buildroot}%{_datadir}/gawk
ln -sf /usr/libexec/awk %{buildroot}%{_libexecdir}/gawk
# Install NLS language files:
%find_lang %{name}
# Install the all the documentation in the same folder - /usr/share/doc/gawk:
install -m 0755 -d %{buildroot}%{_docdir}/%{name}/html/gawk/
install -m 0755 -d %{buildroot}%{_docdir}/%{name}/html/gawkinet/
install -m 0755 -d %{buildroot}%{_docdir}/%{name}/eg/data/
# Always update the info pages:
%post
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
%preun
if [[ $1 -eq 0 ]]; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
install -m 0644 -p html/gawk/* %{buildroot}%{_docdir}/%{name}/html/gawk/
install -m 0644 -p html/gawkinet/* %{buildroot}%{_docdir}/%{name}/html/gawkinet/
install -m 0644 -p doc/gawk.{pdf,ps} %{buildroot}%{_docdir}/%{name}
install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
install -m 0644 -p awklib/eg/data/* %{buildroot}%{_docdir}/%{name}/eg/data/
# === PACKAGING INSTRUCTIONS ==================================================
%files -f %{name}.lang
#%files -f %{name}.lang
%files
%{_bindir}/*awk
%{_libdir}/*awk
%{_datadir}/*awk
%{_libexecdir}/*awk
%{_sysconfdir}/profile.d/gawk.*
%{_mandir}/man1/*
%{_mandir}/man3/*
%{_infodir}/gawk.info*
%{_infodir}/gawkinet.info*
%{_libdir}/gawk
%{_libexecdir}/awk
%{_libexecdir}/gawk
%{_datadir}/awk
%{_datadir}/gawk
%{_bindir}/*awk
%{_infodir}/*awk*.info*
%doc NEWS README POSIX.STD README_d/README.multibyte
%license COPYING LICENSE.GPLv2 LICENSE.LGPLv2 LICENSE.BSD
# ---------------
%files -f %{name}.lang all-langpacks
# ---------------
%files devel
%{_includedir}/gawkapi.h
# ---------------
%files doc
# NOTE: For some reason, adding all files in one line causes RPM build to fail.
%doc %{_docdir}/%{name}/gawk.pdf
%doc %{_docdir}/%{name}/gawkinet.pdf
%doc %{_docdir}/%{name}/gawk.ps
%doc %{_docdir}/%{name}/gawkinet.ps
%files doc
%doc %{_docdir}/%{name}/gawk.{pdf,ps}
%doc %{_docdir}/%{name}/gawkinet.{pdf,ps}
%doc %{_docdir}/%{name}/html
%doc %{_docdir}/%{name}/eg
# =============================================================================
%changelog
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Mar 30 2022 Jakub Martisko <jamartis@redhat.com> - 5.1.1-3
- Include the sample data files in the gawk-doc subpackage
Resolves: rhbz#2069821
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Nov 01 2021 Jakub Martisko <jamartis@redhat.com> - 5.1.1-1
- New upstream release - 5.1.1
Resolves rhbz#2018296
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 21 2020 Jakub Martisko <jamartis@redhat.com> - 5.1.0-1
- New upstream release
* Tue Feb 18 2020 Jakub Martisko <jamartis@redhat.com> - 5.0.1-8
- Split the package into the main package and locales subpackage
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Oct 9 2019 Jerry James <loganjerry@gmail.com> - 5.0.1-6
- Rebuild for mpfr 4
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jul 20 2019 Andrew Schorr <ajschorr@fedoraproject.org> - 5.0.1-4
- Force api_major_version >= 3 because patch is not in tarball yet
* Thu Jul 11 2019 Andrew Schorr <ajschorr@fedoraproject.org> - 5.0.1-3
- Add upstream patch to fix the API version number
* Thu Jun 27 2019 Jakub Martisko <jamartis@redhat.com> - 5.0.1-2
- Fix the bacward compatibility of the inplace extension
- (renaming of some variables due to introduction of namespaces)
Resolves: #1723359
* Mon Jun 24 2019 Jakub Martisko <jamartis@redhat.com> - 5.0.1-1
- New upstream release
Resolves: #1674922
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.1-6
- Rebuild for readline 8.0
* Wed Feb 13 2019 Jakub Martisko <jamartis@redhat.com> - 4.2.1-5
- Fix FTBFS caused by missing glibc langpacks required by make check
Resolves: #1674922
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 21 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-2
- 5 important patches backported from upstream per their request:
gawk-4.2.1-000-add-support-for-a-and-A-in-printf.patch
gawk-4.2.1-001-remove-the-tail-recursion-optimization.patch
gawk-4.2.1-002-copy-MPZ-MPFR-bits-also-in-r_dupnode.patch
gawk-4.2.1-003-fix-rebuilding-records-if-using-API-parser.patch
gawk-4.2.1-004-fix-a-corner-case-with-EPIPE-to-stdout-stderr.patch
* Mon Feb 26 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-1
- Rebase to latest stable release from upstream
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.0-4
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Nov 23 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.0-2
- 'noarch' removed from *-devel subpackage
- added arch requirement for *-devel subpackage
- updated the build process to use %%make_build macro
* Tue Nov 07 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.0-1
- Update to latest stable release from upstream [new API version - 2.0]
- Added latest relevant patches from upstream's gawk-4.2-stable branch
* Fri Sep 15 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.1.4-7
- Revert previous change of adding 'awk*' symlinks for info pages (bug #1486924)
- Added patch to correctly fix the info pages issue (bug #1486924)
- specfile content refactored for better readability
- Package now provides its ABI version via gawk(abi)
- Added test for usage of correct gawk(abi) into %%check section
* Thu Aug 31 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.1.4-6
- Added 'awk*' symlinks for info pages (bug #1486924)
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
@ -253,7 +420,7 @@ fi
- Another round of specfile refactoring
* Sun Sep 11 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.1.3-7
- Trailing '%' character removed from doc subpackage's NVR
- Trailing '%%' character removed from doc subpackage's NVR
* Sun Sep 11 2016 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.1.3-6
- New gawk-doc subpackage created (contains HTML, PDF and PS documentation)
@ -668,4 +835,3 @@ is defined or not. (For ppc64)
* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
- built against glibc

View File

@ -1 +1 @@
4e7dbc81163e60fd4f0b52496e7542c9 gawk-4.1.4.tar.xz
SHA512 (gawk-5.1.1.tar.xz) = 794538fff03fdb9a8527a6898b26383d01988e8f8456f8d48131676387669a8bb3e706fa1a17f6b6316ddba0ebe653c24ad5dd769f357de509d6ec25f3ff1a43

View File

@ -0,0 +1,62 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/awk-assign-syntax-support
# Description: tests awk assign syntax support
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/awk-assign-syntax-support
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: tests awk assign syntax support" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv3" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/gawk/Regression/awk-assign-syntax-support
Description: tests awk assign syntax support
Author: Michal Nowak <mnowak@redhat.com>

View File

@ -0,0 +1,59 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/awk-assign-syntax-support
# Description: tests awk assign syntax support
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="gawk"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
echo "0 1 2" > file
cat << "EOF" > prog
{
y = $1 !~ /Get/ ~ /1/
z = $2 ~ /a/ !~ /[0-9]/
print y z
}
EOF
rlPhaseEnd
rlPhaseStartTest
rlRun "awk -f prog file > awk.stdout" 0 "Process data with awk program"
rlAssertEquals "awk processed program according to POSIX" "10" "$(cat awk.stdout)"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
# Description: Test for awk matches lowercase when searching for uppercase
# Author: Filip Holec <fholec@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Filip Holec <fholec@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for awk matches lowercase when searching for uppercase" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,4 @@
PURPOSE of awk-matches-lowercase-when-searching-for-uppercase
Description: awk matches lowercase when searching for uppercase
Author: Filip Holec <fholec@redhat.com>
Summary: awk matches lowercase when searching for uppercase range

View File

@ -0,0 +1,60 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/awk-matches-lowercase-when-searching-for-uppercase
# Description: awk matches lowercase when searching for uppercase
# Author: Filip Holec <fholec@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="gawk"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
OLDLANG=$LANG
rlRun "pushd $TmpDir"
rlRun "export LANG=en_US.UTF-8" 0 "Export needed LANG variable"
rlPhaseEnd
rlPhaseStartTest
rlRun "echo test | awk '/[A-Z]/' > output" 0 "Run the reproducer"
cat output
rlAssertNotGrep "test" output
rlRun '[ ! -s output ]' 0 "File output should be empty"
if [ $(echo test | awk --posix '/[A-Z]/' | grep test) ]; then
rlRun "man gawk | col -bx > gawk.txt" 0 "Get man page in plaintext"
rlAssertGrep "[A-Z].*will.*also.*match.*the.*lowercase.*characters.*in.*this.*case\!" gawk.txt
fi
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlRun "export LANG=$OLDLANG" 0 "Restore LANG variable"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,62 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/awk-syntax-support
# Description: tests awk syntax support
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/awk-syntax-support
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: tests awk syntax support" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv3" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/gawk/Regression/awk-syntax-support
Description: tests awk syntax support
Author: Michal Nowak <mnowak@redhat.com>

View File

@ -0,0 +1,59 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/awk-syntax-support
# Description: tests awk syntax support
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="gawk"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
echo "Beth 4.00 0" > file
cat << "EOF" > prog
{
B["c","a"] = 2
A[1] = 4
print ("c","a") in B in A, C in B in A
}
EOF
rlPhaseEnd
rlPhaseStartTest
rlRun "awk -f prog file > awk.stdout"
rlAssertEquals "Correct output from awk" "1 0" "$(cat awk.stdout)"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/double-free-or-corruption
# Description: Test for double-free-or-corruption
# Author: David Kutalek <dkutalek@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/double-free-or-corruption
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.sh
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for double-free-or-corruption" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,4 @@
PURPOSE of double-free-or-corruption
Description: Test for double-free-or-corruption
Author: David Kutalek <dkutalek@redhat.com>
Summary: gawk regression from RHEL3/4

View File

@ -0,0 +1,8 @@
#!/bin/bash
echo "
jpg: 364592 x
gif: 97148 x" | awk '{ if ('\!'length($3)) $3="-"; print
sprintf("%-10s%8s%10s%s", $1, $2, "", $3); }'

View File

@ -0,0 +1,55 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/double-free-or-corruption
# Description: Test for double-free-or-corruption
# Author: David Kutalek <dkutalek@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="gawk"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp ./reproducer.sh $TmpDir/"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
set -o pipefail
export LIBC_FATAL_STDERR_=1
rlRun "./reproducer.sh 2>&1 | tee ./reproducer.out"
rlRun "grep 'double free or corruption' ./reproducer.out" 1
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
# Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
# Author: Bryan Mason <bmason@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps." >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
Author: Bryan Mason <bmason@redhat.com>

View File

@ -0,0 +1,53 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/gawk-3-1-7-modifies-command-line-arguments
# Description: Uses the "-v" option in gawk to assign a variable and then inspects the command line in ps.
# Author: Bryan Mason <bmason@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2011 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="gawk"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "gawk -v myvar=foo 'BEGIN {print myvar; system(\"/bin/sleep 5\")}' &" 0 "Run gawk with \"-v\" option"
rlRun "ps -o pid,args | grep 'gawk' | grep -v grep | tee ps.out" 0 "Found gawk process in ps listing"
rlRun "grep myvar=foo ps.out" 0 "Should find \"myvar=foo\" (not \"myvar foo\") on command line"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
# Description: Test for printf format "%.*s" in gawk not working
# Author: David Kutalek <dkutalek@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: David Kutalek <dkutalek@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for printf format "%.*s" in gawk not working" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: gawk" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,32 @@
PURPOSE of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
Description: Test for printf format "%.*s" in gawk not working
Author: David Kutalek <dkutalek@redhat.com>
Summary: printf format "%.*s" in gawk not working
Description:
Description of problem:
The bug in gawk exists in the Redhat Ent6 gawk package. The patch to fix is checked in the fedora src rpm for gawk-3.1.7-3 and is gawk-3.1.7-prec-utf8.patch.
Here a repeat of the original bug report.
The "%.*s" format string in printf no longer works.
Version-Release number of selected component (if applicable):
gawk-3.1.6-5.fc11.i586
How reproducible:
Run example from bash command line.
The example should remove the last character from the string.
Steps to Reproduce:
# echo ab123dl|gawk '{printf("%.*s\n",length($0)-1,$0)}'
Actual results:
ab123dl
Expected results:
ab123d
Additional info:
works OK with gawk-3.1.5-14.el5 and previously on fc10

View File

@ -0,0 +1,49 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/gawk/Regression/printf-format-s-in-gawk-not-working
# Description: Test for printf format "%.*s" in gawk not working
# Author: David Kutalek <dkutalek@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/bin/rhts-environment.sh
. /usr/lib/beakerlib/beakerlib.sh
PACKAGE="gawk"
REPRODUCER="echo ab123dl|gawk '{printf(\"%.*s\\n\",length(\$0)-1,\$0)}'"
EXPECTED_RESULT="ab123d"
rlJournalStart
rlPhaseStartTest
rlAssertRpm $PACKAGE
rlLog "Bug reproducer: $REPRODUCER"
rlRun "$REPRODUCER | tee /tmp/$NAME-result.txt" 0 "Running reproducer"
RESULT="`cat /tmp/$NAME-result.txt`"
rlAssertEquals "Result should be $EXPECTED_RESULT" "_$RESULT" "_$EXPECTED_RESULT"
rm /tmp/$NAME-result.txt
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

19
tests/tests.yml Normal file
View File

@ -0,0 +1,19 @@
---
# This first play always runs on the local staging system
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
- container
- atomic
tests:
- awk-matches-lowercase-when-searching-for-uppercase
- printf-format-s-in-gawk-not-working
- awk-assign-syntax-support
- awk-syntax-support
- double-free-or-corruption
- gawk-3-1-7-modifies-command-line-arguments
required_packages:
- gawk
- procps-ng