mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
update_retroplayer-addons: do stricter libretro version checks
Only accept standard github archive URLs and warn about other URLs that aren't supported by the update script. This avoids trashing PKG_VERSION with garbage, eg in libretro-mrboom Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
697e10a72f
commit
6d6bab32bd
@ -176,21 +176,24 @@ for addon in ${ADDONS_DIR}/*.*/ ; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION_INFO=$(grep "^${RETRO_NAME}" "${RETRO_VERSION_FILE}" | head -1)
|
VERSION_INFO=$(grep "^${RETRO_NAME}" "${RETRO_VERSION_FILE}" | head -1)
|
||||||
if [[ "$VERSION_INFO" =~ .zip$ ]] ; then
|
if [[ "$VERSION_INFO" =~ github\.com/[^/]+/[^/]+/archive/[^/]+\.zip$ ]] ; then
|
||||||
# version referenced by githash
|
# version referenced by githash
|
||||||
RETRO_NEW_VERSION=$(sed -e 's|^.*/archive/||' -e 's|\.zip$||' "${RETRO_VERSION_FILE}")
|
RETRO_NEW_VERSION=$(sed -e 's|^.*/archive/||' -e 's|\.zip$||' "${RETRO_VERSION_FILE}")
|
||||||
elif [[ "$VERSION_INFO" =~ .tar.gz$ ]] ; then
|
elif [[ "$VERSION_INFO" =~ github\.com/[^/]+/[^/]+/archive/[^/]+\.tar\.gz$ ]] ; then
|
||||||
# version referenced by githash
|
# version referenced by githash
|
||||||
RETRO_NEW_VERSION=$(sed -e 's|^.*/archive/||' -e 's|\.tar.gz$||' "${RETRO_VERSION_FILE}")
|
RETRO_NEW_VERSION=$(sed -e 's|^.*/archive/||' -e 's|\.tar.gz$||' "${RETRO_VERSION_FILE}")
|
||||||
else
|
elif [[ "$VERSION_INFO" =~ github\.com/[^/[:space:]]+/[^/[:space:]]+[[:space:]][^[:space:]]+ ]] ; then
|
||||||
msg_warn "unmanaged version in kodi package: ${VERSION_INFO}"
|
msg_warn "unmanaged version in kodi package: ${VERSION_INFO}"
|
||||||
# unmanaged version, repo plus branch
|
# unmanaged version, repo plus branch
|
||||||
RETRO_SITE=$(echo "${VERSION_INFO}" | awk '{print $2}')
|
RETRO_SITE=$(echo "${VERSION_INFO}" | awk '{print $2}')
|
||||||
RETRO_BRANCH=$(echo "${VERSION_INFO}" | awk '{print $3}')
|
RETRO_BRANCH=$(echo "${VERSION_INFO}" | awk '{print $3}')
|
||||||
RETRO_NEW_VERSION=$(git ls-remote "${RETRO_SITE}" "${RETRO_BRANCH}" | awk '{print $1}')
|
RETRO_NEW_VERSION=$(git ls-remote "${RETRO_SITE}" "${RETRO_BRANCH}" | awk '{print $1}')
|
||||||
|
else
|
||||||
|
msg_warn "UNSUPPORTED ${RETRO_ADDON} version info, update manually: ${VERSION_INFO}"
|
||||||
|
RETRO_NEW_VERSION=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if update_pkg "${RETRO_PATH}" "${RETRO_ADDON}" "${RETRO_NEW_VERSION}"; then
|
if [ -n "${RETRO_NEW_VERSION}" ] && update_pkg "${RETRO_PATH}" "${RETRO_ADDON}" "${RETRO_NEW_VERSION}"; then
|
||||||
BUMPED_RETRO="yes"
|
BUMPED_RETRO="yes"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user