Hello community,

here is the log from the commit of package make for openSUSE:Factory checked in 
at 2012-08-31 09:42:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/make (Old)
 and      /work/SRC/openSUSE:Factory/.make.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "make", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/make/make.changes        2012-04-17 
22:00:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.make.new/make.changes   2012-08-31 
09:42:15.000000000 +0200
@@ -1,0 +2,10 @@
+Wed Aug  8 13:33:19 UTC 2012 - [email protected]
+
+- Add make-arglength.patch: fix the argument list limit of GNU make
+- Add make-parallel-build.patch: Fix parallel build issues present
+  in GNU make 3.82
+- Both patches taken from 
http://trac.webkit.org/browser/trunk/Tools/gtk/patches/
+  are known by upstream and are mandatory to be able to build
+  libwebkit 1.9.6+.
+
+-------------------------------------------------------------------

New:
----
  make-arglength.patch
  make-parallel-build.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ make.spec ++++++
--- /var/tmp/diff_new_pack.SV17Zh/_old  2012-08-31 09:42:17.000000000 +0200
+++ /var/tmp/diff_new_pack.SV17Zh/_new  2012-08-31 09:42:17.000000000 +0200
@@ -32,6 +32,10 @@
 Patch5:         make-savannah-bug30612-handling_of_archives.diff
 Patch6:         make-fix_whitespace_tokenization.diff
 Patch7:         make-glob-faster.patch
+# PATCH-FIX-UPSTREAM make-arglength.patch [email protected] -- 
http://article.gmane.org/gmane.comp.gnu.make.bugs/4219
+Patch8:         make-arglength.patch
+# PATCH-FIX-UPSTREAM make-parallel-build.patch [email protected] -- 
http://savannah.gnu.org/bugs/?30653 
+Patch9:         make-parallel-build.patch
 Patch64:        make-library-search-path.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -46,6 +50,8 @@
 %patch5
 %patch6 -p1
 %patch7 -p0
+%patch8 -p1
+%patch9 -p1
 if [ %_lib == lib64 ]; then
 %patch64
 fi

++++++ make-arglength.patch ++++++
diff -u make-3.82-orig/configure.in make-3.82/configure.in
--- make-3.82-orig/configure.in 2010-07-28 07:39:50.000000000 +0200
+++ make-3.82/configure.in      2012-03-21 12:34:20.000000000 +0100
@@ -64,7 +64,8 @@
 AC_HEADER_STAT
 AC_HEADER_TIME
 AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \
-                memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h)
+                memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h \
+                sys/user.h linux/binfmts.h)
 
 # Set a flag if we have an ANSI C compiler
 if test "$ac_cv_prog_cc_stdc" != no; then
Subdirectorios comunes: make-3.82-orig/doc y make-3.82/doc
Subdirectorios comunes: make-3.82-orig/glob y make-3.82/glob
diff -u make-3.82-orig/job.c make-3.82/job.c
--- make-3.82-orig/job.c        2010-07-24 10:27:50.000000000 +0200
+++ make-3.82/job.c     2012-03-21 12:34:20.000000000 +0100
@@ -29,6 +29,11 @@
 
 #include <string.h>
 
+#if defined (HAVE_LINUX_BINFMTS_H) && defined (HAVE_SYS_USER_H)
+#include <sys/user.h>
+#include <linux/binfmts.h>
+#endif
+
 /* Default shell to use.  */
 #ifdef WINDOWS32
 #include <windows.h>
@@ -2795,6 +2800,7 @@
     unsigned int sflags_len = strlen (shellflags);
     char *command_ptr = NULL; /* used for batch_mode_shell mode */
     char *new_line;
+    char *args_ptr;
 
 # ifdef __EMX__ /* is this necessary? */
     if (!unixy_shell)
@@ -2865,8 +2871,17 @@
        return new_argv;
       }
 
+#ifdef MAX_ARG_STRLEN
+    static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ ";
+#define ARG_NUMBER_DIGITS 5
+#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4                   \
+                  + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 
2))
+#else
+#define EVAL_LEN 0
+#endif
+
     new_line = alloca (shell_len + 1 + sflags_len + 1
-                             + (line_len*2) + 1);
+                       + (line_len*2) + 1 + EVAL_LEN);
     ap = new_line;
     memcpy (ap, shell, shell_len);
     ap += shell_len;
@@ -2875,6 +2890,30 @@
     ap += sflags_len;
     *(ap++) = ' ';
     command_ptr = ap;
+
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+    if (unixy_shell && line_len > MAX_ARG_STRLEN)
+      {
+       unsigned j;
+       memcpy (ap, eval_line, sizeof (eval_line) - 1);
+       ap += sizeof (eval_line) - 1;
+       for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++)
+         ap += sprintf (ap, "\\$\\{%u\\}", j);
+       *ap++ = '\\';
+       *ap++ = '"';
+       *ap++ = ' ';
+       /* Copy only the first word of SHELL to $0.  */
+       for (p = shell; *p != '\0'; ++p)
+         {
+           if (isspace ((unsigned char)*p))
+             break;
+           *ap++ = *p;
+         }
+       *ap++ = ' ';
+      }
+#endif
+    args_ptr = ap;
+
     for (p = line; *p != '\0'; ++p)
       {
        if (restp != NULL && *p == '\n')
@@ -2922,6 +2961,14 @@
           }
 #endif
        *ap++ = *p;
+
+#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN)
+       if (unixy_shell && line_len > MAX_ARG_STRLEN && (ap - args_ptr > 
MAX_ARG_STRLEN - 2))
+         {
+           *ap++ = ' ';
+           args_ptr = ap;
+         }
+#endif
       }
     if (ap == new_line + shell_len + sflags_len + 2)
       /* Line was empty.  */


++++++ make-parallel-build.patch ++++++
diff -u make-3.82-orig/remake.c make-3.82/remake.c
--- make-3.82-orig/remake.c     2010-07-13 03:20:42.000000000 +0200
+++ make-3.82/remake.c  2012-03-21 12:47:52.000000000 +0100
@@ -301,7 +301,7 @@
       /* Check for the case where a target has been tried and failed but
          the diagnostics hasn't been issued. If we need the diagnostics
          then we will have to continue. */
-      if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag))
+      if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag) 
&& f->command_state!=cs_not_started )
         {
           DBF (DB_VERBOSE, _("Pruning file `%s'.\n"));
           return f->command_state == cs_finished ? f->update_status : 0;
@@ -614,6 +614,12 @@
                 d->file->dontcare = file->dontcare;
               }
 
+           /* We may have already encountered this file earlier in the same
+            * pass before we knew we'd be updating this target. In that 
+            * case calling update_file now would result in the file being 
+            * inappropriately pruned so we toggle the considered bit back 
+            * off first. */
+            d->file->considered = !considered;
 
            dep_status |= update_file (d->file, depth);
 


-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to