diff options
author | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2023-12-19 16:50:42 +0100 |
---|---|---|
committer | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2023-12-19 20:24:32 +0100 |
commit | 958a055be8d58137e1a32c5cd18f67d1aab3012d (patch) | |
tree | ba9c1a34bda1bcd43032b8466313956605d107a9 /Repository.mk | |
parent | bbb7c3eeccef61ec0c4c8332296705e96f0e6538 (diff) |
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>
Diffstat (limited to 'Repository.mk')
-rw-r--r-- | Repository.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Repository.mk b/Repository.mk index b9cf9c2ddb9c..9ef08e814a20 100644 --- a/Repository.mk +++ b/Repository.mk @@ -1096,6 +1096,7 @@ $(eval $(call gb_Helper_register_packages_for_install,brand,\ readlicense_oo_files \ readlicense_oo_license \ $(call gb_Helper_optional,DESKTOP,setup_native_packinfo) \ + $(if $(ENABLE_ONLINE_UPDATE_MAR),updater_ini) \ )) ifeq ($(USING_X11), TRUE) |