|
1 | 1 | #!/usr/bin/with-contenv bash |
2 | 2 |
|
| 3 | +# copy config on first run, regardless of update status |
| 4 | +[[ ! -e /etc/default/plexmediaserver ]] && \ |
| 5 | + cp /defaults/plexmediaserver /etc/default/plexmediaserver |
| 6 | + |
3 | 7 | # set no update message |
4 | 8 | [[ -e /tmp/no-version.nfo ]] && \ |
5 | | - rm /tmp/no-version.nfo |
| 9 | + rm /tmp/no-version.nfo |
6 | 10 | NOVERSION_SET='/tmp/no-version.nfo' |
7 | 11 | cat > "${NOVERSION_SET}" <<-EOFVERSION |
8 | 12 |
|
|
61 | 65 | INSTALLED=$(dpkg-query -W -f='${Version}' plexmediaserver) |
62 | 66 |
|
63 | 67 | # start update routine |
64 | | - |
65 | | -[[ "$PLEXPASS" ]] && \ |
66 | | - echo "PLEXPASS is deprecated, please use VERSION" |
67 | | - |
68 | | -if [[ -z $VERSION && "$PLEXPASS" == "1" || $VERSION = "plexpass" ]]; then echo "VERSION=plexpass is deprecated please use version latest"; fi |
69 | | - |
70 | | -if [[ "$VERSION" = latest || "$VERSION" = plexpass ]]; then |
71 | | - VERSION=$(curl -s "${PLEX_URL}/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu&X-Plex-Token=$PLEX_TOKEN"| cut -d "/" -f 5 ) |
72 | | - echo "Target version: $VERSION" |
73 | | -elif [[ "$VERSION" = public ]]; then |
74 | | - VERSION=$(curl -s "${PLEX_URL}/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu&X-Plex-Token="| cut -d "/" -f 5 ) |
75 | | - echo "Target version: $VERSION" |
| 68 | +if [[ "$VERSION" = latest ]] || [[ "$VERSION" = plexpass ]] || [[ "$PLEXPASS" == "1" ]]; then |
| 69 | +PLEX_TOKEN="${PLEX_TOKEN}" |
76 | 70 | else |
77 | | - echo "Target version: $VERSION" |
| 71 | +PLEX_TOKEN="" |
78 | 72 | fi |
| 73 | +VERSION=$(curl -s "https://plex.tv/downloads/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu&X-Plex-Token=$PLEX_TOKEN"| cut -d "/" -f 5 ) |
79 | 74 |
|
| 75 | +if [[ "$VERSION" == "$INSTALLED" ]]; then |
| 76 | +echo "No update required" |
| 77 | +exit 0 |
| 78 | +fi |
| 79 | + |
| 80 | +echo "Atempting to upgrade to: $VERSION" |
80 | 81 | last=130 |
81 | | -if [[ "$VERSION" != "$INSTALLED" ]]; then |
82 | | - echo "Upgrading from version: $INSTALLED to version: $VERSION" |
83 | | - while [[ $last -ne "0" ]]; do |
| 82 | +while [[ $last -ne "0" ]]; do |
84 | 83 | rm -f /tmp/plexmediaserver_*.deb |
85 | 84 | curl -o /tmp/plexmediaserver_"${VERSION}"_amd64.deb -L \ |
86 | 85 | "${PLEX_URL}/plex-media-server/$VERSION/plexmediaserver_${VERSION}_amd64.deb" |
87 | 86 | last=$? |
88 | | - done |
89 | | - [[ ! -e /tmp/plexmediaserver_"${VERSION}"_amd64.deb ]] && \ |
90 | | - exit 0 |
| 87 | +done |
91 | 88 | apt-get remove --purge -y \ |
92 | 89 | plexmediaserver |
93 | | - dpkg -i /tmp/plexmediaserver_"${VERSION}"_amd64.deb |
94 | | - rm -f /tmp/plexmediaserver_*.deb |
95 | | -else |
96 | | - echo "No updates found!" |
97 | | -fi |
| 90 | +dpkg -i /tmp/plexmediaserver_"${VERSION}"_amd64.deb |
| 91 | +rm -f /tmp/plexmediaserver_*.deb |
98 | 92 |
|
| 93 | +# recopy config file in case update overwrites our copy |
99 | 94 | cp -v /defaults/plexmediaserver /etc/default/plexmediaserver |
0 commit comments