From: Schantl Stefan Date: Sat, 27 Mar 2010 10:05:58 +0000 (+0100) Subject: bison: Update to version 2.4.2. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7de1c0be6628b84f86c70f883f7e943d1997dad;p=ipfire-3.x.git bison: Update to version 2.4.2. --- diff --git a/pkgs/core/bison/bison.nm b/pkgs/core/bison/bison.nm index 1d856c69c..ca31db90c 100644 --- a/pkgs/core/bison/bison.nm +++ b/pkgs/core/bison/bison.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include PKG_NAME = bison -PKG_VER = 2.4.1 +PKG_VER = 2.4.2 PKG_REL = 0 PKG_MAINTAINER = diff --git a/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch b/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch deleted file mode 100644 index 3f72c3e2c..000000000 --- a/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -urp bison-2.4-pm/lib/subpipe.c bison-2.4/lib/subpipe.c ---- bison-2.4-pm/lib/subpipe.c 2008-07-14 10:56:12.000000000 +0200 -+++ bison-2.4/lib/subpipe.c 2008-11-20 14:37:42.000000000 +0100 -@@ -143,7 +143,9 @@ create_subpipe (char const * const *argv - } - - --/* Wait for the subprocess to exit. */ -+/* Wait for the subprocess to exit. PROGRAM==NULL means errors -+ shouldn't be emitted, typically becuase we are reaping the subpipe -+ in response to some other error. */ - - void - reap_subpipe (pid_t pid, char const *program) -@@ -151,11 +153,14 @@ reap_subpipe (pid_t pid, char const *pro - #if HAVE_WAITPID || defined waitpid - int wstatus; - if (waitpid (pid, &wstatus, 0) < 0) -- error (EXIT_FAILURE, errno, "waitpid"); -+ { -+ if (program) -+ error (EXIT_FAILURE, errno, "waitpid"); -+ } - else - { - int status = WIFEXITED (wstatus) ? WEXITSTATUS (wstatus) : -1; -- if (status) -+ if (status && program) - error (EXIT_FAILURE, 0, - _(status == 126 - ? "subsidiary program `%s' could not be invoked" -diff -urp bison-2.4-pm/src/output.c bison-2.4/src/output.c ---- bison-2.4-pm/src/output.c 2008-11-02 19:09:10.000000000 +0100 -+++ bison-2.4/src/output.c 2008-11-20 14:39:08.000000000 +0100 -@@ -467,6 +467,21 @@ prepare_actions (void) - | Call the skeleton parser. | - `---------------------------*/ - -+static pid_t pid = 0; -+ -+/* Clean up opened pipe. */ -+static void -+die (void) -+{ -+ static int dying = 0; -+ if (pid && !dying) -+ { -+ dying = 1; -+ reap_subpipe (pid, NULL); -+ pid = 0; -+ } -+} -+ - static void - output_skeleton (void) - { -@@ -474,7 +489,6 @@ output_skeleton (void) - FILE *out; - int filter_fd[2]; - char const *argv[9]; -- pid_t pid; - - /* Compute the names of the package data dir and skeleton files. */ - char const m4sugar[] = "m4sugar/m4sugar.m4"; -@@ -586,6 +600,7 @@ output_skeleton (void) - scan_skel (in); - xfclose (in); - reap_subpipe (pid, m4); -+ pid = 0; - timevar_pop (TV_M4); - } - -@@ -653,6 +669,14 @@ prepare (void) - void - output (void) - { -+ /* Register shutdown handler. */ -+ static int registered = 0; -+ if (!registered) -+ { -+ registered = 1; -+ atexit (die); -+ } -+ - obstack_init (&format_obstack); - - prepare_symbols ();