mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 05:06:43 +00:00
Merge pull request #9196 from heitbaum/tools12
[le12] update_binary-addons: add -x option to skip no tag updates
This commit is contained in:
commit
b58e693a3b
@ -6,37 +6,43 @@
|
|||||||
|
|
||||||
BUMP_PKG_REV=""
|
BUMP_PKG_REV=""
|
||||||
KEEP_GIT_DIRS="yes"
|
KEEP_GIT_DIRS="yes"
|
||||||
|
UPDATE_TO_HASH="yes"
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: $0 [options] <kodi-branch> [<unofficial-addon-branch>]"
|
echo "Usage: $0 [options] <kodi-branch> [<unofficial-addon-branch>]"
|
||||||
echo " -b, --bump-pkg-rev: bump PKG_REV if package was not updated"
|
echo " -b, --bump-pkg-rev: bump PKG_REV if package was not updated"
|
||||||
echo " -d, --delete-git-dirs: delete cloned git dirs after update"
|
echo " -d, --delete-git-dirs: delete cloned git dirs after update"
|
||||||
|
echo " -x, --no-update-to-hash: do not update to hash if tag is not set"
|
||||||
echo " -h, --help: display help and exit"
|
echo " -h, --help: display help and exit"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
while [ $# -ne 0 ]; do
|
while [ $# -ne 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-b|--bump-pkg-rev)
|
-b | --bump-pkg-rev)
|
||||||
BUMP_PKG_REV="yes"
|
BUMP_PKG_REV="yes"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-d|--delete-git-dirs)
|
-d | --delete-git-dirs)
|
||||||
KEEP_GIT_DIRS=""
|
KEEP_GIT_DIRS=""
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-h|--help)
|
-x | --no-update-to-hash)
|
||||||
usage
|
UPDATE_TO_HASH="no"
|
||||||
exit 1
|
shift
|
||||||
;;
|
;;
|
||||||
-*)
|
-h | --help)
|
||||||
echo "illegal option $1"
|
usage
|
||||||
usage
|
exit 1
|
||||||
exit 1
|
;;
|
||||||
;;
|
-*)
|
||||||
*)
|
echo "illegal option $1"
|
||||||
break
|
usage
|
||||||
;;
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -87,21 +93,21 @@ else
|
|||||||
ADDONS_REPO_LOCATION=${TMP_REPO_DIR}
|
ADDONS_REPO_LOCATION=${TMP_REPO_DIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! ls ${ADDONS_REPO_LOCATION}/*-addons.txt &> /dev/null; then
|
if ! ls ${ADDONS_REPO_LOCATION}/*-addons.txt &>/dev/null; then
|
||||||
echo "No binary addon repo description found, nothing to do!"
|
echo "No binary addon repo description found, nothing to do!"
|
||||||
echo "Path searched: ${ADDONS_REPO_LOCATION}"
|
echo "Path searched: ${ADDONS_REPO_LOCATION}"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# addons
|
# addons
|
||||||
for addontxt in ${ADDONS_REPO_LOCATION}/*-addons.txt ; do
|
for addontxt in ${ADDONS_REPO_LOCATION}/*-addons.txt; do
|
||||||
ADDONS=$(cat $addontxt | awk '{print $1}')
|
ADDONS=$(cat $addontxt | awk '{print $1}')
|
||||||
ADDONS_GIT_DIR="${ADDONS}.git"
|
ADDONS_GIT_DIR="${ADDONS}.git"
|
||||||
ADDONS_GIT_REPO=$(cat $addontxt | awk '{print $2}')
|
ADDONS_GIT_REPO=$(cat $addontxt | awk '{print $2}')
|
||||||
ADDONS_GIT_BRANCH=$(cat $addontxt | awk '{print $3}')
|
ADDONS_GIT_BRANCH=$(cat $addontxt | awk '{print $3}')
|
||||||
git_clone $ADDONS_GIT_REPO $ADDONS_GIT_DIR ${ADDONS_GIT_BRANCH}
|
git_clone $ADDONS_GIT_REPO $ADDONS_GIT_DIR ${ADDONS_GIT_BRANCH}
|
||||||
|
|
||||||
for addon in $ADDONS_GIT_DIR/*.*/ ; do
|
for addon in $ADDONS_GIT_DIR/*.*/; do
|
||||||
ADDON=$(basename $addon)
|
ADDON=$(basename $addon)
|
||||||
|
|
||||||
[[ ${ADDON} =~ ^game.* ]] && continue # ignore game.* addons - handled by update_retroplayer-addons
|
[[ ${ADDON} =~ ^game.* ]] && continue # ignore game.* addons - handled by update_retroplayer-addons
|
||||||
@ -117,7 +123,7 @@ for addontxt in ${ADDONS_REPO_LOCATION}/*-addons.txt ; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ADDON_PATH="${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/"
|
ADDON_PATH="${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/"
|
||||||
if [ -f "${ADDON_PATH}/package.mk" ] ; then
|
if [ -f "${ADDON_PATH}/package.mk" ]; then
|
||||||
# Verify the Kodi repo matches our package repo
|
# Verify the Kodi repo matches our package repo
|
||||||
# If different, ignore the addon and process it later as an "unofficial" addon
|
# If different, ignore the addon and process it later as an "unofficial" addon
|
||||||
validate_pkg_url "${ADDON}" "${GIT_REPO}" || continue
|
validate_pkg_url "${ADDON}" "${GIT_REPO}" || continue
|
||||||
@ -135,32 +141,39 @@ for addontxt in ${ADDONS_REPO_LOCATION}/*-addons.txt ; do
|
|||||||
|
|
||||||
if [ -z "${NEW_VERSION}" ]; then
|
if [ -z "${NEW_VERSION}" ]; then
|
||||||
NO_TAG="yes"
|
NO_TAG="yes"
|
||||||
echo "========================================================================"
|
|
||||||
msg_warn "WARNING: no tag found for addon ${ADDON}, falling back to HEAD"
|
|
||||||
echo "========================================================================"
|
|
||||||
if [ -z "${GITHUB_API_TOKEN}" ]; then
|
if [ -z "${GITHUB_API_TOKEN}" ]; then
|
||||||
PARAMS="resolve_hash_in_branch ${GIT_DIR} ${GIT_BRANCH}"
|
PARAMS="resolve_hash_in_branch ${GIT_DIR} ${GIT_BRANCH}"
|
||||||
else
|
else
|
||||||
PARAMS="resolve_hash_on_gh ${GIT_REPO} ${GIT_BRANCH}"
|
PARAMS="resolve_hash_on_gh ${GIT_REPO} ${GIT_BRANCH}"
|
||||||
fi
|
fi
|
||||||
NEW_VERSION=$(${PARAMS})
|
echo "========================================================================"
|
||||||
fi
|
if [ "${UPDATE_TO_HASH}" != "yes" ]; then
|
||||||
|
msg_warn "WARNING: no tag found for addon ${ADDON}, and UPDATE_TO_HASH=no so not updating"
|
||||||
echo "Resolved version for ${ADDON}: ${GIT_BRANCH} => ${NEW_VERSION}"
|
NEW_VERSION=""
|
||||||
|
|
||||||
if update_pkg "${ADDON_PATH}" ${ADDON} ${NEW_VERSION}; then
|
|
||||||
if [ -n "${NO_TAG}" ]; then
|
|
||||||
# always bump PKG_REV on updates as we have no info if version changed
|
|
||||||
bump_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
|
||||||
else
|
else
|
||||||
reset_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
msg_warn "WARNING: no tag found for addon ${ADDON}, falling back to HEAD"
|
||||||
|
NEW_VERSION=$(${PARAMS})
|
||||||
fi
|
fi
|
||||||
else
|
echo "========================================================================"
|
||||||
[ "${BUMP_PKG_REV}" = "yes" ] && bump_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ ! -z "${NEW_VERSION}" ]; then
|
||||||
[ -d "${GIT_DIR}" ] && rm -rf "${GIT_DIR}"
|
echo "Resolved version for ${ADDON}: ${GIT_BRANCH} => ${NEW_VERSION}"
|
||||||
|
|
||||||
|
if update_pkg "${ADDON_PATH}" ${ADDON} ${NEW_VERSION}; then
|
||||||
|
if [ -n "${NO_TAG}" ]; then
|
||||||
|
# always bump PKG_REV on updates as we have no info if version changed
|
||||||
|
bump_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
||||||
|
else
|
||||||
|
reset_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
[ "${BUMP_PKG_REV}" = "yes" ] && bump_pkg_rev "${ADDON_PATH}" "${ADDON}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
|
[ -d "${GIT_DIR}" ] && rm -rf "${GIT_DIR}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "[mkpkg] Skipped $ADDON"
|
echo "[mkpkg] Skipped $ADDON"
|
||||||
@ -188,6 +201,9 @@ for ADDON in $(ls -1 "${ROOT}/packages/mediacenter/kodi-binary-addons"); do
|
|||||||
|
|
||||||
check_package_excluded "${ADDON}" "${EXCLUDED_PACKAGES}" && continue
|
check_package_excluded "${ADDON}" "${EXCLUDED_PACKAGES}" && continue
|
||||||
|
|
||||||
|
# always continue when UPDATE_TO_HASH=no as the below code does not work on tags
|
||||||
|
[ "${UPDATE_TO_HASH}" != "yes" ] && continue
|
||||||
|
|
||||||
ADDON_PATH="${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/"
|
ADDON_PATH="${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/"
|
||||||
# Obtain git url - ignore if not a suitable repo
|
# Obtain git url - ignore if not a suitable repo
|
||||||
GIT_DIR="${ADDON}.git"
|
GIT_DIR="${ADDON}.git"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user