From c2b907c965d18eeacff3d7796f486b45f7fb662b Mon Sep 17 00:00:00 2001 From: Denton Gentry Date: Sat, 16 Apr 2022 17:17:14 -0700 Subject: [PATCH] scripts/installer: support LinuxMint Debian. The primary distribution for LinuxMint is based on Ubuntu, but there is an alternate Debian-based distribution called LMDE. Both variations identify themselves as "linuxmint" We added UBUNTU_VERSION to the Ubuntu handling for linuxmint, the only distribution so far found to do this. Instead, split linuxmint out into its own case and use either UBUNTU_VERSION or DEBIAN_VERSION, whichever is present. Tested on an LMDE 5 (elsie) VM. Updates https://github.com/tailscale/tailscale/issues/2915 Signed-off-by: Denton Gentry --- scripts/installer.sh | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/scripts/installer.sh b/scripts/installer.sh index f763f72fd..027e87db3 100755 --- a/scripts/installer.sh +++ b/scripts/installer.sh @@ -41,16 +41,11 @@ main() { # - ID: the short name of the OS (e.g. "debian", "freebsd") # - VERSION_ID: the numeric release version for the OS, if any (e.g. "18.04") # - VERSION_CODENAME: the codename of the OS release, if any (e.g. "buster") - # - UBUNTU_CODENAME: if it exists, as in linuxmint, use instead of VERSION_CODENAME . /etc/os-release case "$ID" in - ubuntu|pop|neon|zorin|elementary|linuxmint) + ubuntu|pop|neon|zorin|elementary) OS="ubuntu" - if [ "${UBUNTU_CODENAME:-}" != "" ]; then - VERSION="$UBUNTU_CODENAME" - else - VERSION="$VERSION_CODENAME" - fi + VERSION="$VERSION_CODENAME" PACKAGETYPE="apt" # Third-party keyrings became the preferred method of # installation in Ubuntu 20.04. @@ -72,6 +67,24 @@ main() { APT_KEY_TYPE="keyring" fi ;; + linuxmint) + if [ "${UBUNTU_CODENAME:-}" != "" ]; then + OS="ubuntu" + VERSION="$UBUNTU_CODENAME" + elif [ "${DEBIAN_CODENAME:-}" != "" ]; then + OS="debian" + VERSION="$DEBIAN_CODENAME" + else + OS="ubuntu" + VERSION="$VERSION_CODENAME" + fi + PACKAGETYPE="apt" + if [ "$VERSION_ID" -lt 5 ]; then + APT_KEY_TYPE="legacy" + else + APT_KEY_TYPE="keyring" + fi + ;; parrot) OS="debian" PACKAGETYPE="apt"