diff --git a/extras/installer.sh b/extras/installer.sh index 538726f..3ddb300 100755 --- a/extras/installer.sh +++ b/extras/installer.sh @@ -246,11 +246,16 @@ configure_cron() { return 1 fi - [ -f "$CONFIGCRON" ] && source "$CONFIGCRON" + if [ -f "$CONFIGCRON" ]; then + #this is redundant since null is evaluated as yes anyway, but including for readability + CRON=yes + source "$CONFIGCRON" + fi echo echo -n "Would you like to set up automatic daily updates for Plex? " if yesno $CRON; then + CRON=yes if [ $(sudo find -L "${FULL_PATH}" -perm /002 -or -not -uid 0 -or -not -gid 0 | wc -l) -ne 0 ]; then echo echo "WARNING: For security reasons, plexupdate needs to be installed as root in order to run automatically. In order to finish setting up automatic updates, we will change the ownership of '${FULL_PATH}' to root:root." @@ -389,7 +394,7 @@ if yesno; then if wget --show-progress -V &> /dev/null; then PROGRESS_OPT="-P" fi - if [ "$AUTOINSTALL" == "yes" ]; then + if [ "$AUTOINSTALL" == "yes" -o "$CRON" == "yes" ]; then sudo -E "$FULL_PATH/plexupdate.sh" $PROGRESS_OPT --config "$CONFIGFILE" else "$FULL_PATH/plexupdate.sh" $PROGRESS_OPT --config "$CONFIGFILE" diff --git a/plexupdate-core b/plexupdate-core index 81500e4..6f37336 100755 --- a/plexupdate-core +++ b/plexupdate-core @@ -78,9 +78,9 @@ getPlexServerToken() { if [ ! -z "${I}" -a -f "${I}${PREFFILE}" ]; then # When running installer.sh directly from wget, $0 will return bash if [ "$(basename $0)" = "installer.sh" -o "$(basename $0)" = "bash" ]; then - TOKEN=$(sudo sed -n 's/.*PlexOnlineToken="\([[:alnum:]]*\).*".*/\1/p' "${I}${PREFFILE}" 2>/dev/null) + TOKEN=$(sudo sed -n 's/.*PlexOnlineToken="\([[:alnum:]_-]*\).*".*/\1/p' "${I}${PREFFILE}" 2>/dev/null) else - TOKEN=$(sed -n 's/.*PlexOnlineToken="\([[:alnum:]]*\).*".*/\1/p' "${I}${PREFFILE}" 2>/dev/null) + TOKEN=$(sed -n 's/.*PlexOnlineToken="\([[:alnum:]_-]*\).*".*/\1/p' "${I}${PREFFILE}" 2>/dev/null) fi fi done diff --git a/plexupdate.sh b/plexupdate.sh index 467de79..cebbd53 100755 --- a/plexupdate.sh +++ b/plexupdate.sh @@ -53,6 +53,8 @@ AUTODELETE=no AUTOUPDATE=no AUTOSTART=no ARCH=$(uname -m) +# patch for Raspberry Pi reporting as armv7l, whereas Plex only offers armv7neon +[ "$ARCH" = "armv7l" ] && ARCH="armv7neon" BUILD="linux-$ARCH" SHOWPROGRESS=no WGETOPTIONS="" # extra options for wget. Used for progress bar. @@ -231,13 +233,15 @@ if [ "${AUTOUPDATE}" = "yes" ]; then else if [ -z "${BRANCHNAME}" ]; then BRANCHNAME="$(git symbolic-ref -q --short HEAD)" - elif [ "${BRANCHNAME}" != "$(git symbolic-ref -q --short HEAD)" ]; then - git checkout "${BRANCHNAME}" fi # Force FETCH_HEAD to point to the correct branch (for older versions of git which don't default to current branch) if git fetch origin ${BRANCHNAME} --quiet && ! git diff --quiet FETCH_HEAD; then info "Auto-updating..." + if [ "${BRANCHNAME}" != "$(git symbolic-ref -q --short HEAD)" ]; then + git checkout "${BRANCHNAME}" + fi + # Use an associative array to store permissions. If you're running bash < 4, the declare will fail and we'll # just run in "dumb" mode without trying to restore permissions declare -A FILE_OWNER FILE_PERMS && \