Bugzilla – Bug 4475
Automatic updates not handled correctly on OS X
Last modified: 2013-05-07 14:29:40
You need to
before you can comment on or make changes to this bug.
This is because tlclient has code paths for updating Windows and !Windows, but
OS X doesn't have xdg-open which tlclient tries to use for the update
procedure. This should be fixed so that the automatic updates work on OS X as
Add a APPLEINSTALLER to the config as well.
This one seems fairly straight-forward to unbreak, but could take a few hours
extra if we want to add some extra polish to the user experience.
After a bit of discussion and investigation I've found that a limitation of our
current way of updating is that the default web browser needs to launch the
downloaded file after it has finished downloading it, and the behavior of
Safari on Mac is to just download the file and put it into the default
(There are a few exceptions - Safari has a "safe files list", but support
varies between versions. Using open on a url containing a dmg does not trigger
any special behavior in Safari either, they're just downloaded.)
This means that we're leaving the user in the middle of a process, with no
clues how to proceed with updating. Therefore, lets refer users to the download
page, as with the Linux clients. The idea is to have the user in control the
entire upgrade process. I'm willing to reconsider this approach if we can use.
This also means that we really don't need the APPLEINSTALLER configuration key,
so the code I've written assumes that the DEFAULTINSTALLER will point to a web
site with sufficient links and instructions.
All of this has been commited as r26204.
Seems like I forgot to end a sentence in my last comment.
I'm willing to reconsider this approach if we can use a library such as neon or
libcurl for downloading the client instead of offloading it to the OS, or make
this process more automatic in other ways.
Tested using client build 3937, works as expected both with a client configured
with UPDATE_MANDATORY and without.