-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 3.1.0
-
Fix Version/s: 5.1.1
-
Component/s: Application update
-
Release Notes Summary:macOS Auto-Update Change
-
Release Notes Description:
-
Epic Link:
-
Tags:
-
Story Points:2
Issue
Sentry Issue: NUXEO-DRIVE-28X
PermissionError: [Errno 13] Permission denied: '/Applications/Nuxeo Drive.app.old' File "nxdrive/engine/workers.py", line 181, in run File "nxdrive/engine/workers.py", line 269, in _execute File "nxdrive/updater/base.py", line 363, in _poll File "nxdrive/updater/base.py", line 307, in _handle_status File "nxdrive/updater/base.py", line 120, in update File "nxdrive/updater/base.py", line 335, in _install File "nxdrive/updater/darwin.py", line 54, in install File "nxdrive/updater/darwin.py", line 96, in _backup File "shutil.py", line 577, in move File "shutil.py", line 324, in copytree File "os.py", line 221, in makedirs PermissionError: [Errno 13] Permission denied: '/Applications/Nuxeo Drive.app' -> '/Applications/Nuxeo Drive.app.old' File "shutil.py", line 566, in move
Analysis
Before doing the upgrade, a copy of the application is done in order to be able to revert any changes on case the upgrade failed.
The default path for the application is /Applications. But sometimes the user does not have enough rights or denied the copy to that folder.
Fix
Another possible location of the application is $HOME/Applications (NXDRIVE-1892). This is the only alternative on that OS and we already support it.
TODO:
- Always make the copy to the folder $HOME/Applications.
- And always copy the new version into $HOME/Applications.
- And ensure the new version is started from $HOME/Applications.
- depends on
-
NXDRIVE-1892 [macOS] Allow the app to be run from $HOME/Applications
- Resolved
- is related to
-
NXDRIVE-1143 New auto-update framework (**breaking change**)
- Resolved
- Is referenced in