mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
update_binary-addons: update kodi addons to latest tag
Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
1d8561aef4
commit
e2983b40ac
@ -51,6 +51,13 @@ resolve_hash() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resolve_tag() {
|
||||||
|
if [ -d "$1" ] ; then
|
||||||
|
cd "$1"
|
||||||
|
git describe --abbrev=0 --tags $2 2>/dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Get url in git:// notation for a package.mk, assuming it is a github.com url
|
# Get url in git:// notation for a package.mk, assuming it is a github.com url
|
||||||
# Return 1 if not a github domain
|
# Return 1 if not a github domain
|
||||||
geturl() {
|
geturl() {
|
||||||
@ -94,7 +101,7 @@ get_pkg_var() {
|
|||||||
|
|
||||||
update_pkg() {
|
update_pkg() {
|
||||||
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
||||||
local old_version pkg_url new_sha256
|
local old_version pkg_url new_sha256 pkg_rev
|
||||||
|
|
||||||
old_version=$(get_pkg_var "${pkg_name}" PKG_VERSION)
|
old_version=$(get_pkg_var "${pkg_name}" PKG_VERSION)
|
||||||
|
|
||||||
@ -105,7 +112,28 @@ update_pkg() {
|
|||||||
|
|
||||||
new_sha256="$(wget -q ${pkg_url} -O- | sha256sum | awk '{print $1}')" || exit 1
|
new_sha256="$(wget -q ${pkg_url} -O- | sha256sum | awk '{print $1}')" || exit 1
|
||||||
sed -e "s|PKG_SHA256=.*|PKG_SHA256=\"${new_sha256}\"|g" -i ${pkg_path}
|
sed -e "s|PKG_SHA256=.*|PKG_SHA256=\"${new_sha256}\"|g" -i ${pkg_path}
|
||||||
|
}
|
||||||
|
|
||||||
|
update_to_latest_tag() {
|
||||||
|
local package_mk="$1" pkg_name="$2" repo="$3" branch="$4" ref="$5"
|
||||||
|
local gitdir=${pkg_name}.git
|
||||||
|
local resolved_version
|
||||||
|
|
||||||
|
git_clone ${repo} ${branch} ${gitdir} ${ref}
|
||||||
|
|
||||||
|
resolved_version=$(resolve_tag ${gitdir} ${ref})
|
||||||
|
if [ -z "${resolved_version}" ]; then
|
||||||
|
echo "========================================================================"
|
||||||
|
echo "ERROR: no tag found for package ${pkg_name}, falling back to HEAD"
|
||||||
|
echo "========================================================================"
|
||||||
|
resolved_version=$(resolve_hash ${gitdir} ${ref})
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Resolved version for ${pkg_name}: ${ref} => ${resolved_version}"
|
||||||
|
|
||||||
|
update_pkg ${package_mk} ${pkg_name} ${resolved_version}
|
||||||
|
|
||||||
|
rm -rf ${gitdir}
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ ! -d ${KODI_DIR} ] ; then
|
if [ ! -d ${KODI_DIR} ] ; then
|
||||||
@ -152,27 +180,21 @@ for addontxt in $KODI_DIR/cmake/addons/bootstrap/repositories/*-addons.txt ; do
|
|||||||
|
|
||||||
REPO=$(cat $addon/$ADDON.txt | awk '{print $2}')
|
REPO=$(cat $addon/$ADDON.txt | awk '{print $2}')
|
||||||
GIT_HASH=$(cat $addon/$ADDON.txt | awk '{print $3}')
|
GIT_HASH=$(cat $addon/$ADDON.txt | awk '{print $3}')
|
||||||
PKG_NAME="$ADDON"
|
|
||||||
|
|
||||||
# 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" "$REPO" || continue
|
validate_pkg_url "$ADDON" "$REPO" || continue
|
||||||
|
|
||||||
PROCESSED="${PROCESSED}${PKG_NAME}\n"
|
PROCESSED="${PROCESSED}${ADDON}\n"
|
||||||
|
|
||||||
if ! grep -q all $addon/platforms.txt && ! grep -q linux $addon/platforms.txt && ! grep -q ! $addon/platforms.txt; then
|
if ! grep -q all $addon/platforms.txt && ! grep -q linux $addon/platforms.txt && ! grep -q ! $addon/platforms.txt; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f ${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/package.mk ] ; then
|
if [ -f ${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/package.mk ] ; then
|
||||||
git_clone $REPO ${KODI_BRANCH} $PKG_NAME.git $GIT_HASH
|
update_to_latest_tag \
|
||||||
|
${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/package.mk \
|
||||||
# update package.mk
|
${ADDON} ${REPO} ${KODI_BRANCH} ${GIT_HASH}
|
||||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
|
||||||
echo "Resolving hash for ${PKG_NAME}: ${GIT_HASH} => ${RESOLVED_HASH}"
|
|
||||||
update_pkg ${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/package.mk ${PKG_NAME} ${RESOLVED_HASH}
|
|
||||||
|
|
||||||
rm -rf $PKG_NAME.git
|
|
||||||
else
|
else
|
||||||
echo "[mkpkg] Skipped $ADDON"
|
echo "[mkpkg] Skipped $ADDON"
|
||||||
SKIPPED_ADDONS="$SKIPPED_ADDONS $ADDON"
|
SKIPPED_ADDONS="$SKIPPED_ADDONS $ADDON"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user