mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 21:26:49 +00:00
addon update scripts: change PKG_REV update logic
When updating versioned / tagged addons reset PKG_REV to 1. When updating unversioned / untagged addons always bump PKG_REV as we don't know if the version has been changed or not. If the "-b/--bump-pkg-rev" option is used PKG_REV will be bumped on all addons that weren't updated. Use this to ensure all addons will have a newer version than before. Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
212c181de6
commit
43e58805d7
@ -75,7 +75,7 @@ git_clone $REPO master $PKG_NAME.git $GIT_HASH
|
|||||||
if [ -f "${ROOT}/packages/mediacenter/kodi-platform/package.mk" ] ; then
|
if [ -f "${ROOT}/packages/mediacenter/kodi-platform/package.mk" ] ; then
|
||||||
# update package.mk
|
# update package.mk
|
||||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
||||||
update_pkg "${ROOT}/packages/mediacenter/kodi-platform" ${PKG_NAME} ${RESOLVED_HASH}
|
update_pkg "${ROOT}/packages/mediacenter/kodi-platform" ${PKG_NAME} ${RESOLVED_HASH} || true
|
||||||
fi
|
fi
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
rm -rf $PKG_NAME.git
|
rm -rf $PKG_NAME.git
|
||||||
@ -138,7 +138,10 @@ for ADDON in $(ls -1 "${ROOT}/packages/mediacenter/kodi-binary-addons"); do
|
|||||||
# update package.mk for stale github.com packages
|
# update package.mk for stale github.com packages
|
||||||
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
||||||
echo "Resolving hash for ${ADDON}: HEAD => ${RESOLVED_HASH}"
|
echo "Resolving hash for ${ADDON}: HEAD => ${RESOLVED_HASH}"
|
||||||
update_pkg "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON" ${ADDON} ${RESOLVED_HASH}
|
if update_pkg "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON" ${ADDON} ${RESOLVED_HASH}; then
|
||||||
|
# always bump PKG_REV when updating untagged addons
|
||||||
|
bump_pkg_rev "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON" ${ADDON}
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
rm -rf $ADDON.git
|
rm -rf $ADDON.git
|
||||||
|
@ -118,6 +118,15 @@ bump_pkg_rev() {
|
|||||||
msg_info "BUMPED ${pkg_name} PKG_REV from ${pkg_rev} to ${new_pkg_rev}"
|
msg_info "BUMPED ${pkg_name} PKG_REV from ${pkg_rev} to ${new_pkg_rev}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reset_pkg_rev() {
|
||||||
|
local package_mk="$1/package.mk" pkg_name="$2"
|
||||||
|
local pkg_rev=$(get_pkg_var "${pkg_name}" PKG_REV)
|
||||||
|
local new_pkg_rev="1"
|
||||||
|
|
||||||
|
sed -e "s|PKG_REV=.*|PKG_REV=\"${new_pkg_rev}\"|" -i "${package_mk}"
|
||||||
|
msg_info "RESET ${pkg_name} PKG_REV from ${pkg_rev} to ${new_pkg_rev}"
|
||||||
|
}
|
||||||
|
|
||||||
update_pkg() {
|
update_pkg() {
|
||||||
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
||||||
|
|
||||||
@ -131,9 +140,9 @@ update_pkg() {
|
|||||||
download_pkg_file "${pkg_name}"
|
download_pkg_file "${pkg_name}"
|
||||||
set_pkg_sha256 "${pkg_path}"
|
set_pkg_sha256 "${pkg_path}"
|
||||||
|
|
||||||
if [ "${BUMP_PKG_REV}" = "yes" ]; then
|
return 0
|
||||||
bump_pkg_rev "${pkg_path}" "${pkg_name}"
|
else
|
||||||
fi
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,11 +150,13 @@ update_to_latest_tag() {
|
|||||||
local pkg_path="$1" pkg_name="$2" repo="$3" branch="$4" ref="$5"
|
local pkg_path="$1" pkg_name="$2" repo="$3" branch="$4" ref="$5"
|
||||||
local gitdir=${pkg_name}.git
|
local gitdir=${pkg_name}.git
|
||||||
local resolved_version
|
local resolved_version
|
||||||
|
local no_tag=""
|
||||||
|
|
||||||
git_clone "${repo}" "${branch}" "${gitdir}" "${ref}"
|
git_clone "${repo}" "${branch}" "${gitdir}" "${ref}"
|
||||||
|
|
||||||
resolved_version=$(resolve_tag "${gitdir}" "${ref}")
|
resolved_version=$(resolve_tag "${gitdir}" "${ref}")
|
||||||
if [ -z "${resolved_version}" ]; then
|
if [ -z "${resolved_version}" ]; then
|
||||||
|
no_tag="yes"
|
||||||
echo "========================================================================"
|
echo "========================================================================"
|
||||||
msg_warn "WARNING: no tag found for package ${pkg_name}, falling back to HEAD"
|
msg_warn "WARNING: no tag found for package ${pkg_name}, falling back to HEAD"
|
||||||
echo "========================================================================"
|
echo "========================================================================"
|
||||||
@ -154,7 +165,16 @@ update_to_latest_tag() {
|
|||||||
|
|
||||||
echo "Resolved version for ${pkg_name}: ${ref} => ${resolved_version}"
|
echo "Resolved version for ${pkg_name}: ${ref} => ${resolved_version}"
|
||||||
|
|
||||||
update_pkg "${pkg_path}" "${pkg_name}" "${resolved_version}"
|
if update_pkg "${pkg_path}" "${pkg_name}" "${resolved_version}"; then
|
||||||
|
if [ -n "${no_tag}" ]; then
|
||||||
|
# always bump PKG_REV on updates as we have no info if version changed
|
||||||
|
bump_pkg_rev "${pkg_path}" "${pkg_name}"
|
||||||
|
else
|
||||||
|
reset_pkg_rev "${pkg_path}" "${pkg_name}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
[ "${BUMP_PKG_REV}" = "yes" ] && bump_pkg_rev "${pkg_path}" "${pkg_name}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
rm -rf "${gitdir}"
|
rm -rf "${gitdir}"
|
||||||
|
@ -116,12 +116,15 @@ for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-add
|
|||||||
RETRO_PATH=""
|
RETRO_PATH=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BUMPED=""
|
BUMPED_ADDON=""
|
||||||
|
BUMPED_RETRO=""
|
||||||
|
NO_TAG=""
|
||||||
CHECK_RETRO=""
|
CHECK_RETRO=""
|
||||||
|
|
||||||
git_clone "${GAME_GIT_REPO}" "${GAME_GIT_BRANCH}" "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}"
|
git_clone "${GAME_GIT_REPO}" "${GAME_GIT_BRANCH}" "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}"
|
||||||
GAME_NEW_VERSION=$(resolve_tag "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}")
|
GAME_NEW_VERSION=$(resolve_tag "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}")
|
||||||
if [ -z "${GAME_NEW_VERSION}" ]; then
|
if [ -z "${GAME_NEW_VERSION}" ]; then
|
||||||
|
NO_TAG="yes"
|
||||||
echo "========================================================================"
|
echo "========================================================================"
|
||||||
msg_warn "WARNING: no tag found for addon ${GAME_ADDON}, falling back to HEAD"
|
msg_warn "WARNING: no tag found for addon ${GAME_ADDON}, falling back to HEAD"
|
||||||
echo "========================================================================"
|
echo "========================================================================"
|
||||||
@ -135,9 +138,7 @@ for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-add
|
|||||||
GAME_VERSION=$(get_pkg_var "${GAME_ADDON}" PKG_VERSION)
|
GAME_VERSION=$(get_pkg_var "${GAME_ADDON}" PKG_VERSION)
|
||||||
|
|
||||||
if [ "${GAME_VERSION}" != "${GAME_NEW_VERSION}" ]; then
|
if [ "${GAME_VERSION}" != "${GAME_NEW_VERSION}" ]; then
|
||||||
if [ "${BUMP_PKG_REV}" = "yes" ]; then
|
BUMPED_ADDON="yes"
|
||||||
BUMPED="yes"
|
|
||||||
fi
|
|
||||||
[ -n "${RETRO_NAME}" ] && CHECK_RETRO="yes"
|
[ -n "${RETRO_NAME}" ] && CHECK_RETRO="yes"
|
||||||
set_pkg_version "${GAME_PATH}" "${GAME_NEW_VERSION}"
|
set_pkg_version "${GAME_PATH}" "${GAME_NEW_VERSION}"
|
||||||
download_pkg_file "${GAME_ADDON}"
|
download_pkg_file "${GAME_ADDON}"
|
||||||
@ -181,7 +182,7 @@ for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-add
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${RETRO_VERSION}" != "${RETRO_NEW_HASH}" ]; then
|
if [ "${RETRO_VERSION}" != "${RETRO_NEW_HASH}" ]; then
|
||||||
BUMPED="yes"
|
BUMPED_RETRO="yes"
|
||||||
set_pkg_version "${RETRO_PATH}" "${RETRO_NEW_HASH}"
|
set_pkg_version "${RETRO_PATH}" "${RETRO_NEW_HASH}"
|
||||||
download_pkg_file "${RETRO_ADDON}"
|
download_pkg_file "${RETRO_ADDON}"
|
||||||
set_pkg_sha256 "${RETRO_PATH}"
|
set_pkg_sha256 "${RETRO_PATH}"
|
||||||
@ -189,10 +190,24 @@ for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-add
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${BUMPED}" ]; then
|
if [ -n "${NO_TAG}" ]; then
|
||||||
|
# always bump PKG_REV on updates as we have no info if version changed
|
||||||
|
if [ -n "${BUMPED_ADDON}" -o -n "${BUMPED_RETRO}" -o -n "${BUMP_PKG_REV}" ]; then
|
||||||
bump_pkg_rev "${GAME_PATH}" "${GAME_ADDON}"
|
bump_pkg_rev "${GAME_PATH}" "${GAME_ADDON}"
|
||||||
cleanup_pkg_tmp
|
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
if [ -n "${BUMPED_ADDON}" ]; then
|
||||||
|
# reset PKG_REV if version changed
|
||||||
|
reset_pkg_rev "${GAME_PATH}" "${GAME_ADDON}"
|
||||||
|
else
|
||||||
|
# if addon version is unchanged but libretro changed bump PKG_REV
|
||||||
|
if [ -n "${BUMPED_RETRO}" -o -n "${BUMP_PKG_REV}" ]; then
|
||||||
|
bump_pkg_rev "${GAME_PATH}" "${GAME_ADDON}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cleanup_pkg_tmp
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user