summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorJuergen Daubert <jue@jue.li>2012-11-06 13:47:12 +0100
committerJuergen Daubert <jue@jue.li>2012-11-06 13:47:12 +0100
commit01c4d5944a949b9b68bbdd28c9a98767890c6441 (patch)
treeac145482ea46be10fa2dbfa60c95575be12bdfc7 /make
parent98ace82af1bc4327a2041fa6d05ef8ce89752f1a (diff)
downloadcore-01c4d5944a949b9b68bbdd28c9a98767890c6441.tar.gz
core-01c4d5944a949b9b68bbdd28c9a98767890c6441.tar.xz
make: rework patches, add patch to fix bug #30653
Diffstat (limited to 'make')
-rw-r--r--make/.md5sum4
-rw-r--r--make/Pkgfile6
-rw-r--r--make/make-3.82-bug_30612.patch (renamed from make/savannah-bugs.patch)57
-rw-r--r--make/make-3.82-bug_30653.patch22
-rw-r--r--make/make-3.82-bug_30723.patch20
5 files changed, 67 insertions, 42 deletions
diff --git a/make/.md5sum b/make/.md5sum
index 49035322..162bedf6 100644
--- a/make/.md5sum
+++ b/make/.md5sum
@@ -1,2 +1,4 @@
+d8b96e411faf7e4f8b1c3df16c7c30b6 make-3.82-bug_30612.patch
+126135ffa8383013e935f08cf9904ced make-3.82-bug_30653.patch
+57b24985c2d2eb7e60fee623c2cd883a make-3.82-bug_30723.patch
1a11100f3c63fcf5753818e59d63088f make-3.82.tar.bz2
-af491e6f1134e32550da84d3ca8132d3 savannah-bugs.patch
diff --git a/make/Pkgfile b/make/Pkgfile
index 0f424444..a6537da4 100644
--- a/make/Pkgfile
+++ b/make/Pkgfile
@@ -4,13 +4,13 @@
name=make
version=3.82
-release=2
+release=3
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2
- savannah-bugs.patch)
+ $name-$version-bug_{30612,30653,30723}.patch)
build() {
cd $name-$version
- patch -p0 -i ../savannah-bugs.patch
+ cat $SRC/$name-$version-*.patch | patch -p1
./configure --prefix=/usr --mandir=/usr/man --disable-nls
make
make DESTDIR=$PKG install
diff --git a/make/savannah-bugs.patch b/make/make-3.82-bug_30612.patch
index f2bb9c09..cdba1f44 100644
--- a/make/savannah-bugs.patch
+++ b/make/make-3.82-bug_30612.patch
@@ -1,15 +1,16 @@
-https://savannah.gnu.org/bugs/?30612
-https://savannah.gnu.org/bugs/?30723
-https://savannah.gnu.org/bugs/?31743 (no longer visible)
+commit 2a59dc32aaf0681dec569f32a9d7ab88a379d34f
+Author: psmith <psmith>
+Date: Sat Aug 14 02:50:14 2010 +0000
---- main.c 2010-07-19 14:10:53.000000000 +0700
-+++ main.c 2011-01-12 21:31:30.114891591 +0700
-@@ -1,3 +1,4 @@
-+
- /* Argument parsing and main program of GNU Make.
- Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-@@ -1138,7 +1139,7 @@
+ - Fix the NEWS file to be accurate
+ - Add oneshell to $(.FEATURES) (forgot that!)
+ - Fix Savannah bug #30612: handling of archive references with >1 object
+
+diff --git a/main.c b/main.c
+index 9fe8090..782b0de 100644
+--- a/main.c
++++ b/main.c
+@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp)
a macro and some compilers (MSVC) don't like conditionals in macros. */
{
const char *features = "target-specific order-only second-expansion"
@@ -18,18 +19,11 @@ https://savannah.gnu.org/bugs/?31743 (no longer visible)
#ifndef NO_ARCHIVES
" archives"
#endif
-@@ -2093,7 +2094,7 @@
- const char *pv = define_makeflags (1, 1);
- char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
- sprintf (p, "MAKEFLAGS=%s", pv);
-- putenv (p);
-+ putenv (allocated_variable_expand (p));
- }
-
- if (ISDB (DB_BASIC))
---- read.c 2010-07-13 08:20:42.000000000 +0700
-+++ read.c 2011-01-12 21:31:23.497486028 +0700
-@@ -3028,7 +3028,7 @@
+diff --git a/read.c b/read.c
+index a3ad88e..9dfd4ea 100644
+--- a/read.c
++++ b/read.c
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
{
/* This looks like the first element in an open archive group.
A valid group MUST have ')' as the last character. */
@@ -38,7 +32,7 @@ https://savannah.gnu.org/bugs/?31743 (no longer visible)
do
{
e = next_token (e);
-@@ -3084,19 +3084,19 @@
+@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
Go to the next item in the string. */
if (flags & PARSEFS_NOGLOB)
{
@@ -62,7 +56,7 @@ https://savannah.gnu.org/bugs/?31743 (no longer visible)
if (tildep != 0)
name = tildep;
}
-@@ -3152,7 +3152,11 @@
+@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
else
{
/* We got a chain of items. Attach them. */
@@ -71,19 +65,6 @@ https://savannah.gnu.org/bugs/?31743 (no longer visible)
+ (*newp)->next = found;
+ else
+ *newp = found;
-+
/* Find and set the new end. Massage names if necessary. */
while (1)
---- read.c 2010/11/06 21:56:24 1.195
-+++ read.c 2010/11/30 14:48:53 1.196
-@@ -1811,7 +1811,8 @@
- int len = strlen(v->name);
-
- gv = lookup_variable (v->name, len);
-- if (gv && (gv->origin == o_env_override || gv->origin == o_command))
-+ if (gv && v != gv
-+ && (gv->origin == o_env_override || gv->origin == o_command))
- {
- if (v->value != 0)
- free (v->value);
diff --git a/make/make-3.82-bug_30653.patch b/make/make-3.82-bug_30653.patch
new file mode 100644
index 00000000..fbe2f773
--- /dev/null
+++ b/make/make-3.82-bug_30653.patch
@@ -0,0 +1,22 @@
+commit d1ba0ee36b2bdd91434b5df90f0f4cceda7d6979
+Author: psmith <psmith>
+Date: Mon Sep 10 02:36:05 2012 +0000
+
+ Force intermediate targets to be considered if their non-intermediate
+ parent needs to be remade. Fixes Savannah bug #30653.
+
+diff --git a/remake.c b/remake.c
+index c0bf709..b1ddd23 100644
+--- a/remake.c
++++ b/remake.c
+@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth)
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already considered this file, when we didn't know
++ we'd need to update it. Force update_file() to consider it and
++ not prune it. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
diff --git a/make/make-3.82-bug_30723.patch b/make/make-3.82-bug_30723.patch
new file mode 100644
index 00000000..dfb06600
--- /dev/null
+++ b/make/make-3.82-bug_30723.patch
@@ -0,0 +1,20 @@
+commit a6f280559f34dc805381507e59c9189b7149b853
+Author: psmith <psmith>
+Date: Tue Aug 10 07:35:34 2010 +0000
+
+ Fix Savannah bug #30723: expand MAKEFLAGS before we re-exec after
+ rebuilding makefiles.
+
+diff --git a/main.c b/main.c
+index c6989e3..9fe8090 100644
+--- a/main.c
++++ b/main.c
+@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp)
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))

Generated by cgit