16797908 Upgrade gawk to 4.1.3
authorStacy Yeh <stacy.yeh@oracle.com>
Wed, 13 Jan 2016 13:09:32 -0800
changeset 5267 42a22f73f3bc
parent 5266 028461eee75e
child 5268 f322c1ffb1af
16797908 Upgrade gawk to 4.1.3
components/gawk/Makefile
components/gawk/gawk.p5m
components/gawk/patches/Makefile_in.patch
components/gawk/patches/patch_awk.patch
components/gawk/test/results-64.master
--- a/components/gawk/Makefile	Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/Makefile	Wed Jan 13 13:09:32 2016 -0800
@@ -23,12 +23,12 @@
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		gawk
-COMPONENT_VERSION=	3.1.8
+COMPONENT_VERSION=	4.1.3
 COMPONENT_PROJECT_URL=	http://www.gnu.org/software/gawk/
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
-COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.bz2
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.xz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:5dbc7b2c4c328711337c2aacd09a122c7313122262e3ff034590f014067412b4
+	sha256:e3cf55e91e31ea2845f8338bedd91e40671fc30e4d82ea147d220e687abda625
 COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/gnu/gawk/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	utility/gawk
 
@@ -37,7 +37,7 @@
 COMPONENT_TEST_TRANSFORMS += \
         '-e "s|\(^/usr/gnu/bin/make\).*|\1|" ' 
 
-TPNO=			6808
+TPNO=			26217	
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
@@ -66,8 +66,8 @@
 # must build tests before using
 system-test:    build $(SYSTEM_TEST_64)
 
-
 REQUIRED_PACKAGES += library/libsigsegv
+REQUIRED_PACKAGES += library/readline
 REQUIRED_PACKAGES += shell/ksh93
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
--- a/components/gawk/gawk.p5m	Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/gawk.p5m	Wed Jan 13 13:09:32 2016 -0800
@@ -21,6 +21,9 @@
 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
+# pkg.linted actions are needed to prevent lint errors for 64-bit binaries in
+# 32-bit path.
+<transform file path=usr/lib/gawk/.*\.so -> default pkg.linted.userland.action001.2 true>
 <transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
 set name=pkg.fmri value=pkg:/text/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="GNU awk"
@@ -36,11 +39,23 @@
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 link path=usr/bin/gawk target=../gnu/bin/awk facet.compat.gnulinks=true
 file path=usr/bin/igawk
-file path=usr/bin/pgawk
 file usr/bin/gawk path=usr/gnu/bin/awk
 file usr/share/man/man1/gawk.1 path=usr/gnu/share/man/man1/awk.1
+file path=usr/include/gawkapi.h
 file path=usr/lib/awk/grcat mode=0555
 file path=usr/lib/awk/pwcat mode=0555
+file path=usr/lib/gawk/filefuncs.so
+file path=usr/lib/gawk/fnmatch.so
+file path=usr/lib/gawk/fork.so
+file path=usr/lib/gawk/inplace.so
+file path=usr/lib/gawk/ordchr.so
+file path=usr/lib/gawk/readdir.so
+file path=usr/lib/gawk/readfile.so
+file path=usr/lib/gawk/revoutput.so
+file path=usr/lib/gawk/revtwoway.so
+file path=usr/lib/gawk/rwarray.so
+file path=usr/lib/gawk/testext.so
+file path=usr/lib/gawk/time.so
 file path=usr/share/awk/assert.awk
 file path=usr/share/awk/bits2str.awk
 file path=usr/share/awk/cliff_rand.awk
@@ -49,41 +64,49 @@
 file path=usr/share/awk/getopt.awk
 file path=usr/share/awk/gettime.awk
 file path=usr/share/awk/group.awk
+file path=usr/share/awk/inplace.awk
 file path=usr/share/awk/join.awk
 file path=usr/share/awk/libintl.awk
-file path=usr/share/awk/nextfile.awk
 file path=usr/share/awk/noassign.awk
 file path=usr/share/awk/ord.awk
 file path=usr/share/awk/passwd.awk
+file path=usr/share/awk/processarray.awk
+file path=usr/share/awk/quicksort.awk
 file path=usr/share/awk/readable.awk
+file path=usr/share/awk/readfile.awk
 file path=usr/share/awk/rewind.awk
 file path=usr/share/awk/round.awk
+file path=usr/share/awk/shellquote.awk
 file path=usr/share/awk/strtonum.awk
+file path=usr/share/awk/walkarray.awk
 file path=usr/share/awk/zerofile.awk
 file path=usr/share/info/gawk.info
 file path=usr/share/info/gawkinet.info
-file path=usr/share/locale/ast/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/ca/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/da/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/de/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/es/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/fi/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/fr/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/ga/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/he/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/id/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/it/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/ja/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/ms/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/nl/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/pl/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/pt_BR/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/ro/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/rw/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/sv/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/tr/LC_MESSAGES/gawk.mo
 file path=usr/share/locale/vi/LC_MESSAGES/gawk.mo
-file path=usr/share/locale/zh_CN/LC_MESSAGES/gawk.mo
 link path=usr/share/man/man1/gawk.1 target=../../../gnu/share/man/man1/awk.1 \
     facet.compat.gnulinks=all
 file path=usr/share/man/man1/igawk.1
-link path=usr/share/man/man1/pgawk.1 target=../../../gnu/share/man/man1/awk.1
+file path=usr/share/man/man3/filefuncs.3am
+file path=usr/share/man/man3/fnmatch.3am
+file path=usr/share/man/man3/fork.3am
+file path=usr/share/man/man3/inplace.3am
+file path=usr/share/man/man3/ordchr.3am
+file path=usr/share/man/man3/readdir.3am
+file path=usr/share/man/man3/readfile.3am
+file path=usr/share/man/man3/revoutput.3am
+file path=usr/share/man/man3/revtwoway.3am
+file path=usr/share/man/man3/rwarray.3am
+file path=usr/share/man/man3/time.3am
 license gawk.license license="GPLv3, FDLv1.3"
--- a/components/gawk/patches/Makefile_in.patch	Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/patches/Makefile_in.patch	Wed Jan 13 13:09:32 2016 -0800
@@ -1,21 +1,14 @@
-Internally produced patch to allow both test and system-test to work.
-Will offer to upstream.
-
+Solaris specific patch to allow both test and system-test to work.
+Has been offered upstream.
 
---- gawk-3.1.8/test/Makefile.in_orig	2015-08-03 15:16:05.007746388 -0700
-+++ gawk-3.1.8/test/Makefile.in	2015-08-03 15:16:57.152891167 -0700
[email protected]@ -1187,12 +1187,12 @@
+--- gawk-4.1.3/test/Makefile.in 2015-12-08 10:50:43.203348353 -0800
++++ gawk-4.1.3/test/Makefile.in 2015-12-08 10:51:00.745983630 -0800
[email protected]@ -1695,7 +1695,7 @@ lc_num1:
  # so this can still fail
  poundbang::
  	@echo [email protected]
--	@sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk
-+	@sed "s;/tmp/gawk;$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk
+-	@sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk
++	@sed "s;/tmp/gawk;$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk
  	@chmod +x ./_pbd.awk
- 	@if ./_pbd.awk $(srcdir)/poundbang.awk > _`basename [email protected]` ; \
+ 	@if ./_pbd.awk "$(srcdir)"/poundbang.awk > _`basename [email protected]` ; \
  	then : ; \
- 	else \
--		sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
-+		sed "s;/tmp/gawk;$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
- 		chmod +x ./_pbd.awk ; \
- 		LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk $(srcdir)/poundbang.awk > _`basename [email protected]`;  \
- 	fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/gawk/patches/patch_awk.patch	Wed Jan 13 13:09:32 2016 -0800
@@ -0,0 +1,15 @@
+Fix build problem with SunStudio compiler under Solaris. Patch taken
+from here:
+
+http://lists.gnu.org/archive/html/bug-gawk/2011-07/msg00008.html
+
+--- gawk-4.1.3/awk.h.orig       2013-04-07 18:54:28.000000000 +0100
++++ gawk-4.1.3/awk.h    2013-12-26 19:03:34.000000000 +0000
[email protected]@ -69,7 +69,7 @@
+ #endif /* LOCALEDIR */
+ #endif
+
+-#if !defined(__STDC__) || __STDC__ < 1
++#if !defined(__STDC__) || __STDC__ < 1 && !defined(__EXTENSIONS__)
+ #error "gawk no longer supports non-C89 environments (no __STDC__ or __STDC__ < 1)"
+ #endif
--- a/components/gawk/test/results-64.master	Wed Jan 13 10:30:45 2016 -0800
+++ b/components/gawk/test/results-64.master	Wed Jan 13 13:09:32 2016 -0800
@@ -6,16 +6,23 @@
 make[3]: Nothing to be done for `check-local'.
 make[3]: Leaving directory `$(@D)'
 make[2]: Leaving directory `$(@D)'
-Making check in awklib
-make[2]: Entering directory `$(@D)/awklib'
-make[2]: Leaving directory `$(@D)/awklib'
 Making check in doc
 make[2]: Entering directory `$(@D)/doc'
 make[2]: Nothing to be done for `check'.
 make[2]: Leaving directory `$(@D)/doc'
+Making check in awklib
+make[2]: Entering directory `$(@D)/awklib'
+make[2]: Nothing to be done for `check'.
+make[2]: Leaving directory `$(@D)/awklib'
 Making check in po
 make[2]: Entering directory `$(@D)/po'
+make[2]: Nothing to be done for `check'.
 make[2]: Leaving directory `$(@D)/po'
+Making check in extension
+make[2]: Entering directory `$(@D)/extension'
+make[3]: Entering directory `$(@D)/extension'
+make[3]: Leaving directory `$(@D)/extension'
+make[2]: Leaving directory `$(@D)/extension'
 Making check in test
 make[2]: Entering directory `$(@D)/test'
 
@@ -55,6 +62,9 @@
 awkpath
 back89
 backgsub
+badassign1
+badbuild
+callparam
 childin
 clobber
 closebad
@@ -68,13 +78,18 @@
 convfmt
 datanonl
 defref
+delargv
 delarpm2
 delarprm
 delfunc
+dfamb1
+dfastress
 dynlj
 eofsplit
+exit2
 exitval1
 exitval2
+exitval3
 fcall_exit
 fcall_exit2
 fldchg
@@ -98,6 +113,8 @@
 getline
 getline2
 getline3
+getline4
+getline5
 getlnbuf
 getnr2tb
 getnr2tm
@@ -108,8 +125,11 @@
 gsubtst4
 gsubtst5
 gsubtst6
+gsubtst7
+gsubtst8
 hex
 hsprint
+inpref
 inputred
 intest
 intprec
@@ -129,8 +149,10 @@
 nasty
 nasty2
 negexp
+negrange
 nested
 nfldstr
+nfloop
 nfneg
 nfset
 nlfldsep
@@ -149,19 +171,25 @@
 numsubstr
 octsub
 ofmt
+ofmta
 ofmtbig
 ofmtfidl
 ofmts
+ofs1
 onlynl
 opasnidx
 opasnslf
+paramasfunc1
+paramasfunc2
 paramdup
 paramres
 paramtyp
+paramuninitglobal
 parse1
 parsefld
 parseme
 pcntplus
+posix2008sub
 prdupval
 prec
 printf0
@@ -170,14 +198,20 @@
 prmreuse
 prt1eval
 prtoeval
-psx96sub
 rand
+range1
+rebrackloc
 rebt8b1
 redfilnm
 regeq
+regexpbrack
+regexpbrack2
+regexprange
+regrange
 reindops
 reparse
 resplit
+rri1
 rs
 rsnul1nl
 rsnulbig
@@ -192,6 +226,7 @@
 sclforin
 sclifin
 sortempty
+sortglos
 splitargv
 splitarr
 splitdef
@@ -236,23 +271,50 @@
 pipeio1
 pipeio2
 poundbang
+rtlen
+rtlen01
 space
 strftlng
 ======== Done with Unix tests ========
 ======== Starting gawk extension tests ========
+aadelete1
+aadelete2
+aarray1
+aasort
+aasorti
 argtest
+arraysort
 backw
 badargs
+beginfile1
+beginfile2
 binmode1
+charasbytes
+colonwarn
 clos1way
+crlf
+dbugeval
+delsub
 devfd
 devfd1
 devfd2
+dumpvars
+exit
 fieldwdth
+fpat1
+fpat2
+fpat3
+fpat4
+fpatnull
 fsfwfs
 funlen
+functab1
+functab2
+functab3
 fwtest
 fwtest2
+fwtest3
+genpot
 gensub
 gensub2
 getlndir
@@ -261,37 +323,83 @@
 gnureops
 icasefs
 icasers
+id
 igncdym
 igncfs
 ignrcas2
 ignrcase
+incdupe
+incdupe2
+incdupe3
+incdupe4
+incdupe5
+incdupe6
+incdupe7
+include
+include2
+indirectbuiltin
+indirectcall
+indirectcall2
 lint
 lintold
+lintwarn
 manyfiles
 match1
 match2
 match3
-mbprintf3
 mbstr1
+nastyparm
+negtime
+next
 nondec
 nondec2
+patsplit
 posix
 printfbad1
 printfbad2
+printfbad3
+printfbad4
+printhuge
 procinfs
+profile0
+profile1
+profile2
+profile3
+profile4
+profile5
+profile6
+profile7
+pty1
 rebuf
+regnul1
+regnul2
 regx8bit
+reginttrad
 reint
 reint2
+rsgetline
+rsglstdin
 rsstart1
 rsstart2
 rsstart3
 rstest6
 shadow
-This test could fail on slow machines or on a minute boundary,
-so if it does, double check the actual results:
+sortfor
+sortu
+split_after_fpat
+splitarg4
 strftime
 strtonum
+switch2
+symtab1
+symtab2
+symtab3
+symtab4
+symtab5
+symtab6
+symtab7
+symtab8
+symtab9
 ======== Done with gawk extension tests ========
 ======== Starting machine-specific tests ========
 double1
@@ -299,21 +407,61 @@
 fmtspcl
 intformat
 ======== Done with machine-specific tests ========
+make[3]: Entering directory `$(@D)/test'
 ======== Starting tests that can vary based on character set or locale support ========
+**************************************************************************
+* Some or all of these tests may fail if you have inadequate or missing  *
+* locale support At least en_US.UTF-8, ru_RU.UTF-8 and ja_JP.UTF-8 are   *
+* needed. However, if you see this message, the Makefile thinks you have *
+* what you need ...                                                      *
+**************************************************************************
 asort
 asorti
+backbigs1
+backsmalls1
+backsmalls2
 fmttest
 fnarydel
 fnparydl
+jarebug
 lc_num1
 mbfw1
 mbprintf1
 mbprintf2
+mbprintf3
+mbprintf4
 rebt8b2
+rtlenmb
 sort1
 sprintfc
-whiny
 ======== Done with tests that can vary based on character set or locale support ========
+make[3]: Leaving directory `$(@D)/test'
+======== Starting shared library tests ========
+make[3]: Entering directory `$(@D)/test'
+fnmatch
+filefuncs
+fork
+fork2
+fts
+functab4
+inplace1
+inplace2
+inplace3
+ordchr
+ordchr2
+readdir
+readfile
+readfile2
+revout
+revtwoway
+rwarray
+testext
+time
+make[3]: Leaving directory `$(@D)/test'
+======== Done with shared library tests ========
+======== Starting MPFR tests ========
+MPFR tests not supported on this system
+======== Done with MPFR tests ========
 make[3]: Entering directory `$(@D)/test'
 ALL TESTS PASSED
 make[3]: Leaving directory `$(@D)/test'