limit parallelism during msi packaging stage to avoid cscript failures
commit58f03414215dbb84bfd8875abe73b6521b83438b
authorChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Fri, 3 Nov 2023 14:41:39 +0000 (3 15:41 +0100)
committerThorsten Behrens <thorsten.behrens@allotropia.de>
Thu, 9 Nov 2023 23:11:19 +0000 (10 00:11 +0100)
tree4fb72eec7b0ac0111222ed0b44f3476306d56d20
parent672716d09c54cb6fdd59baa7da4b8393cf104cd2
limit parallelism during msi packaging stage to avoid cscript failures

with high parallelism there's a high risk of running into random
failures when calling WiLangId.vbs via cscript.

The limiter doesn't use make's jobserver since it is too easy to
deadlock the build since all jobs are started at once, consuming all
slots, but in addition all wait for an additional slot that never is
made available because all jobs are blocked waiting....
All jobs being started at once and all jobs getting started from that
point on getting put under the limiter's control makes this simple
approach with separate grab/release calls possible. If they were spread
out the semaphore wouldn't be available (gets closed/removed as soon as
nothing waits for it anymore)

Change-Id: I345f2904a1d7e8989720722415fb51282ab3b05b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158886
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit edf6c155b0b22cbff2d255796c0541b644a5f245)

Fix typo

Change-Id: I84186bee245a95a74e92c974ca94bb81c31ee1ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158950
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
(cherry picked from commit 0053dfbabd8b6711ea7e9354e5792048931daf7c)

Fix typo

Change-Id: Ie41ca6c56bf44b04bd2d65b6cb64594d66295f24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158951
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
(cherry picked from commit 24e1d6dbd27fa6c37723b55bbab5f5b5cce279f2)

msi packaging job-limiter: use CXX_FOR_BUILD

since it is a build-tool it needs to match the arch of the platform the
build is performed, already had used ILIB_FOR_BUILD, but CXX was missed
and broke the build for the aarch64 daily tinderbox

Change-Id: Ie41ca6c56bf44b04bd2d65b6cb64594d66295f24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158993
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
instsetoo_native/CustomTarget_install.mk
solenv/bin/job-limiter.cpp [new file with mode: 0644]