Resurrecting --enable-online-update-mar
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Resurrecting --enable-online-update-mar
- From: Stephan Bergmann <stephan.bergmann@xxxxxxxxxxxxx>
- Date: Fri, 15 Dec 2023 13:53:07 +0100
- Cc: Christian Lohmaier <cloph@xxxxxxxxxxxxxxxxxxxxxx>
Hi all,
I've recently started to look into resurrecting the off-by-default
Mozilla MAR-based updating functionality, to make it work at least on
Windows (and somewhat bravely targeting LO 24.2 with that). (It used to
be behind an --enable-online-update=mar configure option, but has now
moved to a dedicated --enable-online-update-mar configure option that
is, at least technically, orthogonal to the traditional
--enable-online-update option.) I've also given the Mozilla community a
heads-up about my activities here, and
<https://discourse.mozilla.org/t/libreoffice-re-using-mozillas-mar-based-updating-functionality/125314>
"LibreOffice re-using Mozilla’s MAR-based updating functionality" might
serve as a good overview also for people here.
A Windows (or Linux, mostly for testing purposes) build that configures
--enable-online-update-mar will now generate a build that includes the
relevant code and UI, but, lacking further
--with-online-update-mar-...=... configure options, will not provide
that feature in a working form. Recent Windows nightly builds generated
from distro-configs/LibreOfficeWin64.conf should be in that state, with
the UI to "Enable automatic upate" at "Tools - Options... - LibreOffice
- Online Update". (For non-GTK VCL backends, there's still a bug that
the "Automatic Update" section on that options page is mixed into the
traditional --enable-online-update options at the top of the page,
instead of down at the bottom; fixing of
cui/uiconfig/ui/optonlineupdatepage.ui welcome...)
To have a working feature, one would at least need to provide additional
--enable-online-update-mar-certificateder=... and
--enable-online-update-mar-channel=... configure options. (In the past,
such additional configuration data had to be provided in an ini file
referenced by a --with-update-config=... configure option. I have
dropped the need for that additional ini file now, turning its entries
into individual --enable-online-update-mar-...=... configure options.)
The certificateder option's value must be the pathname of an existing
certificate in DER format (that will be compiled into the code) (what
the certificte-der=... line used to specify in the --with-update-config
ini file). The channel option's value must match the channel name under
which updates are available on the server (see below).
@Cloph: We'll need to find a way to specify a certificate there for TDF
builds that enable that feature.
The server that is contacted by LO is still hardcoded (in
officecfg/registry/schema/org/openoffice/Office/Update.xcs) to
<http://vm195.documentfoundation.org/> (but can be overridden with a
LIBO_UPDATER_URL env var for testing). On that server, LO expects to
find a /update/check/1/LibreOffice/$SHA/$PLATFORM/$CHANNEL file
containing the relevant update information (where $SHA is the LO
installation's buildid, i.e., git SHA, $PLATFORM is e.g. Windows_X86_64,
and $CHANNEL is the above --albne-online-update-mar-channel value).
There apparently still are old Makefile.in targets (create-mar et al) to
create such files and the actual mar files they reference, but those
also appear to have rotten, and I still need to look into them deeper.
@Cloph: We'll need to set up a server (and update its URL in
Update.xcs) and set up a process to generate mar files. It would be
great if you find time to help me with that.
[Index of Archives]
[LARTC]
[Bugtraq]
[Yosemite Forum]
[Photo]