office-gobmx/external/onlineupdate/Package_updater_ini.mk
Stephan Bergmann 958a055be8 Improve --enable-online-update-mar Windows MOZ_MAINTENANCE_SERVICE feature
To get the MOZ_MAINTENANCE_SERVICE mode going at all, update.status needs to
contain a "pending-service" token.  For Mozilla, code in its
toolkit/mozapps/update/UpdateService.sys.mjs takes care of writing that.  For
us, lets always write that in update_checker() (even on Linux, where it's
apparently harmless).

Then, the MOZ_MAINTENANCE_SERVICE code is rather picky with its various sanity
checks:  Among other things, it expects argv[0] to be a full path to the updater
executable, and it expects the update.mar (and its status and log files) to be
in a directory hierarchy named updates/0/ rather than patch/.  So get all that
fixed in desktop/source/app/updater.cxx.  And patch in
external/onlineupdate/lo.patch where it expects to find the updater executable
(just updater.exe vs. our program/updater.exe).

And we shouldn't interfere with the upstream Mozilla maintenance service, so
also rename that in external/onlineupdate/lo.patch.

And `update_service install` wants to read version resources from the
update_service.exe, so provide that (via gb_Executable_add_default_nativeres).

Also, `update_service install` wants to read a MozillaMaintenanceDescription
value from an updater.ini, so provide one (with contents of that value inspired
by Mozilla's browser/locales/en-US/updater/updater.ini).

As we now have an updater.ini anyway (and which apparently works fine with Unix
line ends on both Linux and Windows), also use it on Linux and drop the
onlineupdate/source/update/updater/progressui_gtk.cpp again from
external/onlineupdate/lo.patch.  And update external/onlineupdate/README.md how
to manually execute that test against an updater.ini.

Change-Id: I0e3e5e5311be61e1224cda700af2e5d751113a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160996
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-19 20:24:32 +01:00

16 lines
536 B
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_Package_Package,updater_ini,$(SRCDIR)/external/onlineupdate))
$(eval $(call gb_Package_add_files,updater_ini,$(LIBO_BIN_FOLDER), \
updater.ini \
))
# vim: set noet sw=4 ts=4: