office-gobmx/solenv/bin/call_installer.sh
Christian Lohmaier b14c106635 build installer packages with make parallelism instead of GNU parallel
6204336cc7 added support for building installsets
in parrallel using the GNU parallel tool, this patch changes that to use make's
own parallelism, dropping the need for the external tool.

By not creating huge commandline for all packages at once/sequentially, the
workarounds to modify the PATH variable can also be dropped.

Since : is a special character in makefiles separating a target from
prerequisites delimiter in the installer-tuples has been changed to the
hyphenation point.

The dependencies on the install.phony target have been moved to the actual
installset targets (and those are .PHONY targets as well since the target file
isn't actually generatead).

Also unify the tuples for the different platforms, even if the first element is
only used for Windows.

Move the msi templates to a separate directory for the different types, so that
packaging can also be done in parallel on Windows. Move the setup back to the
makefile so it can be setup prior to running the script.

Previoulsy the script used grep to remove comments from the msi template files,
and had to use "|| true" since grep would also return error when not finding a
match/on empty files. Switch that to awk so it can run without that workaround.

Change-Id: I2f8b73e04d0f601cb0b4e2d8352a38ef9957bc17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143679
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-06 12:21:51 +00:00

47 lines
1.4 KiB
Bash
Executable file

#!/bin/sh
# unpack parameters
VERBOSITY=$1; shift
MSITEMPL=$(echo "$@" | cut -d ':' -f 1)
LANG=$(echo "$@" | cut -d ':' -f 2)
PRODNAME=$(echo "$@" | cut -d ':' -f 3)
EXTENSION=$(echo "$@" | cut -d ':' -f 4)
PKGFORMAT=$(echo "$@" | cut -d ':' -f 5)
STRIP=$(echo "$@" | cut -d ':' -f 6)
# need to hack buildid?
if [ "${PKGFORMAT}${LIBO_VERSION_PATCH}" = "deb0" ] || \
[ "${PKGFORMAT}${LIBO_VERSION_PATCH}" = "rpm0" ] ; then
LIBO_VERSION_PATCH=1
fi
# switch to verbose?
if [ "${VERBOSITY}" = "-verbose" ] ; then
set -x
fi
# add extra params for Windows
EXTRA_PARAMS=
if [ "${OS}" = "WNT" ] && [ -n "${MSITEMPL}" ]; then
EXTRA_PARAMS="${EXTRA_PARAMS} -msitemplate ${WORKDIR}/CustomTarget/instsetoo_native/install/msi_templates/${MSITEMPL}"
EXTRA_PARAMS="${EXTRA_PARAMS} -msilanguage ${WORKDIR}/CustomTarget/instsetoo_native/install/win_ulffiles"
fi
# need to strip?
if [ "${STRIP}" = "strip" ] ; then
export ENABLE_STRIP=1
fi
# shellcheck disable=SC2086
# shellcheck disable=SC2154
${PERL} -w "${SRCDIR}"/solenv/bin/make_installer.pl \
-f "${BUILDDIR}"/instsetoo_native/util/openoffice.lst \
-l "${LANG}" \
-p "${PRODUCTNAME_WITHOUT_SPACES}${PRODNAME}" \
-u "${instsetoo_OUT}" \
-packer "${COMPRESSIONTOOL}" \
-buildid "${LIBO_VERSION_PATCH}" \
${EXTRA_PARAMS:+$EXTRA_PARAMS} \
${EXTENSION:+"$EXTENSION"} \
-format "${PKGFORMAT}" \
"${VERBOSITY}"