Resurrecting --enable-online-update-mar

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]

  Powered by Linux