summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2023-12-07 11:05:04 -0700
committerMike Frysinger <vapier@gentoo.org>2023-12-07 11:05:04 -0700
commitf001546b5b91fa9b192aa02cff75fcdbc3d9f34c (patch)
treeb0ddf0fb2af1b4627f391cc0f057fe1c93dd1cf0 /sys-devel
parentsys-devel/automake: add upstream status info (diff)
downloadgentoo-f001546b5b91fa9b192aa02cff75fcdbc3d9f34c.tar.gz
gentoo-f001546b5b91fa9b192aa02cff75fcdbc3d9f34c.tar.bz2
gentoo-f001546b5b91fa9b192aa02cff75fcdbc3d9f34c.zip
sys-devel/automake: fix parallel builds
Fix from upstream for building automake in parallel. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/automake/automake-1.16.5-r1.ebuild1
-rw-r--r--sys-devel/automake/files/automake-1.16.5-parallel-build.patch54
2 files changed, 55 insertions, 0 deletions
diff --git a/sys-devel/automake/automake-1.16.5-r1.ebuild b/sys-devel/automake/automake-1.16.5-r1.ebuild
index 63a8ed1a1c80..0e6ed8d0b1dc 100644
--- a/sys-devel/automake/automake-1.16.5-r1.ebuild
+++ b/sys-devel/automake/automake-1.16.5-r1.ebuild
@@ -57,6 +57,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.16.5-fix-instmany-python.sh-test.patch
"${FILESDIR}"/${PN}-1.16.5-fix-py-compile-basedir.sh-test.patch
"${FILESDIR}"/${PN}-1.16.5-apostrophe-in-tests.patch
+ "${FILESDIR}"/${PN}-1.16.5-parallel-build.patch
)
pkg_setup() {
diff --git a/sys-devel/automake/files/automake-1.16.5-parallel-build.patch b/sys-devel/automake/files/automake-1.16.5-parallel-build.patch
new file mode 100644
index 000000000000..985e86aeb32c
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.16.5-parallel-build.patch
@@ -0,0 +1,54 @@
+https://git.savannah.gnu.org/cgit/automake.git/commit/?h=5d02285845acfc20a4900a471c0e7c5e2ff390a0
+
+From 5d02285845acfc20a4900a471c0e7c5e2ff390a0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 18 Jan 2022 04:47:09 -0500
+Subject: [PATCH] build: fix race in parallel builds
+
+As reported by Hongxu Jia:
+> The automake-$(APIVERSION) is a hardlink of automake, if it is
+> created later than update_mans executing, there is a failure
+> [snip]
+> |: && mkdir -p doc && ./pre-inst-env /usr/bin/env perl ../automake-1.16.1/doc/help2man --output=doc/aclocal-1.16.1 aclocal-1.16
+> |help2man: can't get `--help' info from aclocal-1.16
+> |Try `--no-discard-stderr' if option outputs to stderr
+> Makefile:3693: recipe for target 'doc/aclocal-1.16.1' failed
+> [snip]
+>
+> The automake_script is required by update_mans and update_mans
+> invokes automake-$(APIVERSION) rather than automake to generate
+> doc, so we should assign `automake-$(APIVERSION)' to automake_script.
+>
+> The same reason to tweak aclocal_script.
+
+However, rather than update the _script variables to point to the
+hardlinked copies of the programs, we can have the help2man steps
+run the existing scripts directly. This makes the relationship a
+bit more explicit and avoids implicit dependencies on names.
+
+* doc/local.mk: Pass $(aclocal_script) and $(automake_script) to $(update_mans).
+* THANKS: Add Hongxu Jia.
+---
+ THANKS | 1 +
+ doc/local.mk | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/doc/local.mk b/doc/local.mk
+index a29363d2d71b..06c78823a574 100644
+--- a/doc/local.mk
++++ b/doc/local.mk
+@@ -46,9 +46,9 @@ update_mans = \
+ && echo ".so man1/$$f-$(APIVERSION).1" > $@
+
+ %D%/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
+- $(update_mans) aclocal-$(APIVERSION)
++ $(update_mans) $(aclocal_script)
+ %D%/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
+- $(update_mans) automake-$(APIVERSION)
++ $(update_mans) $(automake_script)
+
+ ## This target is not invoked as a dependency of anything. It exists
+ ## merely to make checking the links in automake.texi (that is,
+--
+2.43.0
+