File disable-auto-update.patch of Package tailscale
diff -rub tailscale/clientupdate/clientupdate.go tailscale-patched/clientupdate/clientupdate.go
--- tailscale/clientupdate/clientupdate.go 2024-05-10 16:33:03.316978138 +0200
+++ tailscale-patched/clientupdate/clientupdate.go 2024-05-10 16:51:54.335053210 +0200
@@ -207,6 +207,10 @@
// The distro.Debian switch case above should catch most apt-based
// systems, but add this fallback just in case.
return up.updateDebLike, canAutoUpdate
+ case haveExecutable("zypper"):
+ // Zypper must come before dfn/yum as SUSE-based distros can have both alongside zypper.
+ // This should catch both transactional (Micro) and non-transactional (Leap/Tumbleweed/SLES/SLED).
+ return up.updateSUSE, false
case haveExecutable("dnf"):
return up.updateFedoraLike("dnf"), canAutoUpdate
case haveExecutable("yum"):
@@ -528,6 +532,12 @@
you can use "pacman --sync --refresh --sysupgrade" or "pacman -Syu" to upgrade the system, including Tailscale.`)
}
+func (up *Updater) updateSUSE() error {
+ // SUSE-based distros should update manually.
+ // The package can come from official Tailscale repos or not and the system can be transactional or not.
+ return errors.New(`Use Zypper or transactional-update (on applicable systems) to update Tailscale on openSUSE or SUSE Linux Enterprise installations.`)
+}
+
func (up *Updater) updateNixos() error {
// NixOS package updates are managed on a system level and not individually.
// Direct users to update their nix channel or nixpkgs flake input to