gawk: update to 4.1.4

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

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

Comments

Michael Tremer June 7, 2017, 9:03 a.m. | #1
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");