sys-devel/make: Removed old.

Package-Manager: Portage-2.3.3, Repoman-2.3.1
This commit is contained in:
Lars Wendler
2017-01-22 19:22:04 +01:00
parent 335cb50a72
commit b56eacb2a3
4 changed files with 0 additions and 241 deletions

View File

@@ -4,4 +4,3 @@ DIST make-3.82.tar.bz2 1242186 SHA256 e2c1a73f179c40c71e2fe8abf8a8a0688b84995385
DIST make-4.0.tar.bz2 1341927 SHA256 e60686c7afede62cc8c86ad3012cf081ea4887daf9d223ce7115703b2bb2dbdb SHA512 82de265963cd08701491e02a4917cd2097762657257a9508119e5847050d0cb15580c163159463e822860435c5910190677d8e4aba644ba75df2895f26117376 WHIRLPOOL 96984c0493651bf27db3ddd6fadde25678e512d4d134fd7063cc5cd54bff6228543c98463835940e19e1cc79a67e22067c889efd460b355438670a4d42ce0d09
DIST make-4.1.tar.bz2 1327342 SHA256 0bc7613389650ee6a24554b52572a272f7356164fd2c4132b0bcf13123e4fca5 SHA512 3fcaf06660b7a5019937b81ee69fe54cdfe0a24d66286fc5cc6a34fa996d76dfe6fd5bc49ee59b727ae2b24ddca261ada0fdb5873ba2b38dcc63647ad3cdb193 WHIRLPOOL 992ae4e6dc5e82bb4dc1b5c0840fbc519769114e61233c2d1cf9badfd0cf52a618fde290cef6cdc13d6c098aea9a67c414655513acefb1d44b031e14fe43d544
DIST make-4.2.1.tar.bz2 1407126 SHA256 d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 SHA512 9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 WHIRLPOOL 51c953368a4e2f4ec1e99cbd7f1d3e7671c52051ea213fa849ff60de9a695fe69670be92708b794ae8a7326b91a4548d82de7e0be441f073fc1f3329cfc065e0
DIST make-4.2.tar.bz2 1400539 SHA256 4e5ce3b62fe5d75ff8db92b7f6df91e476d10c3aceebf1639796dc5bfece655f SHA512 2e8668a130dadc9885a67d80032bf5554c6456741153f3224a4f0eb17ac268b22f062f9e4d66aedda4d1c926494c0b493fe5e941fb5d28ead6adbdf2f09d9128 WHIRLPOOL 94da5df56b2a73444e8c5061e5707c1e90882fb54b641389c8281c797164265985048ef77d4404e898309d6bd9612c270d416a205d368b3364326cc66f4cafc3

View File

@@ -1,164 +0,0 @@
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 (struct file): make CONSIDERED an unsigned int.
* main.c (main): No longer need to reset CONSIDERED.
* remake.c (update_goal_chain): increment CONSIDERED rather than
inverting it between 0<->1.
(update_file_1): Reset CONSIDERED to 0 so it's re-considered.
(check_dep): Ditto.
* tests/scripts/features/double_colon: Add a regression test.
---
diff --git a/filedef.h b/filedef.h
index 507a027..14b4187 100644
--- a/filedef.h
+++ b/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/main.c b/main.c
index 576f2e9..e606488 100644
--- a/main.c
+++ b/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/remake.c b/remake.c
index df1a9e0..5d5d67a 100644
--- a/remake.c
+++ b/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 *goaldeps)
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 *goaldeps)
}
}
- /* 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, unsigned int depth)
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, unsigned int depth)
/* 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 int depth,
/* 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/tests/scripts/features/double_colon b/tests/scripts/features/double_colon
index 80ddb31..58f126f 100644
--- a/tests/scripts/features/double_colon
+++ b/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;
--
cgit v0.9.0.2

View File

@@ -1,25 +0,0 @@
From a3d8c086d54c112fecfa2b9026a32a14f741f5f5 Mon Sep 17 00:00:00 2001
From: Jeremy Devenport <jeremy.devenport@gmail.com>
Date: Tue, 31 May 2016 07:09:24 +0000
Subject: * main.c (main): [SV 48009] Reset stack limit for make re-exec.
Copyright-paperwork-exempt: yes
---
diff --git a/main.c b/main.c
index e606488..fa8045f 100644
--- a/main.c
+++ b/main.c
@@ -2454,6 +2454,11 @@ main (int argc, char **argv, char **envp)
exit (WIFEXITED(r) ? WEXITSTATUS(r) : EXIT_FAILURE);
}
#else
+#ifdef SET_STACK_SIZE
+ /* Reset limits, if necessary. */
+ if (stack_limit.rlim_cur)
+ setrlimit (RLIMIT_STACK, &stack_limit);
+#endif
exec_command ((char **)nargv, environ);
#endif
free (aargv);
--
cgit v0.9.0.2

View File

@@ -1,51 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit flag-o-matic eutils
DESCRIPTION="Standard tool to compile source trees"
HOMEPAGE="https://www.gnu.org/software/make/make.html"
SRC_URI="mirror://gnu//make/${P}.tar.bz2"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="guile nls static"
CDEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
DEPEND="${CDEPEND}
nls? ( sys-devel/gettext )"
RDEPEND="${CDEPEND}
nls? ( virtual/libintl )"
PATCHES=(
"${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch
"${FILESDIR}"/${PN}-4.2-double_colon_targets.patch
"${FILESDIR}"/${PN}-4.2-reset_stack_limit_for_re-exec.patch
)
src_prepare() {
epatch "${PATCHES[@]}"
}
src_configure() {
use static && append-ldflags -static
econf \
--program-prefix=g \
$(use_with guile) \
$(use_enable nls)
}
src_install() {
emake DESTDIR="${D}" install
dodoc AUTHORS NEWS README*
if [[ ${USERLAND} == "GNU" ]] ; then
# we install everywhere as 'gmake' but on GNU systems,
# symlink 'make' to 'gmake'
dosym gmake /usr/bin/make
dosym gmake.1 /usr/share/man/man1/make.1
fi
}