On 12/15/23 13:53, Stephan Bergmann wrote:
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...)
(The UI has meanwhile been hidden behind experimental mode with
<https://git.libreoffice.org/core/+/9800a7106223bd7759aa851574ef720d15a146cd%5E%21>
"Hide --enable-online-updaet-mar GUI behind ExperimentalMode for now".)
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).
For builds based on distro-configs/LibreOfficeWin64.conf, a
--with-online-update-mar-channel=LOOnlineUpdater has meanwhile been set
with
<https://git.libreoffice.org/core/+/1913ad7cfbf8d101f7e7bc8832b57bdded7ab389%5E%21>
"Set --with-online-update-mar-channel for
distro-configs/LibreOfficeWin64.conf"...
@Cloph: We'll need to find a way to specify a certificate there for TDF
builds that enable that feature.
...but we'll still need to pass an appropriate
--with-online-update-mar-certificateder=... into such builds, ideally
for the upcoming LO 24.2.0 RC1 builds.
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.
The hardcoded server URL has meanwhile been updated to an appropriate
value with
<https://git.libreoffice.org/core/+/1c069c14a130010ec6cf53bd1b7d84a9df589f36%5E%21>
"Update --enable-online-update-mar server URL".