mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-25 19:15:34 +00:00
clientupdate: fix background install for linux tarballs (#9852)
Two bug fixes: 1. when tailscale update is executed as root, `os.UserCacheDir` may return an error because `$XDG_CACHE_HOME` and `$HOME` are not set; fallback to `os.TempDir` in those cases 2. on some weird distros (like my EndeavourOS), `/usr/sbin` is just a symlink to `/usr/bin`; when we resolve `tailscale` binary path from `tailscaled`, allow `tailscaled` to be in either directory Updates #755 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
This commit is contained in:
parent
c27870e160
commit
77127a2494
@ -911,7 +911,7 @@ func (up *Updater) updateLinuxBinary() error {
|
|||||||
func (up *Updater) downloadLinuxTarball(ver string) (string, error) {
|
func (up *Updater) downloadLinuxTarball(ver string) (string, error) {
|
||||||
dlDir, err := os.UserCacheDir()
|
dlDir, err := os.UserCacheDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
dlDir = os.TempDir()
|
||||||
}
|
}
|
||||||
dlDir = filepath.Join(dlDir, "tailscale-update")
|
dlDir = filepath.Join(dlDir, "tailscale-update")
|
||||||
if err := os.MkdirAll(dlDir, 0700); err != nil {
|
if err := os.MkdirAll(dlDir, 0700); err != nil {
|
||||||
|
@ -305,9 +305,12 @@ func findCmdTailscale() (string, error) {
|
|||||||
}
|
}
|
||||||
switch runtime.GOOS {
|
switch runtime.GOOS {
|
||||||
case "linux":
|
case "linux":
|
||||||
if self == "/usr/sbin/tailscaled" {
|
if self == "/usr/sbin/tailscaled" || self == "/usr/bin/tailscaled" {
|
||||||
return "/usr/bin/tailscale", nil
|
return "/usr/bin/tailscale", nil
|
||||||
}
|
}
|
||||||
|
if self == "/usr/local/sbin/tailscaled" || self == "/usr/local/bin/tailscaled" {
|
||||||
|
return "/usr/local/bin/tailscale", nil
|
||||||
|
}
|
||||||
return "", errors.New("tailscale not found in expected place")
|
return "", errors.New("tailscale not found in expected place")
|
||||||
case "windows":
|
case "windows":
|
||||||
dir := filepath.Dir(self)
|
dir := filepath.Dir(self)
|
||||||
|
Loading…
Reference in New Issue
Block a user