diff options
author | wiz <wiz@pkgsrc.org> | 2016-06-11 18:29:44 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2016-06-11 18:29:44 +0000 |
commit | 80d437ce21aa231812c50c635035ab27af0cb4b6 (patch) | |
tree | 03f0e9b3b48372b4ca0c412baadd1054774339d3 | |
parent | 0e7738db7cecca79c98b10e5b4445909d7e673bc (diff) | |
download | pkgsrc-80d437ce21aa231812c50c635035ab27af0cb4b6.tar.gz |
Updated gmake to 4.2.1.
Version 4.2.1 (10 Jun 2016)
A complete list of bugs fixed in this version is available here:
http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=107&set=custom
This release is a bug-fix release.
-rw-r--r-- | devel/gmake/Makefile | 5 | ||||
-rw-r--r-- | devel/gmake/distinfo | 14 | ||||
-rw-r--r-- | devel/gmake/patches/patch-filedef.h | 38 | ||||
-rw-r--r-- | devel/gmake/patches/patch-main.c | 31 | ||||
-rw-r--r-- | devel/gmake/patches/patch-remake.c | 91 | ||||
-rw-r--r-- | devel/gmake/patches/patch-tests_scripts_features_double__colon | 42 |
6 files changed, 7 insertions, 214 deletions
diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile index 5eb134bb1b5..56ef38edbe7 100644 --- a/devel/gmake/Makefile +++ b/devel/gmake/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.98 2016/05/31 11:44:03 wiz Exp $ +# $NetBSD: Makefile,v 1.99 2016/06/11 18:29:44 wiz Exp $ -DISTNAME= make-4.2 +DISTNAME= make-4.2.1 PKGNAME= g${DISTNAME} -PKGREVISION= 1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} EXTRACT_SUFX= .tar.bz2 diff --git a/devel/gmake/distinfo b/devel/gmake/distinfo index 320fdb451fa..d03a16e076b 100644 --- a/devel/gmake/distinfo +++ b/devel/gmake/distinfo @@ -1,12 +1,8 @@ -$NetBSD: distinfo,v 1.29 2016/05/31 11:44:03 wiz Exp $ +$NetBSD: distinfo,v 1.30 2016/06/11 18:29:44 wiz Exp $ -SHA1 (make-4.2.tar.bz2) = d78b84a219b4c16593544f541dff7eb765ce3d74 -RMD160 (make-4.2.tar.bz2) = 606bc7508a2b7313d0dafb18a1992c4d12782dc7 -SHA512 (make-4.2.tar.bz2) = 2e8668a130dadc9885a67d80032bf5554c6456741153f3224a4f0eb17ac268b22f062f9e4d66aedda4d1c926494c0b493fe5e941fb5d28ead6adbdf2f09d9128 -Size (make-4.2.tar.bz2) = 1400539 bytes +SHA1 (make-4.2.1.tar.bz2) = 7d9d11eb36cfb752da1fb11bb3e521d2a3cc8830 +RMD160 (make-4.2.1.tar.bz2) = 7cf74e2fd9764ffeb48f40a49077099874ad8a54 +SHA512 (make-4.2.1.tar.bz2) = 9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 +Size (make-4.2.1.tar.bz2) = 1407126 bytes SHA1 (patch-af) = 8ff060ecba9d664044eabd98741253881d8c9bbe -SHA1 (patch-filedef.h) = e6e9f588101a7b876634aee39e677eb48435c3a2 -SHA1 (patch-main.c) = 81259f9b9486055d81f6f32b4e17e1fb2f40d95c SHA1 (patch-pa) = 2c0168db7afec3da98b30392290e5b9464ea7b5e -SHA1 (patch-remake.c) = a2ebf6678d14b848198e81908eba153b7a3056ec -SHA1 (patch-tests_scripts_features_double__colon) = cff26c5b216ea623646650a69a0f5ce4a9e1a327 diff --git a/devel/gmake/patches/patch-filedef.h b/devel/gmake/patches/patch-filedef.h deleted file mode 100644 index 5fca89fa7f1..00000000000 --- a/devel/gmake/patches/patch-filedef.h +++ /dev/null @@ -1,38 +0,0 @@ -$NetBSD: patch-filedef.h,v 1.1 2016/05/31 11:44:03 wiz Exp $ - -From 4762480ae9cb8df4878286411f178d32db14eff0 Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Tue, 31 May 2016 06:56:51 +0000 -Subject: [SV 47995] Ensure forced double-colon rules work with -j. - -The fix for SV 44742 had a side-effect that some double-colon targets -were skipped. This happens because the "considered" facility assumed -that all targets would be visited on each walk through the dependency -graph: we used a bit for considered and toggled it on each pass; if -we didn't walk the entire graph on every pass the bit would get out -of sync. The new behavior after SV 44742 might return early without -walking the entire graph. To fix this I changed the considered value -to an integer which is monotonically increasing: it is then never -possible to incorrectly determine that a previous pass through the -graph already considered the current target. - ---- filedef.h.orig 2016-05-21 20:21:52.000000000 +0000 -+++ filedef.h -@@ -58,6 +58,8 @@ struct file - FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */ - FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating - has been performed. */ -+ unsigned int considered; /* equal to 'considered' if file has been -+ considered on current scan of goal chain */ - int command_flags; /* Flags OR'd in for cmds; see commands.h. */ - enum update_status /* Status of the last attempt to update. */ - { -@@ -96,8 +98,6 @@ struct file - unsigned int ignore_vpath:1;/* Nonzero if we threw out VPATH name. */ - unsigned int pat_searched:1;/* Nonzero if we already searched for - pattern-specific variables. */ -- unsigned int considered:1; /* equal to 'considered' if file has been -- considered on current scan of goal chain */ - unsigned int no_diag:1; /* True if the file failed to update and no - diagnostics has been issued (dontcare). */ - }; diff --git a/devel/gmake/patches/patch-main.c b/devel/gmake/patches/patch-main.c deleted file mode 100644 index c41796a5d29..00000000000 --- a/devel/gmake/patches/patch-main.c +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-main.c,v 1.4 2016/05/31 11:44:03 wiz Exp $ - -From 4762480ae9cb8df4878286411f178d32db14eff0 Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Tue, 31 May 2016 06:56:51 +0000 -Subject: [SV 47995] Ensure forced double-colon rules work with -j. - -The fix for SV 44742 had a side-effect that some double-colon targets -were skipped. This happens because the "considered" facility assumed -that all targets would be visited on each walk through the dependency -graph: we used a bit for considered and toggled it on each pass; if -we didn't walk the entire graph on every pass the bit would get out -of sync. The new behavior after SV 44742 might return early without -walking the entire graph. To fix this I changed the considered value -to an integer which is monotonically increasing: it is then never -possible to incorrectly determine that a previous pass through the -graph already considered the current target. - ---- main.c.orig 2016-05-21 20:21:52.000000000 +0000 -+++ main.c -@@ -2262,10 +2262,6 @@ main (int argc, char **argv, char **envp - - for (i = 0, d = read_files; d != 0; ++i, d = d->next) - { -- /* Reset the considered flag; we may need to look at the file -- again to print an error. */ -- d->file->considered = 0; -- - if (d->file->updated) - { - /* This makefile was updated. */ diff --git a/devel/gmake/patches/patch-remake.c b/devel/gmake/patches/patch-remake.c deleted file mode 100644 index 91f39cfa927..00000000000 --- a/devel/gmake/patches/patch-remake.c +++ /dev/null @@ -1,91 +0,0 @@ -$NetBSD: patch-remake.c,v 1.3 2016/05/31 11:44:03 wiz Exp $ - -From 4762480ae9cb8df4878286411f178d32db14eff0 Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Tue, 31 May 2016 06:56:51 +0000 -Subject: [SV 47995] Ensure forced double-colon rules work with -j. - -The fix for SV 44742 had a side-effect that some double-colon targets -were skipped. This happens because the "considered" facility assumed -that all targets would be visited on each walk through the dependency -graph: we used a bit for considered and toggled it on each pass; if -we didn't walk the entire graph on every pass the bit would get out -of sync. The new behavior after SV 44742 might return early without -walking the entire graph. To fix this I changed the considered value -to an integer which is monotonically increasing: it is then never -possible to incorrectly determine that a previous pass through the -graph already considered the current target. - ---- remake.c.orig 2016-05-21 21:34:45.000000000 +0000 -+++ remake.c -@@ -57,8 +57,9 @@ unsigned int commands_started = 0; - static struct goaldep *goal_list; - static struct dep *goal_dep; - --/* Current value for pruning the scan of the goal chain (toggle 0/1). */ --static unsigned int considered; -+/* Current value for pruning the scan of the goal chain. -+ All files start with considered == 0. */ -+static unsigned int considered = 0; - - static enum update_status update_file (struct file *file, unsigned int depth); - static enum update_status update_file_1 (struct file *file, unsigned int depth); -@@ -90,12 +91,12 @@ update_goal_chain (struct goaldep *goald - - goal_list = rebuilding_makefiles ? goaldeps : NULL; - -- /* All files start with the considered bit 0, so the global value is 1. */ -- considered = 1; -- - #define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \ - : file_mtime (file)) - -+ /* Start a fresh batch of consideration. */ -+ ++considered; -+ - /* Update all the goals until they are all finished. */ - - while (goals != 0) -@@ -247,10 +248,10 @@ update_goal_chain (struct goaldep *goald - } - } - -- /* If we reached the end of the dependency graph toggle the considered -- flag for the next pass. */ -+ /* If we reached the end of the dependency graph update CONSIDERED -+ for the next pass. */ - if (g == 0) -- considered = !considered; -+ ++considered; - } - - if (rebuilding_makefiles) -@@ -615,8 +616,8 @@ update_file_1 (struct file *file, unsign - break; - - if (!running) -- /* The prereq is considered changed if the timestamp has changed while -- it was built, OR it doesn't exist. */ -+ /* The prereq is considered changed if the timestamp has changed -+ while it was built, OR it doesn't exist. */ - d->changed = ((file_mtime (d->file) != mtime) - || (mtime == NONEXISTENT_MTIME)); - -@@ -650,7 +651,7 @@ update_file_1 (struct file *file, unsign - /* 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; -+ d->file->considered = 0; - - new = update_file (d->file, depth); - if (new > dep_status) -@@ -1087,7 +1088,7 @@ check_dep (struct file *file, unsigned i - /* If the target was waiting for a dependency it has to be - reconsidered, as that dependency might have finished. */ - if (file->command_state == cs_deps_running) -- file->considered = !considered; -+ file->considered = 0; - - set_command_state (file, cs_not_started); - } diff --git a/devel/gmake/patches/patch-tests_scripts_features_double__colon b/devel/gmake/patches/patch-tests_scripts_features_double__colon deleted file mode 100644 index 2bde28c6874..00000000000 --- a/devel/gmake/patches/patch-tests_scripts_features_double__colon +++ /dev/null @@ -1,42 +0,0 @@ -$NetBSD: patch-tests_scripts_features_double__colon,v 1.1 2016/05/31 11:44:03 wiz Exp $ - -From 4762480ae9cb8df4878286411f178d32db14eff0 Mon Sep 17 00:00:00 2001 -From: Paul Smith <psmith@gnu.org> -Date: Tue, 31 May 2016 06:56:51 +0000 -Subject: [SV 47995] Ensure forced double-colon rules work with -j. - -The fix for SV 44742 had a side-effect that some double-colon targets -were skipped. This happens because the "considered" facility assumed -that all targets would be visited on each walk through the dependency -graph: we used a bit for considered and toggled it on each pass; if -we didn't walk the entire graph on every pass the bit would get out -of sync. The new behavior after SV 44742 might return early without -walking the entire graph. To fix this I changed the considered value -to an integer which is monotonically increasing: it is then never -possible to incorrectly determine that a previous pass through the -graph already considered the current target. - ---- tests/scripts/features/double_colon.orig 2016-05-21 21:34:45.000000000 +0000 -+++ tests/scripts/features/double_colon -@@ -197,6 +197,21 @@ all:: 3 - ', - '-rs -j2 1 2 root', "all_one\nall_two\nroot\n"); - -+# SV 47995 : Parallel double-colon rules with FORCE -+ -+run_make_test(' -+all:: ; @echo one -+ -+all:: joe ; @echo four -+ -+joe: FORCE ; touch joe-is-forced -+ -+FORCE: -+', -+ '-j5', "one\ntouch joe-is-forced\nfour\n"); -+ -+unlink('joe-is-forced'); -+ - # This tells the test driver that the perl test script executed properly. - 1; - |