jellyfin/jellyfin.org

install-debuntu.sh fails for raspberrry pi OS

idlesHand opened this issue · 3 comments

Hi,

I tried to use the install-debuntu.sh script on raspberry pi legacy os based on debian Buster and I was getting the error

Sorry, we don't support the Debian codename ""

I checked the script and my os-release file and on line 87 of the script the REPO_OS is correctly set to debian but the VERSION variable was missing.
Adding after line 87,
VERSION="$( awk -f'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
worked to get jellyfin up and running.

Thanks for the continuing good work.

It seems broken for KDE neon as well

# Handle some known alternative base OS values with 1-to-1 mappings
# Use the result as our repository base OS
case "${BASE_OS}" in
    raspbian)
        # Raspbian uses our Debian repository
        REPO_OS="debian"
    ;;
    linuxmint)
        # Linux Mint can either be Debian- or Ubuntu-based, so pick the right one
        if grep -q "DEBIAN_CODENAME=" /etc/os-release &>/dev/null; then
            VERSION="$( awk -F'=' '/^DEBIAN_CODENAME=/{ print $NF }' /etc/os-release )"
            REPO_OS="debian"
        else
            VERSION="$( awk -F'=' '/^UBUNTU_CODENAME=/{ print $NF }' /etc/os-release )"
            REPO_OS="ubuntu"
        fi
    ;;
    neon)
        # Neon uses our Ubuntu repository
        REPO_OS="ubuntu"
    ;;
    *)
        REPO_OS="${BASE_OS}"
        VERSION="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
    ;;
esac

Why is the install-debuntu.sh script nowhere to be found on github?

In lieu of a way of making a pr, may I suggest the following patch?

--- install-debuntu.sh.org      2023-08-07 20:09:04.000000000 +0200
+++ install-debuntu.sh  2023-08-12 17:15:54.104870844 +0200
@@ -51,6 +51,7 @@

 # Handle some known alternative base OS values with 1-to-1 mappings
 # Use the result as our repository base OS
+CODENAME_OSRELEASE_KEY="VERSION_CODENAME"
 case "${BASE_OS}" in
     raspbian)
         # Raspbian uses our Debian repository
@@ -59,10 +60,10 @@
     linuxmint)
         # Linux Mint can either be Debian- or Ubuntu-based, so pick the right one
         if grep -q "DEBIAN_CODENAME=" /etc/os-release &>/dev/null; then
-            VERSION="$( awk -F'=' '/^DEBIAN_CODENAME=/{ print $NF }' /etc/os-release )"
+            CODENAME_OSRELEASE_KEY="DEBIAN_CODENAME"
             REPO_OS="debian"
         else
-            VERSION="$( awk -F'=' '/^UBUNTU_CODENAME=/{ print $NF }' /etc/os-release )"
+            CODENAME_OSRELEASE_KEY="UBUNTU_CODENAME"
             REPO_OS="ubuntu"
         fi
     ;;
@@ -72,9 +73,9 @@
     ;;
     *)
         REPO_OS="${BASE_OS}"
-        VERSION="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
     ;;
 esac
+VERSION="$( awk -F'=' '/^'"${CODENAME_OSRELEASE_KEY}"'=/{ print $NF }' /etc/os-release )"

 # Validate that we're running a supported release (variables at top of file)
 case "${REPO_OS}" in

That way people adding new distributions in the future won't forget to set the VERSION variable, and it avoids duplicating the cutting with awk.

Hi, this is really not the correct place to report issues with the install script. I am closing this one as it has already been reported here.