mirror of
https://github.com/mrworf/plexupdate.git
synced 2025-07-14 09:12:59 -07:00
Now detects 32/64 bit systems and can list BUILD/DISTRO
Automatically detects 32 or 64 bit systems and the new -l option will allow you to easily see what options you have when defining BUILD and DISTRO. Also improved error messages.
This commit is contained in:
parent
373a147f6d
commit
b50e8c68f9
2 changed files with 33 additions and 6 deletions
|
@ -46,7 +46,7 @@ There are a few other options for the more enterprising user. Setting any of the
|
||||||
The commandline used to install packages, only change if you need special options. Natively supports Debian and Redhat, so need to set this for these systems.
|
The commandline used to install packages, only change if you need special options. Natively supports Debian and Redhat, so need to set this for these systems.
|
||||||
NOTE! If you define this, you MUST define DISTRO and BUILD
|
NOTE! If you define this, you MUST define DISTRO and BUILD
|
||||||
- DISTRO and BUILD
|
- DISTRO and BUILD
|
||||||
Override which version to download
|
Override which version to download, use -l option to see what you can select.
|
||||||
|
|
||||||
Most of these options can be specified on the command-line as well, this is just a more convenient way of doing it if you're scripting it. Which brings us to...
|
Most of these options can be specified on the command-line as well, this is just a more convenient way of doing it if you're scripting it. Which brings us to...
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,7 @@ AUTOSTART=no
|
||||||
CRON=no
|
CRON=no
|
||||||
QUIET=no
|
QUIET=no
|
||||||
SILENT=no
|
SILENT=no
|
||||||
|
ARCH=$(uname -m)
|
||||||
|
|
||||||
# Default options for package managers, override if needed
|
# Default options for package managers, override if needed
|
||||||
REDHAT_INSTALL="yum -y install"
|
REDHAT_INSTALL="yum -y install"
|
||||||
|
@ -95,6 +96,7 @@ usage() {
|
||||||
echo " already exists (WILL NOT OVERWRITE)"
|
echo " already exists (WILL NOT OVERWRITE)"
|
||||||
echo " -h This help"
|
echo " -h This help"
|
||||||
echo " -k Reuse last authentication"
|
echo " -k Reuse last authentication"
|
||||||
|
echo " -l List available builds and distros"
|
||||||
echo " -p Public Plex Media Server version"
|
echo " -p Public Plex Media Server version"
|
||||||
echo " -q Quiet mode. No stdout, only stderr and exit codes"
|
echo " -q Quiet mode. No stdout, only stderr and exit codes"
|
||||||
echo " -r Print download URL and exit"
|
echo " -r Print download URL and exit"
|
||||||
|
@ -118,6 +120,7 @@ do
|
||||||
(-d) AUTODELETE=yes;;
|
(-d) AUTODELETE=yes;;
|
||||||
(-f) FORCE=yes;;
|
(-f) FORCE=yes;;
|
||||||
(-k) KEEP=yes;;
|
(-k) KEEP=yes;;
|
||||||
|
(-l) LISTOPTS=yes;;
|
||||||
(-p) PUBLIC=yes;;
|
(-p) PUBLIC=yes;;
|
||||||
(-q) QUIET=yes;;
|
(-q) QUIET=yes;;
|
||||||
(-r) PRINT_URL=yes;;
|
(-r) PRINT_URL=yes;;
|
||||||
|
@ -202,19 +205,22 @@ if [ -z "${DOWNLOADDIR}" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${DISTRO_INSTALL}" == "" ]; then
|
if [ "${DISTRO_INSTALL}" == "" ]; then
|
||||||
|
if [ "${DISTRO}" == "" -a "${BUILD}" == "" ]; then
|
||||||
# Detect if we're running on redhat instead of ubuntu
|
# Detect if we're running on redhat instead of ubuntu
|
||||||
if [ "${DISTRO}" == "" -o "${BUILD}" == "" ]; then
|
|
||||||
if [ -f /etc/redhat-release ]; then
|
if [ -f /etc/redhat-release ]; then
|
||||||
REDHAT=yes
|
REDHAT=yes
|
||||||
BUILD='linux-ubuntu-x86_64'
|
BUILD="linux-ubuntu-${ARCH}"
|
||||||
DISTRO="redhat"
|
DISTRO="redhat"
|
||||||
DISTRO_INSTALL="${REDHAT_INSTALL}"
|
DISTRO_INSTALL="${REDHAT_INSTALL}"
|
||||||
else
|
else
|
||||||
REDHAT=no
|
REDHAT=no
|
||||||
BUILD='linux-ubuntu-x86_64'
|
BUILD="linux-ubuntu-${ARCH}"
|
||||||
DISTRO="ubuntu"
|
DISTRO="ubuntu"
|
||||||
DISTRO_INSTALL="${DEBIAN_INSTALL}"
|
DISTRO_INSTALL="${DEBIAN_INSTALL}"
|
||||||
fi
|
fi
|
||||||
|
elif [ "${DISTRO}" == "" -o "${BUILD}" == "" ]; then
|
||||||
|
echo "ERROR: You must define both DISTRO and BUILD"
|
||||||
|
exit 255
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ "${DISTRO}" == "" -o "${BUILD}" == "" ]; then
|
if [ "${DISTRO}" == "" -o "${BUILD}" == "" ]; then
|
||||||
|
@ -304,6 +310,27 @@ elif [ "$PUBLIC" != "no" ]; then
|
||||||
URL_DOWNLOAD=${URL_DOWNLOAD_PUBLIC}
|
URL_DOWNLOAD=${URL_DOWNLOAD_PUBLIC}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${LISTOPTS}" == "yes" ]; then
|
||||||
|
opts="$(wget --load-cookies /tmp/kaka --save-cookies /tmp/kaka --keep-session-cookies "${URL_DOWNLOAD}" -O - 2>/dev/null | grep -oe '"label"[^}]*' | grep -v Download | sed 's/"label":"\([^"]*\)","build":"\([^"]*\)","distro":"\([^"]*\)".*/"\3" "\2" "\1"/' | uniq | sort)"
|
||||||
|
eval opts=( "DISTRO" "BUILD" "DESCRIPTION" "======" "=====" "==============================================" $opts )
|
||||||
|
|
||||||
|
BUILD=
|
||||||
|
DISTRO=
|
||||||
|
|
||||||
|
for X in "${opts[@]}" ; do
|
||||||
|
if [ "$DISTRO" == "" ]; then
|
||||||
|
DISTRO="$X"
|
||||||
|
elif [ "$BUILD" == "" ]; then
|
||||||
|
BUILD="$X"
|
||||||
|
else
|
||||||
|
printf "%-12s %-30s %s\n" "$DISTRO" "$BUILD" "$X"
|
||||||
|
BUILD=
|
||||||
|
DISTRO=
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Extract the URL for our release
|
# Extract the URL for our release
|
||||||
if [ "${CRON}" = "no" ]; then
|
if [ "${CRON}" = "no" ]; then
|
||||||
echo -n "Finding download URL to download..."
|
echo -n "Finding download URL to download..."
|
||||||
|
@ -315,7 +342,7 @@ if [ "${CRON}" = "no" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${DOWNLOAD}" == "" ]; then
|
if [ "${DOWNLOAD}" == "" ]; then
|
||||||
echo "Sorry, page layout must have changed, I'm unable to retrieve the URL needed for download"
|
echo "ERROR: Unable to retrieve the URL needed for download (Query DISTRO: $DISTRO, BUILD: $BUILD)"
|
||||||
exit 3
|
exit 3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue