Bug 638425 - Review Request: nawk - "The one true awk" descended from UNIX V7
Summary: Review Request: nawk - "The one true awk" descended from UNIX V7
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review   
(Show other bugs)
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Martin Gieseking
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-29 00:03 UTC by Mark McKinstry
Modified: 2014-10-28 10:58 UTC (History)
7 users (show)

Fixed In Version: nawk-20121220-4.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-27 22:41:23 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
martin.gieseking: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Mark McKinstry 2010-09-29 00:03:47 UTC
Spec URL: http://mmckinst.nexcess.net/nawk/nawk.spec
SRPM URL: http://mmckinst.nexcess.net/nawk/nawk-20100523-1.fc13.src.rpm
Description: 
This is the version of awk described in "The AWK Programming Language", by Al 
Aho, Brian Kernighan, and Peter Weinberger. (Addison-Wesley, 1988, ISBN 
0-201-07981-X).

[mmckinst@fedora13 SRPMS]$ rpmlint nawk-20100523-1.fc13.src.rpm 
nawk.src: W: spelling-error Summary(en_US) awk -> AK, awl, aw
nawk.src: W: spelling-error %description -l en_US awk -> AK, awl, aw
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
[mmckinst@fedora13 SRPMS]$

Comment 1 Mark McKinstry 2010-09-29 00:20:06 UTC
This isn't the first package I've submitted but I am seeking a sponsor.

Other packages I've submitted:
bug #586473 mg - Tiny Emacs-like editor
bug #590305 vile - VI Like Emacs
bug #635875 mawk - An interpreter for the AWK programming language

Reviews I've been helping out with:
bug #630822 python-ansi2html
bug #633104 monkeysphere
bug #624294 gforth-ffl
bug #633333 iosum

Comment 2 Hiemanshu Sharma 2010-10-05 08:11:08 UTC
Can you please do a scratch build of the package and provide the link here.

Comment 3 Martin Gieseking 2010-10-05 17:29:02 UTC
Hi Mark,

your package looks almost fine. Here are a couple of things to consider:

- add a short comment to the spec file describing the purpose of the patch

- similar to the Source fields, the numbering of patches should start with 0 

- don't compress the manpage in the SPEC, since this is done automatically by
  rpmbuild

Comment 4 Martin Gieseking 2010-10-05 17:36:48 UTC
Also, patch the makefile to remove compiler flag -O4. The %{optflags} already set optimization to -O2.

Comment 5 Bill Nottingham 2010-10-05 17:52:11 UTC
If I may ask, what's the motivation for adding two alternate versions of awk to Fedora?

Comment 6 Mark McKinstry 2010-10-05 23:59:36 UTC
> add a short comment to the spec file describing the purpose of the patch

Done.

> the numbering of patches should start with 0

Done.

> don't compress the manpage in the SPEC

Done.

> patch the makefile to remove compiler flag -O4

Done. I used sed to delete the line.


SPEC: http://mmckinst.nexcess.net/nawk/nawk.spec
SRPM: http://mmckinst.nexcess.net/nawk/nawk-20100523-2.fc13.src.rpm
Scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=2516158

Comment 7 Mark McKinstry 2010-10-06 00:04:39 UTC
(In reply to comment #5)
> If I may ask, what's the motivation for adding two alternate versions of awk to
> Fedora?

The reason for mawk is it can be faster than gawk for some things [1] [2]. As for nawk, I like doing things with awk and comparing the different awks so I figured I'd include nawk too. nawk is also the version of awk included with the BSDs and OS X.

[1] http://anyall.org/blog/2009/09/dont-mawk-awk-the-fastest-and-most-elegant-big-data-munging-language/
[2] http://awka.sourceforge.net/compare.html

Comment 8 Stephen John Smoogen 2010-10-06 00:19:50 UTC
mawk, nawk, gawk used to have slightly different syntaxes on certain problems. For cross platform development of scripts sometimes one is available and not the others so you end up with large exception lists (from memory on Solaris/HP-UX use nawk, on Linux use gawk.. keep scripts separate). Having one that is available means quicker porting/management for commercial software.

Comment 9 Martin Gieseking 2010-10-06 18:43:17 UTC
(In reply to comment #6)
> Done. I used sed to delete the line.

OK, but now the preceding CC line takes effect and adds profiler flags to the call of gcc. :)

Better use something like sed -i 's/ -O4//' makefile
Or even better, patch the makefile, as sed doesn't make rpmbuild fail if the substitution doesn't lead to the intended change. Thus, the unwanted options could unnoticeably appear again in a future upstream release with modified makefile (e.g. if -O4 is replaced with -O3 for whatever reason).

Comment 10 Mark McKinstry 2010-10-07 01:19:32 UTC
Martin,

Would defining CC in the make work, like I did with YACC?

old: make %{?_smp_mflags} CFLAGS="%{optflags}" YACC='bison -y'
new: make %{?_smp_mflags} CFLAGS="%{optflags}" YACC='bison -y' CC='gcc'

Comment 11 Ralf Corsepius 2010-10-07 03:21:52 UTC
(In reply to comment #10)
> Would defining CC in the make work, like I did with YACC?
> 
> old: make %{?_smp_mflags} CFLAGS="%{optflags}" YACC='bison -y'
> new: make %{?_smp_mflags} CFLAGS="%{optflags}" YACC='bison -y' CC='gcc'
Yes, this would be better, except that you would want to use

make %{?_smp_mflags} CFLAGS="%{optflags}" YACC='bison -y' CC="%{__cc}"

Comment 12 Martin Gieseking 2010-10-07 06:27:48 UTC
Yes, of course. Sorry, I didn't think about this easiest variant.

Comment 14 Martin Gieseking 2010-10-08 13:31:44 UTC
I couldn't find any further issues, thus the package is ready now.

$ rpmlint /var/lib/mock/fedora-13-x86_64/result/*.rpm
nawk.src: W: spelling-error Summary(en_US) awk -> awl, aw, wk
nawk.src: W: spelling-error %description -l en_US awk -> awl, aw, wk
nawk.x86_64: W: spelling-error Summary(en_US) awk -> awl, aw, wk
nawk.x86_64: W: spelling-error %description -l en_US awk -> awl, aw, wk
3 packages and 0 specfiles checked; 0 errors, 4 warnings.

The spelling errors are false positive and can be ignored.

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    - MIT (Standard ML of New Jersey Variant)

[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file containing the text of the license(s) for the package must be included in %doc.
    - file README containing the license text is packaged

[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum awk.tar.gz*
    aca604d1b4c5429f089ecea59422f4dd  awk.tar.gz
    aca604d1b4c5429f089ecea59422f4dd  awk.tar.gz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[.] MUST: If the package does not successfully compile, build or work ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: Packages storing shared library files must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix ...
[.] MUST: devel packages must require the base package 
[+] MUST: Packages must NOT contain any .la libtool archives.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[.] SHOULD: If the source package does not include license text(s) as a separate file ...
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: subpackages other than devel should require the base package.
[.] SHOULD: pkgconfig(.pc) should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, ...
[+] SHOULD: your package should contain man pages for binaries/scripts. 

----------------
Package APPROVED
----------------

Comment 15 Mark McKinstry 2010-10-08 15:15:23 UTC
Thanks!

New Package SCM Request
=======================
Package Name: nawk
Short Description: "The one true awk" descended from UNIX V7
Owners: mmckinst
Branches: f12 f13 f14 el4 el5 el6

Comment 16 Kevin Fenzi 2010-10-08 20:33:30 UTC
Git done (by process-git-requests).

Comment 17 Fedora Update System 2010-10-11 02:31:56 UTC
nawk-20100523-3.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/nawk-20100523-3.fc13

Comment 18 Fedora Update System 2010-10-11 02:32:04 UTC
nawk-20100523-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/nawk-20100523-3.el5

Comment 19 Fedora Update System 2010-10-11 02:32:11 UTC
nawk-20100523-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/nawk-20100523-3.fc14

Comment 20 Fedora Update System 2010-10-11 02:32:17 UTC
nawk-20100523-3.el4 has been submitted as an update for Fedora EPEL 4.
https://admin.fedoraproject.org/updates/nawk-20100523-3.el4

Comment 21 Fedora Update System 2010-10-11 02:32:24 UTC
nawk-20100523-3.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/nawk-20100523-3.fc12

Comment 22 Fedora Update System 2010-10-11 03:45:14 UTC
nawk-20100523-3.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update nawk'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/nawk-20100523-3.fc14

Comment 23 Fedora Update System 2010-10-27 22:41:18 UTC
nawk-20100523-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2010-10-27 22:56:13 UTC
nawk-20100523-3.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 25 Fedora Update System 2010-10-28 05:52:40 UTC
nawk-20100523-3.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 26 Fedora Update System 2010-10-28 16:51:27 UTC
nawk-20100523-3.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2010-10-28 16:51:40 UTC
nawk-20100523-3.el4 has been pushed to the Fedora EPEL 4 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 28 Fedora Update System 2011-02-25 14:39:02 UTC
nawk-20100523-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/nawk-20100523-3.el6

Comment 29 Fedora Update System 2011-03-18 19:26:24 UTC
nawk-20100523-3.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 30 Mark McKinstry 2014-09-10 01:11:19 UTC
Package Change Request
======================
Package Name: nawk
New Branches: epel7
Owners: mmckinst

Comment 31 Gwyn Ciesla 2014-09-10 10:33:31 UTC
Git done (by process-git-requests).

Comment 32 Fedora Update System 2014-09-12 22:08:34 UTC
nawk-20121220-4.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/nawk-20121220-4.el7

Comment 33 Fedora Update System 2014-10-28 10:58:37 UTC
nawk-20121220-4.el7 has been pushed to the Fedora EPEL 7 stable repository.


Note You need to log in before you can comment on or make changes to this bug.