Nimbin[12]?Mirrors & Forks / jhalfs / commits / 078ef3c

jhalfs git · trunk

jhalfs LFS build automation (mirror)

lfs mirror bash · first commit 2005-09-11 · last commit 2024-02-13 (2 years ago) · synced 3 days ago · upstream: git.linuxfromscratch.org/jhalfs

Python 78.4% Shell 19.8% Makefile 1.8%
git clone https://git.christianimmanuel.de/mirrors-forks/jhalfs.gitwget https://git.christianimmanuel.de/mirrors-forks/jhalfs/archive/jhalfs.tar.gz

Pass sanitized MAKEFLAGS to scriptlets

Pierre Labastie · 2023-11-17 12:18 · 078ef3cf122130dfc69fd1c1948a5583104986ce

Now that we have MAKEFLAGS in the environment, "make" in chroot
is run with MAKEFLAGS set. This cause it to pass the -j value
into MAKEFLAGS to inferiors (scriptlets), but it is passed with
a --jobserver-auth value added. If we do not precede the command
running the scriptlet with a +, it passes --jobserver-auth=-2,-2
meaning that the jobserver is disabled, and "make" in the scriptlet
understands that it should only run one job at a time (defeating
the value of the -j flag). But even if we do precede the command
running the scriptlet with a +, it passes --jobserver-auth=3,4,
which shows it is running, but this jobserver will authorize only
one job at a time since the parent make contains the target
.NOTPARALLEL!
To work around this problem, tje only solution is to change the
MAKEFLAGS at the beginning of the scriptlet. Fortunately, lfs.xsl
knows what we want as job number (either $(nproc) or a fixed number),
so use it to set MAKEFLAGS.
 LFS/lfs.xsl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/LFS/lfs.xsl b/LFS/lfs.xsl
index 49fbdf2..26982b0 100644
--- a/LFS/lfs.xsl
+++ b/LFS/lfs.xsl
@@ -1249,6 +1249,11 @@ tar -xf $PACKAGE
 cd $PKGDIR
 </xsl:text>
     </xsl:if>
+    <xsl:text>
+export MAKEFLAGS="-j</xsl:text>
+    <xsl:value-of select="$jobs"/>
+    <xsl:text>"
+</xsl:text>
     <xsl:text>SECONDS=${PREV_SEC}
 
 # Start of LFS book script