diff --git a/tools/mkpkg/update_binary-addons b/tools/mkpkg/update_binary-addons index 7361d99d99..4f07d9b90a 100755 --- a/tools/mkpkg/update_binary-addons +++ b/tools/mkpkg/update_binary-addons @@ -22,13 +22,20 @@ if [ -z "$1" ]; then exit 0 fi -KODI_DIR="kodi-$1.git" +KODI_BRANCH="$1" +KODI_DIR="kodi-${KODI_BRANCH}.git" git_clone() { # git_clone https://repo.url branch ./target_dir [githash] echo "[mkpkg] Checking out $1 ..." if [ ! -d "$3" ]; then - git clone "$1" -b $2 "$3" + git clone "$1" "$3" + # Try to switch to specified branch if it exist, if not then use default branch + if [ -n "$2" ]; then + cd "$3" + git checkout $2 >/dev/null 2>/dev/null + cd .. + fi else if [ -d "$3" ] ; then cd "$3" @@ -37,6 +44,7 @@ git_clone() { cd .. fi fi + if [ ! -z "$4" ] ; then cd "$3" git fetch >/dev/null 2>/dev/null @@ -88,8 +96,8 @@ validate_pkg_url() { [ "${url1}" = "${url2}" ] && return 0 || return 1 } -if [ ! -d $KODI_DIR ] ; then - git_clone https://github.com/xbmc/xbmc $1 $KODI_DIR +if [ ! -d ${KODI_DIR} ] ; then + git_clone https://github.com/xbmc/xbmc ${KODI_BRANCH} ${KODI_DIR} fi # p8-platform @@ -125,7 +133,7 @@ for addontxt in $KODI_DIR/cmake/addons/bootstrap/repositories/*-addons.txt ; do ADDONS=$(cat $addontxt | awk '{print $1}') ADDONREPO=$(cat $addontxt | awk '{print $2}') GIT_HASH=$(cat $addontxt | awk '{print $3}') - git_clone $ADDONREPO master $ADDONS.git $GIT_HASH + git_clone $ADDONREPO ${KODI_BRANCH} $ADDONS.git $GIT_HASH for addon in $ADDONS.git/*.*/ ; do ADDON=$(basename $addon) @@ -146,7 +154,7 @@ for addontxt in $KODI_DIR/cmake/addons/bootstrap/repositories/*-addons.txt ; do fi if [ -f ../../packages/mediacenter/kodi-binary-addons/$ADDON/package.mk ] ; then - git_clone $REPO master $PKG_NAME.git $GIT_HASH + git_clone $REPO ${KODI_BRANCH} $PKG_NAME.git $GIT_HASH # update package.mk RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH) @@ -177,7 +185,7 @@ for ADDON in $(ls -1 ../../packages/mediacenter/kodi-binary-addons); do # Obtain git url - ignore if not a suitable repo REPO="$(geturl "${ADDON}")" || continue - git_clone $REPO master $ADDON.git HEAD + git_clone $REPO ${KODI_BRANCH} $ADDON.git HEAD # update package.mk for stale github.com packages RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue