Automattic / Automattic/auto-update
Linux Port
- Dominant language
- Objective-C
- Stars
- 72
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
Porting `auto-update` to linux induces a few complications & tradeofs such as:
- There's no such things as MacOS packages
- Finding the executable path is non-portable cross unix flavours ([stackoverflow](http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe))
- Most linux distributions have package managers that update software automatically
After a discussion on #chromium, it looks like chrome on linux lets the package manager update the distributed software and notifies the user in the UI whenever a new version is installed, prompting her to relaunch chrome.
## Chrome approach
- Let the package manager handle updates
- Provide instructions to construct auto-update compliant npm, deb packages
- Build a library to detect updates from the package manager prompting the user to relaunch
## Independent approach
- We would have to enforce the fact that software release would have to be packaged in a directory easily identifiable from the running executable path.
- We would want to avoid prompting a root password anytime the program tries to update itself. auto-update managed package would probably have to set permissions in a quite specific way at install to support the update model: eg. setgid on the exec and authorize write for the given group on all relevant files
It guess this deserves a discussion here to see what would work best!
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named. Start by reviewing the proposed Chrome/package-manager approach against the independent approach, then define an agreed Linux update strategy; the issue is done when that direction and its implementation scope are decided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, objective-c
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100