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.
This commit is contained in:
parent
249d4ade20
commit
078ef3cf12
1 changed files with 5 additions and 0 deletions
|
@ -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
|
||||
|
|
Reference in a new issue