From fd054a49d85c9677d9ad2f8425e1c658b62e9b0c Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 27 Jun 2016 16:47:41 +0100 Subject: [PATCH 1/2] update_binary-addons: validate package urls against kodi urls --- tools/mkpkg/update_binary-addons | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/tools/mkpkg/update_binary-addons b/tools/mkpkg/update_binary-addons index 7ac6d7635f..6833fcfca9 100755 --- a/tools/mkpkg/update_binary-addons +++ b/tools/mkpkg/update_binary-addons @@ -72,6 +72,22 @@ geturl() { return 0 } +# For the specified addon, verify that the package url +# matches the url retrieved from Kodi +validate_pkg_url() { + local addon="$1" url1="$2" + local domain owner repo url2 + + domain="$(echo "${url1}" | cut -d/ -f3)" + owner="$(echo "${url1}" | cut -d/ -f4)" + repo="$(echo "${url1}" | cut -d/ -f5)" + + url1="git://${domain}/${owner}/${repo}.git" + url2="$(geturl "${addon}")" + + [ "${url1}" = "${url2}" ] && return 0 || return 1 +} + if [ ! -d $KODI_DIR ] ; then echo "meh.. $KODI_DIR does not exist" exit 127 @@ -105,9 +121,6 @@ if [ -f ../../packages/mediacenter/kodi-platform/package.mk ] ; then fi rm -rf $PKG_NAME.git -PROCESSED=/tmp/update_binary_addons.dat -rm -f ${PROCESSED} - # addons for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.txt ; do ADDONS=$(cat $addontxt | awk '{print $1}') @@ -120,7 +133,11 @@ for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.t GIT_HASH=$(cat $addon/$ADDON.txt | awk '{print $3}') PKG_NAME="$ADDON" - echo "${PKG_NAME}" >> ${PROCESSED} + # Verify the Kodi repo matches our package repo + # If different, ignore the addon and process it later as an "unofficial" addon + validate_pkg_url "$ADDON" "$REPO" || continue + + PROCESSED="${PROCESSED}${PKG_NAME}\n" if ! grep -q all $addon/platforms.txt && ! grep -q linux $addon/platforms.txt && ! grep -q ! $addon/platforms.txt; then continue @@ -136,7 +153,6 @@ for addontxt in $KODI_DIR/project/cmake/addons/bootstrap/repositories/*-addons.t -i ../../packages/mediacenter/kodi-binary-addons/$ADDON/package.mk rm -rf $PKG_NAME.git - else echo "[mkpkg] Skipped $ADDON" SKIPPED_ADDONS="$SKIPPED_ADDONS $ADDON" @@ -149,7 +165,7 @@ 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 + echo -e "${PROCESSED}" | grep -qE "^${ADDON}$" && continue # Obtain git url - ignore if not a suitable repo REPO="$(geturl "${ADDON}")" || continue From ff80570cde197f7a9945b39a64beba743f0e694e Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 27 Jun 2016 16:48:02 +0100 Subject: [PATCH 2/2] kodi-binary-addons: update to latest versions --- .../mediacenter/kodi-binary-addons/inputstream.mpd/package.mk | 2 +- packages/mediacenter/kodi-binary-addons/pvr.stalker/package.mk | 2 +- .../kodi-binary-addons/screensaver.shadertoy/package.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mediacenter/kodi-binary-addons/inputstream.mpd/package.mk b/packages/mediacenter/kodi-binary-addons/inputstream.mpd/package.mk index 553b949db1..ae0c0afe06 100644 --- a/packages/mediacenter/kodi-binary-addons/inputstream.mpd/package.mk +++ b/packages/mediacenter/kodi-binary-addons/inputstream.mpd/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="inputstream.mpd" -PKG_VERSION="350838d" +PKG_VERSION="b171dff" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="https://github.com/liberty-developer/inputstream.mpd/archive/$PKG_VERSION.tar.gz" diff --git a/packages/mediacenter/kodi-binary-addons/pvr.stalker/package.mk b/packages/mediacenter/kodi-binary-addons/pvr.stalker/package.mk index f7e86dd779..f5d9264b59 100644 --- a/packages/mediacenter/kodi-binary-addons/pvr.stalker/package.mk +++ b/packages/mediacenter/kodi-binary-addons/pvr.stalker/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="pvr.stalker" -PKG_VERSION="acba9f1" +PKG_VERSION="ad1f7d6" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/kodi-binary-addons/screensaver.shadertoy/package.mk b/packages/mediacenter/kodi-binary-addons/screensaver.shadertoy/package.mk index 4da1b524d0..f2ad4194a3 100644 --- a/packages/mediacenter/kodi-binary-addons/screensaver.shadertoy/package.mk +++ b/packages/mediacenter/kodi-binary-addons/screensaver.shadertoy/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="screensaver.shadertoy" -PKG_VERSION="394de3d" +PKG_VERSION="9e0d1e4" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL"