diff options
author | Pierre Labastie <pierre.labastie@neuf.fr> | 2023-11-17 13:18:12 +0100 |
---|---|---|
committer | Pierre Labastie <pierre.labastie@neuf.fr> | 2023-11-17 13:18:12 +0100 |
commit | 078ef3cf122130dfc69fd1c1948a5583104986ce (patch) | |
tree | de9e243e899ee45975a5b4ee4031e03ce7bcb86c | |
parent | 249d4ade208ff645ee5d5d409a4dba6f08561fa4 (diff) |
Pass sanitized MAKEFLAGS to scriptlets
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.
-rw-r--r-- | LFS/lfs.xsl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/LFS/lfs.xsl b/LFS/lfs.xsl index 49fbdf2cec..26982b0b2f 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 |