mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-02 07:27:49 +00:00
update_binary-addons: Extend support to unofficial addons
This commit is contained in:
parent
457702ad49
commit
8701fc2022
@ -54,6 +54,24 @@ resolve_hash() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get url in git:// notation for a package.mk, assuming it is a github.com url
|
||||||
|
# Return 1 if not a github domain
|
||||||
|
geturl() {
|
||||||
|
local addon="$1"
|
||||||
|
local domain owner repo
|
||||||
|
|
||||||
|
. ../../packages/mediacenter/kodi-binary-addons/${addon}/package.mk 1>/dev/null 2>/dev/null
|
||||||
|
|
||||||
|
domain="$(echo "${PKG_URL}" | cut -d/ -f3)"
|
||||||
|
[ "${domain}" = "github.com" ] || return 1
|
||||||
|
|
||||||
|
owner="$(echo "${PKG_URL}" | cut -d/ -f4)"
|
||||||
|
repo="$(echo "${PKG_URL}" | cut -d/ -f5)"
|
||||||
|
|
||||||
|
echo "git://${domain}/${owner}/${repo}.git"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
if [ ! -d $KODI_DIR ] ; then
|
if [ ! -d $KODI_DIR ] ; then
|
||||||
echo "meh.. $KODI_DIR does not exist"
|
echo "meh.. $KODI_DIR does not exist"
|
||||||
exit 127
|
exit 127
|
||||||
@ -87,6 +105,9 @@ if [ -f ../../packages/mediacenter/kodi-platform/package.mk ] ; then
|
|||||||
fi
|
fi
|
||||||
rm -rf $PKG_NAME.git
|
rm -rf $PKG_NAME.git
|
||||||
|
|
||||||
|
PROCESSED=/tmp/update_binary_addons.dat
|
||||||
|
rm -f ${PROCESSED}
|
||||||
|
|
||||||
# addons
|
# addons
|
||||||
for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.txt ; do
|
for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.txt ; do
|
||||||
ADDONS=$(cat $addontxt | awk '{print $1}')
|
ADDONS=$(cat $addontxt | awk '{print $1}')
|
||||||
@ -99,6 +120,8 @@ for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.t
|
|||||||
GIT_HASH=$(cat $addon/$ADDON.txt | awk '{print $3}')
|
GIT_HASH=$(cat $addon/$ADDON.txt | awk '{print $3}')
|
||||||
PKG_NAME="$ADDON"
|
PKG_NAME="$ADDON"
|
||||||
|
|
||||||
|
echo "${PKG_NAME}" >> ${PROCESSED}
|
||||||
|
|
||||||
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
|
||||||
@ -122,3 +145,22 @@ for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.t
|
|||||||
echo "followed addons was skipped, please add packages for this:"
|
echo "followed addons was skipped, please add packages for this:"
|
||||||
echo "$SKIPPED_ADDONS"
|
echo "$SKIPPED_ADDONS"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# finally, any other unofficial addons
|
||||||
|
for ADDON in $(ls -1 ../../packages/mediacenter/kodi-binary-addons); do
|
||||||
|
# ignore already processed addons
|
||||||
|
grep -qE "^${ADDON}$" ${PROCESSED} && continue
|
||||||
|
|
||||||
|
# Obtain git url - ignore if not a suitable repo
|
||||||
|
REPO="$(geturl "${ADDON}")" || continue
|
||||||
|
|
||||||
|
git_clone $REPO master $ADDON.git HEAD
|
||||||
|
|
||||||
|
# update package.mk for stale github.com packages
|
||||||
|
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
||||||
|
|
||||||
|
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"$RESOLVED_HASH\"|g" \
|
||||||
|
-i ../../packages/mediacenter/kodi-binary-addons/$ADDON/package.mk
|
||||||
|
|
||||||
|
rm -rf $ADDON.git
|
||||||
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user