office-gobmx/external/onlineupdate/UnpackedTarball_onlineupdate.mk
Stephan Bergmann 084c64982e Create MAR updates from msi rather than from archive
...as the former is more convenient for release engineering (see the discussion
in the comments at
<https://gerrit.libreoffice.org/c/core/+/162157/1#message-8d7ebbcc64a87ee8e4a073ae1a05e3b74f5a3d6a>
"Also enable --with-package-format=archive for LibreOfficeWin64.conf").

Instead of ONLINEUPDATE_MAR_OLDARCHIVE and ONLINEUPDATE_MAR_OLDMETADATA make
variables, the create-partial-info target now only needs an
ONLINEUPDATE_MAR_OLDMSI make variable.

TODO:  There are two issues when comparing the content of msi files (extracted
with msiexec /a), which the old code comparing the content of archives had tried
to somewhat (but not fully) address with the metadata files that I had invented
(and now reverted):  For one, msiexec /a also extracts content that would
normally be installed somewhere else in the system (e.g., it extracts Fonts,
System, and System64 directories).  Differences in those directories will cause
a MAR update to create those directories in the installation directory, rather
than to update the corresponding files in their actual locations.  For another,
optional components are not recognized as such, but their content must be added
to the MAR file as add/patch-if, not as plain add/patch.  To work around that,
for now *all* files are added as add/patch-if, conditional on the files
themselves.  Thus, addition of files will cause a MAR update to miss them.

(As they now exclusively operate on msi files, the create-update-info and
create-partial-info targets are no longer meaningful for non-Windows platforms,
so drop the non-Windows bin/update/create_full_mar_for_languages.py part.)

Change-Id: Ifb55b5e7d1a201b4f50a27cb449a634b96c2e29b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162399
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-22 16:06:42 +01:00

36 lines
1.3 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_UnpackedTarball_UnpackedTarball,onlineupdate))
$(eval $(call gb_UnpackedTarball_set_tarball,onlineupdate,$(ONLINEUPDATE_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,onlineupdate,0))
$(eval $(call gb_UnpackedTarball_add_patches,onlineupdate, \
external/onlineupdate/gtk3deprecated.patch \
external/onlineupdate/lo.patch \
))
ifeq ($(OS),WNT)
$(eval $(call gb_UnpackedTarball_add_patches,onlineupdate, \
external/onlineupdate/cygpath.patch \
))
endif
# The update maintenance service that is used on Windows has a couple of checks that files in the
# to-be-updated installation set are signed, which would fail for --disable-windows-build-signing;
# so, as a HACK for debugging purposes, silence those problematic checks for --enable-dbgutil:
ifeq ($(OS)-$(WINDOWS_BUILD_SIGNING)-$(ENABLE_DBGUTIL),WNT-FALSE-TRUE)
$(eval $(call gb_UnpackedTarball_add_patches,onlineupdate, \
external/onlineupdate/unsigned-hack.patch \
))
endif
# vim: set noet sw=4 ts=4: