|
|
@ -1,15 +1,5 @@
|
|
|
|
#!/usr/bin/with-contenv bash
|
|
|
|
#!/usr/bin/with-contenv bash
|
|
|
|
|
|
|
|
|
|
|
|
# determine architecture to gaurd arm variants in deployment stage 1
|
|
|
|
|
|
|
|
ARCH=$(arch)
|
|
|
|
|
|
|
|
if [[ "${ARCH}" == armv* ]]; then
|
|
|
|
|
|
|
|
echo "This is armv7, upgrading Plex is not supported yet"
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
elif [[ "${ARCH}" == "aarch64" ]]; then
|
|
|
|
|
|
|
|
echo "This is aarch64, upgrading Plex is not supported yet"
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# If docker manages versioning exit
|
|
|
|
# If docker manages versioning exit
|
|
|
|
if [ "${VERSION}" ] && [ "${VERSION}" == 'docker' ]; then
|
|
|
|
if [ "${VERSION}" ] && [ "${VERSION}" == 'docker' ]; then
|
|
|
|
echo "Docker is used for verisoning skip update check"
|
|
|
|
echo "Docker is used for verisoning skip update check"
|
|
|
@ -22,7 +12,7 @@ if (dpkg --get-selections plexmediaserver | grep -wq "install"); then
|
|
|
|
else
|
|
|
|
else
|
|
|
|
echo "for some reason plex doesn't appear to be installed, pulling a new copy and exiting out of update script"
|
|
|
|
echo "for some reason plex doesn't appear to be installed, pulling a new copy and exiting out of update script"
|
|
|
|
curl -o /tmp/plexmediaserver.deb -L \
|
|
|
|
curl -o /tmp/plexmediaserver.deb -L \
|
|
|
|
"${PLEX_INSTALL}" && \
|
|
|
|
"${PLEX_DOWNLOAD}/${REMOTE_VERSION}/debian/plexmediaserver_${REMOTE_VERSION}_${PLEX_ARCH}.deb" && \
|
|
|
|
dpkg -i --force-confold /tmp/plexmediaserver.deb
|
|
|
|
dpkg -i --force-confold /tmp/plexmediaserver.deb
|
|
|
|
rm -f /tmp/plexmediaserver.deb
|
|
|
|
rm -f /tmp/plexmediaserver.deb
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
@ -101,10 +91,16 @@ INSTALLED_VERSION=$(dpkg-query -W -f='${Version}' plexmediaserver)
|
|
|
|
|
|
|
|
|
|
|
|
# start update routine
|
|
|
|
# start update routine
|
|
|
|
if [[ "${VERSION,,}" = latest ]] || [[ "${VERSION,,}" = plexpass ]] || [[ "$PLEXPASS" == "1" ]]; then
|
|
|
|
if [[ "${VERSION,,}" = latest ]] || [[ "${VERSION,,}" = plexpass ]] || [[ "$PLEXPASS" == "1" ]]; then
|
|
|
|
REMOTE_VERSION=$(curl -s "${PLEX_INSTALL}&X-Plex-Token=$PLEX_TOKEN"| cut -d "/" -f 5 )
|
|
|
|
if [[ "${PLEX_ARCH}" = amd64 ]]; then
|
|
|
|
|
|
|
|
PLEX_URL_ARCH="x86_64"
|
|
|
|
|
|
|
|
elif [[ "${PLEX_ARCH}" = armhf ]]; then
|
|
|
|
|
|
|
|
PLEX_URL_ARCH="armv7hf_neon"
|
|
|
|
|
|
|
|
elif [[ "${PLEX_ARCH}" = arm64 ]]; then
|
|
|
|
|
|
|
|
PLEX_URL_ARCH="aarch64"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
REMOTE_VERSION=$(curl -s "https://plex.tv/downloads/details/5?distro=debian&build=linux-${PLEX_URL_ARCH}&channel=8&X-Plex-Token=$PLEX_TOKEN"| grep -oP 'version="\K[^"]+' | tail -n 1 )
|
|
|
|
elif [[ "${VERSION,,}" = public ]]; then
|
|
|
|
elif [[ "${VERSION,,}" = public ]]; then
|
|
|
|
PLEX_TOKEN=""
|
|
|
|
REMOTE_VERSION=curl -sX GET 'https://plex.tv/api/downloads/5.json' | jq -r 'first(.[] | .Linux.version)'
|
|
|
|
REMOTE_VERSION=$(curl -s "${PLEX_INSTALL}&X-Plex-Token=$PLEX_TOKEN"| cut -d "/" -f 5 )
|
|
|
|
|
|
|
|
else
|
|
|
|
else
|
|
|
|
REMOTE_VERSION="${VERSION}"
|
|
|
|
REMOTE_VERSION="${VERSION}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -116,21 +112,16 @@ fi
|
|
|
|
|
|
|
|
|
|
|
|
echo "Atempting to upgrade to: $REMOTE_VERSION"
|
|
|
|
echo "Atempting to upgrade to: $REMOTE_VERSION"
|
|
|
|
rm -f /tmp/plexmediaserver_*.deb
|
|
|
|
rm -f /tmp/plexmediaserver_*.deb
|
|
|
|
if [[ $REMOTE_VERSION == 1.15* ]]; then
|
|
|
|
|
|
|
|
wget -nv -P /tmp \
|
|
|
|
|
|
|
|
"https://downloads.plex.tv/plex-media-server-new/$REMOTE_VERSION/debian/plexmediaserver_${REMOTE_VERSION}_amd64.deb"
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
wget -nv -P /tmp \
|
|
|
|
wget -nv -P /tmp \
|
|
|
|
"${PLEX_DOWNLOAD}/$REMOTE_VERSION/plexmediaserver_${REMOTE_VERSION}_amd64.deb"
|
|
|
|
"${PLEX_DOWNLOAD}/${REMOTE_VERSION}/debian/plexmediaserver_${REMOTE_VERSION}_${PLEX_ARCH}.deb"
|
|
|
|
fi
|
|
|
|
|
|
|
|
last=$?
|
|
|
|
last=$?
|
|
|
|
|
|
|
|
|
|
|
|
# test if deb file size is ok, or if download failed
|
|
|
|
# test if deb file size is ok, or if download failed
|
|
|
|
if [[ "$last" -gt "0" ]] || [[ $(stat -c %s /tmp/plexmediaserver_"${REMOTE_VERSION}"_amd64.deb) -lt 10000 ]]; then
|
|
|
|
if [[ "$last" -gt "0" ]] || [[ $(stat -c %s /tmp/plexmediaserver_"${REMOTE_VERSION}"_${PLEX_ARCH}.deb) -lt 10000 ]]; then
|
|
|
|
printf '\n\n\n%s\n\n\n' "$(</tmp/update_fail.nfo)"
|
|
|
|
printf '\n\n\n%s\n\n\n' "$(</tmp/update_fail.nfo)"
|
|
|
|
exit 0
|
|
|
|
exit 0
|
|
|
|
# if ok, try to install it.
|
|
|
|
# if ok, try to install it.
|
|
|
|
else
|
|
|
|
else
|
|
|
|
dpkg -i --force-confold /tmp/plexmediaserver_"${REMOTE_VERSION}"_amd64.deb
|
|
|
|
dpkg -i --force-confold /tmp/plexmediaserver_"${REMOTE_VERSION}"_${PLEX_ARCH}.deb
|
|
|
|
rm -f /tmp/plexmediaserver_*.deb
|
|
|
|
rm -f /tmp/plexmediaserver_*.deb
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|