gawk: update to 4.1.4

Submitted by Marcel Lorenz on June 6, 2017, 8:32 a.m.

Details

Message ID 20170606083200.23516-1-marcel.lorenz@ipfire.org
State New
Headers show

Commit Message

Marcel Lorenz June 6, 2017, 8:32 a.m.
Signed-off-by: Marcel Lorenz <marcel.lorenz@ipfire.org>
---
 config/rootfiles/common/gawk                | 46 ++++++++++++++++++++++-------
 lfs/gawk                                    | 35 ++++++++--------------
 src/patches/gawk-3.1.5-segfault_fix-1.patch | 43 ---------------------------
 3 files changed, 48 insertions(+), 76 deletions(-)
 delete mode 100644 src/patches/gawk-3.1.5-segfault_fix-1.patch

Patch hide | download patch | download mbox

diff --git a/config/rootfiles/common/gawk b/config/rootfiles/common/gawk
index 2a39be6..d4d068c 100644
--- a/config/rootfiles/common/gawk
+++ b/config/rootfiles/common/gawk
@@ -1,18 +1,24 @@ 
 usr/bin/awk
 usr/bin/gawk
-#usr/bin/gawk-3.1.5
+usr/bin/gawk-4.1.4
 #usr/bin/igawk
-#usr/bin/pgawk
-#usr/bin/pgawk-3.1.5
-#usr/info/dir
-#usr/info/gawk.info
-#usr/info/gawkinet.info
+#usr/include/gawkapi.h
 #usr/lib/awk
 #usr/lib/awk/grcat
 #usr/lib/awk/pwcat
-#usr/man/man1/gawk.1
-#usr/man/man1/igawk.1
-#usr/man/man1/pgawk.1
+#usr/lib/gawk
+usr/lib/gawk/filefuncs.so
+usr/lib/gawk/fnmatch.so
+usr/lib/gawk/fork.so
+usr/lib/gawk/inplace.so
+usr/lib/gawk/ordchr.so
+usr/lib/gawk/readdir.so
+usr/lib/gawk/readfile.so
+usr/lib/gawk/revoutput.so
+usr/lib/gawk/revtwoway.so
+usr/lib/gawk/rwarray.so
+usr/lib/gawk/testext.so
+usr/lib/gawk/time.so
 #usr/share/awk
 #usr/share/awk/assert.awk
 #usr/share/awk/bits2str.awk
@@ -22,14 +28,34 @@  usr/bin/gawk
 #usr/share/awk/getopt.awk
 #usr/share/awk/gettime.awk
 #usr/share/awk/group.awk
+#usr/share/awk/inplace.awk
 #usr/share/awk/join.awk
 #usr/share/awk/libintl.awk
-#usr/share/awk/nextfile.awk
 #usr/share/awk/noassign.awk
 #usr/share/awk/ord.awk
 #usr/share/awk/passwd.awk
+#usr/share/awk/processarray.awk
+#usr/share/awk/quicksort.awk
 #usr/share/awk/readable.awk
+#usr/share/awk/readfile.awk
 #usr/share/awk/rewind.awk
 #usr/share/awk/round.awk
+#usr/share/awk/shellquote.awk
 #usr/share/awk/strtonum.awk
+#usr/share/awk/walkarray.awk
 #usr/share/awk/zerofile.awk
+#usr/share/info/gawk.info
+#usr/share/info/gawkinet.info
+#usr/share/man/man1/gawk.1
+#usr/share/man/man1/igawk.1
+#usr/share/man/man3/filefuncs.3am
+#usr/share/man/man3/fnmatch.3am
+#usr/share/man/man3/fork.3am
+#usr/share/man/man3/inplace.3am
+#usr/share/man/man3/ordchr.3am
+#usr/share/man/man3/readdir.3am
+#usr/share/man/man3/readfile.3am
+#usr/share/man/man3/revoutput.3am
+#usr/share/man/man3/revtwoway.3am
+#usr/share/man/man3/rwarray.3am
+#usr/share/man/man3/time.3am
diff --git a/lfs/gawk b/lfs/gawk
index c8cb892..62bad01 100644
--- a/lfs/gawk
+++ b/lfs/gawk
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2016   IPFire Team  <info@ipfire.org>                    #
+# Copyright (C) 2007-2015   IPFire Team  <info@ipfire.org>                    #
 #                                                                             #
 # 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        #
@@ -18,35 +18,29 @@ 
 #                                                                             #
 ###############################################################################
 
+
 ###############################################################################
 # Definitions
 ###############################################################################
 
 include Config
 
-VER        = 3.1.5
+VER        = 4.1.4
 
 THISAPP    = gawk-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
 # Normal build or /tools build.
-#
 ifeq "$(ROOT)" ""
-  TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+	TARGET = $(DIR_INFO)/$(THISAPP)
+	EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
 else
-  TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools --disable-nls --build=$(BUILDTARGET)
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
+	TARGET = $(DIR_INFO)/$(THISAPP)-tools
+	EXTRA_CONFIG = --prefix=/tools --disable-nls
 endif
 
-EXTRA_CONFIG += ac_cv_func_working_mktime=yes
-
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -55,7 +49,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5703f72d0eea1d463f735aad8222655f
+$(DL_FILE)_MD5 = 4e7dbc81163e60fd4f0b52496e7542c9
 
 install : $(TARGET)
 
@@ -84,14 +78,9 @@  $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(ROOT)" ""
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-segfault_fix-1.patch
-endif
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
-	cd $(DIR_APP) && echo "#define HAVE_LANGINFO_CODESET 1"	>> config.h
-	cd $(DIR_APP) && echo "#define HAVE_LC_MESSAGES 1"		>> config.h
-	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
-	cd $(DIR_APP) && make $(EXTRA_INSTALL) install
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)
diff --git a/src/patches/gawk-3.1.5-segfault_fix-1.patch b/src/patches/gawk-3.1.5-segfault_fix-1.patch
deleted file mode 100644
index aa2f17b..0000000
--- a/src/patches/gawk-3.1.5-segfault_fix-1.patch
+++ /dev/null
@@ -1,43 +0,0 @@ 
-Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
-Date: 2005-09-24
-Initial Package Version: 3.1.5
-Upstream Status: From Upstream
-Origin: http://lists.gnu.org/archive/html/bug-gnu-utils/2005-08/msg00047.html
-Description: Fixes a bug which causes gawk to segfault when operating on a non-existent file.
-
-diff -Naur gawk-3.1.5.orig/io.c gawk-3.1.5/io.c
---- gawk-3.1.5.orig/io.c	2005-07-26 18:07:43.000000000 +0000
-+++ gawk-3.1.5/io.c	2005-09-24 14:43:13.771380264 +0000
-@@ -2480,9 +2480,12 @@
- {
- 	struct stat sbuf;
- 	struct open_hook *oh;
-+	int iop_malloced = FALSE;
- 
--	if (iop == NULL)
-+	if (iop == NULL) {
- 		emalloc(iop, IOBUF *, sizeof(IOBUF), "iop_alloc");
-+		iop_malloced = TRUE;
-+	}
- 	memset(iop, '\0', sizeof(IOBUF));
- 	iop->flag = 0;
- 	iop->fd = fd;
-@@ -2495,7 +2498,8 @@
- 	}
- 
- 	if (iop->fd == INVALID_HANDLE) {
--		free(iop);
-+		if (iop_malloced)
-+			free(iop);
- 		return NULL;
- 	}
- 	if (isatty(iop->fd))
-@@ -2503,7 +2507,7 @@
- 	iop->readsize = iop->size = optimal_bufsize(iop->fd, & sbuf);
- 	iop->sbuf = sbuf;
- 	if (do_lint && S_ISREG(sbuf.st_mode) && sbuf.st_size == 0)
--			lintwarn(_("data file `%s' is empty"), name);
-+		lintwarn(_("data file `%s' is empty"), name);
- 	errno = 0;
- 	iop->count = iop->scanoff = 0;
- 	emalloc(iop->buf, char *, iop->size += 2, "iop_alloc");

Comments

Michael Tremer June 7, 2017, 9:03 a.m.
I appreciate it when you clean up things (indentation here), but please break
that down into two patches each time.

So we can merge the cleanup things first and then merge the changes. That will
give us smaller patches to review. Here it is now rather difficult to spot
changes in many lines of the patch.

-Michael

On Tue, 2017-06-06 at 10:32 +0200, Marcel Lorenz wrote:
> Signed-off-by: Marcel Lorenz <marcel.lorenz@ipfire.org>
> ---
>  config/rootfiles/common/gawk                | 46 ++++++++++++++++++++++----
> ---
>  lfs/gawk                                    | 35 ++++++++--------------
>  src/patches/gawk-3.1.5-segfault_fix-1.patch | 43 ---------------------------
>  3 files changed, 48 insertions(+), 76 deletions(-)
>  delete mode 100644 src/patches/gawk-3.1.5-segfault_fix-1.patch
> 
> diff --git a/config/rootfiles/common/gawk b/config/rootfiles/common/gawk
> index 2a39be6..d4d068c 100644
> --- a/config/rootfiles/common/gawk
> +++ b/config/rootfiles/common/gawk
> @@ -1,18 +1,24 @@
>  usr/bin/awk
>  usr/bin/gawk
> -#usr/bin/gawk-3.1.5
> +usr/bin/gawk-4.1.4
>  #usr/bin/igawk
> -#usr/bin/pgawk
> -#usr/bin/pgawk-3.1.5
> -#usr/info/dir
> -#usr/info/gawk.info
> -#usr/info/gawkinet.info
> +#usr/include/gawkapi.h
>  #usr/lib/awk
>  #usr/lib/awk/grcat
>  #usr/lib/awk/pwcat
> -#usr/man/man1/gawk.1
> -#usr/man/man1/igawk.1
> -#usr/man/man1/pgawk.1
> +#usr/lib/gawk
> +usr/lib/gawk/filefuncs.so
> +usr/lib/gawk/fnmatch.so
> +usr/lib/gawk/fork.so
> +usr/lib/gawk/inplace.so
> +usr/lib/gawk/ordchr.so
> +usr/lib/gawk/readdir.so
> +usr/lib/gawk/readfile.so
> +usr/lib/gawk/revoutput.so
> +usr/lib/gawk/revtwoway.so
> +usr/lib/gawk/rwarray.so
> +usr/lib/gawk/testext.so
> +usr/lib/gawk/time.so
>  #usr/share/awk
>  #usr/share/awk/assert.awk
>  #usr/share/awk/bits2str.awk
> @@ -22,14 +28,34 @@ usr/bin/gawk
>  #usr/share/awk/getopt.awk
>  #usr/share/awk/gettime.awk
>  #usr/share/awk/group.awk
> +#usr/share/awk/inplace.awk
>  #usr/share/awk/join.awk
>  #usr/share/awk/libintl.awk
> -#usr/share/awk/nextfile.awk
>  #usr/share/awk/noassign.awk
>  #usr/share/awk/ord.awk
>  #usr/share/awk/passwd.awk
> +#usr/share/awk/processarray.awk
> +#usr/share/awk/quicksort.awk
>  #usr/share/awk/readable.awk
> +#usr/share/awk/readfile.awk
>  #usr/share/awk/rewind.awk
>  #usr/share/awk/round.awk
> +#usr/share/awk/shellquote.awk
>  #usr/share/awk/strtonum.awk
> +#usr/share/awk/walkarray.awk
>  #usr/share/awk/zerofile.awk
> +#usr/share/info/gawk.info
> +#usr/share/info/gawkinet.info
> +#usr/share/man/man1/gawk.1
> +#usr/share/man/man1/igawk.1
> +#usr/share/man/man3/filefuncs.3am
> +#usr/share/man/man3/fnmatch.3am
> +#usr/share/man/man3/fork.3am
> +#usr/share/man/man3/inplace.3am
> +#usr/share/man/man3/ordchr.3am
> +#usr/share/man/man3/readdir.3am
> +#usr/share/man/man3/readfile.3am
> +#usr/share/man/man3/revoutput.3am
> +#usr/share/man/man3/revtwoway.3am
> +#usr/share/man/man3/rwarray.3am
> +#usr/share/man/man3/time.3am
> diff --git a/lfs/gawk b/lfs/gawk
> index c8cb892..62bad01 100644
> --- a/lfs/gawk
> +++ b/lfs/gawk
> @@ -1,7 +1,7 @@
>  #############################################################################
> ##
>  #                                                                            
>  #
>  # IPFire.org - A linux based
> firewall                                         #
> -# Copyright (C) 2007-2016   IPFire Team  <info@ipfire.org>                   
>  #
> +# Copyright (C) 2007-2015   IPFire Team  <info@ipfire.org>                   
>  #
>  #                                                                            
>  #
>  # 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        #
> @@ -18,35 +18,29 @@
>  #                                                                            
>  #
>  #############################################################################
> ##
>  
> +
>  #############################################################################
> ##
>  # Definitions
>  #############################################################################
> ##
>  
>  include Config
>  
> -VER        = 3.1.5
> +VER        = 4.1.4
>  
>  THISAPP    = gawk-$(VER)
> -DL_FILE    = $(THISAPP).tar.bz2
> +DL_FILE    = $(THISAPP).tar.xz
>  DL_FROM    = $(URL_IPFIRE)
>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>  
>  # Normal build or /tools build.
> -#
>  ifeq "$(ROOT)" ""
> -  TARGET = $(DIR_INFO)/$(THISAPP)
> -  EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
> -  EXTRA_MAKE =
> -  EXTRA_INSTALL =
> +	TARGET = $(DIR_INFO)/$(THISAPP)
> +	EXTRA_CONFIG = --prefix=/usr --libexecdir=/usr/lib --disable-nls
>  else
> -  TARGET = $(DIR_INFO)/$(THISAPP)-tools
> -  EXTRA_CONFIG = --prefix=/tools --disable-nls --build=$(BUILDTARGET)
> -  EXTRA_MAKE = 
> -  EXTRA_INSTALL = 
> +	TARGET = $(DIR_INFO)/$(THISAPP)-tools
> +	EXTRA_CONFIG = --prefix=/tools --disable-nls
>  endif
>  
> -EXTRA_CONFIG += ac_cv_func_working_mktime=yes
> -
>  #############################################################################
> ##
>  # Top-level Rules
>  #############################################################################
> ##
> @@ -55,7 +49,7 @@ objects = $(DL_FILE)
>  
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>  
> -$(DL_FILE)_MD5 = 5703f72d0eea1d463f735aad8222655f
> +$(DL_FILE)_MD5 = 4e7dbc81163e60fd4f0b52496e7542c9
>  
>  install : $(TARGET)
>  
> @@ -84,14 +78,9 @@ $(subst %,%_MD5,$(objects)) :
>  
>  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>  	@$(PREBUILD)
> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
> -ifeq "$(ROOT)" ""
> -	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-
> segfault_fix-1.patch
> -endif
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>  	cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
> -	cd $(DIR_APP) && echo "#define HAVE_LANGINFO_CODESET 1"	>>
> config.h
> -	cd $(DIR_APP) && echo "#define HAVE_LC_MESSAGES 1"		>>
> config.h
> -	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
> -	cd $(DIR_APP) && make $(EXTRA_INSTALL) install
> +	cd $(DIR_APP) && make $(MAKETUNING)
> +	cd $(DIR_APP) && make install
>  	@rm -rf $(DIR_APP)
>  	@$(POSTBUILD)
> diff --git a/src/patches/gawk-3.1.5-segfault_fix-1.patch b/src/patches/gawk-
> 3.1.5-segfault_fix-1.patch
> deleted file mode 100644
> index aa2f17b..0000000
> --- a/src/patches/gawk-3.1.5-segfault_fix-1.patch
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -Submitted By: Matthew Burgess <matthew@linuxfromscratch.org>
> -Date: 2005-09-24
> -Initial Package Version: 3.1.5
> -Upstream Status: From Upstream
> -Origin: http://lists.gnu.org/archive/html/bug-gnu-utils/2005-08/msg00047.html
> -Description: Fixes a bug which causes gawk to segfault when operating on a
> non-existent file.
> -
> -diff -Naur gawk-3.1.5.orig/io.c gawk-3.1.5/io.c
> ---- gawk-3.1.5.orig/io.c	2005-07-26 18:07:43.000000000 +0000
> -+++ gawk-3.1.5/io.c	2005-09-24 14:43:13.771380264 +0000
> -@@ -2480,9 +2480,12 @@
> - {
> - 	struct stat sbuf;
> - 	struct open_hook *oh;
> -+	int iop_malloced = FALSE;
> - 
> --	if (iop == NULL)
> -+	if (iop == NULL) {
> - 		emalloc(iop, IOBUF *, sizeof(IOBUF), "iop_alloc");
> -+		iop_malloced = TRUE;
> -+	}
> - 	memset(iop, '\0', sizeof(IOBUF));
> - 	iop->flag = 0;
> - 	iop->fd = fd;
> -@@ -2495,7 +2498,8 @@
> - 	}
> - 
> - 	if (iop->fd == INVALID_HANDLE) {
> --		free(iop);
> -+		if (iop_malloced)
> -+			free(iop);
> - 		return NULL;
> - 	}
> - 	if (isatty(iop->fd))
> -@@ -2503,7 +2507,7 @@
> - 	iop->readsize = iop->size = optimal_bufsize(iop->fd, & sbuf);
> - 	iop->sbuf = sbuf;
> - 	if (do_lint && S_ISREG(sbuf.st_mode) && sbuf.st_size == 0)
> --			lintwarn(_("data file `%s' is empty"), name);
> -+		lintwarn(_("data file `%s' is empty"), name);
> - 	errno = 0;
> - 	iop->count = iop->scanoff = 0;
> - 	emalloc(iop->buf, char *, iop->size += 2, "iop_alloc");