From d608cf40444c8742584dbed3591be3025cbad403 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 3 Jul 2015 00:02:08 +0200 Subject: [PATCH] tools/mkpkg: add script to get and pack kodi-isengard (addons) Signed-off-by: Stephan Raue --- tools/mkpkg/mkpkg_kodi-Isengard | 116 ++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100755 tools/mkpkg/mkpkg_kodi-Isengard diff --git a/tools/mkpkg/mkpkg_kodi-Isengard b/tools/mkpkg/mkpkg_kodi-Isengard new file mode 100755 index 0000000000..0721217e71 --- /dev/null +++ b/tools/mkpkg/mkpkg_kodi-Isengard @@ -0,0 +1,116 @@ +#!/bin/sh +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="kodi" +PKG_VERSION="" +BRANCH="Isengard" +BRANCH_FOR_ADDONS="master" +GIT_REPO="git://github.com/xbmc/xbmc.git" +DEST_DIR="$PKG_NAME-$BRANCH" + +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" + else + if [ -d "$3" ] ; then + cd "$3" + git checkout $2 >/dev/null 2>/dev/null + git pull + if [ ! -z "$4" ] ; then + git branch -D $4 >/dev/null 2>/dev/null + git checkout $4 -b $4 >/dev/null 2>/dev/null + fi + cd .. + fi + fi +} + +copy_sources() { + # copy_sources source_dir package_name package_version + if [ -d "$1" ] ; then + echo "[mkpkg] Copying sources: $2-$3" ... + rm -rf "$2-$3" + cp -R "$1" "$2-$3" + echo "$GIT_HASH" > "$2-$3/VERSION" + + echo "[mkpkg] Cleaning $2-$3 ..." + rm -rf "$2-$3/.git" + fi +} + +package_sources() { + # package_sources source_dir + if [ -d "$1" ] ; then + echo "[mkpkg] Packing $1.tar.xz ..." + if [ ! -f "$1.tar.xz" ] ; then + tar cvJf "$1.tar.xz" "$1" + fi + rm -rf "$1" + fi +} + +# kodi +git_clone $GIT_REPO $BRANCH $DEST_DIR.git 9ff25f8 + +# kodi-platform +REPO=$(cat $DEST_DIR.git/project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt | awk '{print $2}') +GIT_HASH=$(cat $DEST_DIR.git/project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt | awk '{print $3}') +if [ ! -e kodi-platform-$GIT_HASH.tar.xz ] ; then + git_clone $REPO $BRANCH_FOR_ADDONS kodi-platform.git $GIT_HASH + copy_sources kodi-platform.git kodi-platform $GIT_HASH + package_sources kodi-platform-$GIT_HASH +else + echo "[mkpkg] kodi-platform-$GIT_HASH.tar.xz already exists ..." +fi + +# addons +for addon in $DEST_DIR.git/project/cmake/addons/addons/*.* ; do + PVR_ADDON=$(basename $addon) + REPO=$(cat $DEST_DIR.git/project/cmake/addons/addons/$PVR_ADDON/$PVR_ADDON.txt | awk '{print $2}') + GIT_HASH=$(cat $DEST_DIR.git/project/cmake/addons/addons/$PVR_ADDON/$PVR_ADDON.txt | awk '{print $3}') + if [ ! -e $PVR_ADDON-$GIT_HASH.tar.xz ] ; then + git_clone $REPO $BRANCH_FOR_ADDONS $PVR_ADDON.git $GIT_HASH + copy_sources $PVR_ADDON.git $PVR_ADDON $GIT_HASH + package_sources $PVR_ADDON-$GIT_HASH + else + echo "[mkpkg] $PVR_ADDON-$GIT_HASH.tar.xz already exists ..." + fi +done + +cd $DEST_DIR.git +GIT_HASH=`git log -n1 --format=%h` +VERSION_MAJOR=$(grep ^VERSION_MAJOR version.txt | cut -d" " -f2) +VERSION_MINOR=$(grep ^VERSION_MINOR version.txt | cut -d" " -f2) +VERSION_TAG=$(grep ^VERSION_TAG version.txt | cut -d" " -f2 | tr A-Z a-z) +PKG_VERSION="$VERSION_MAJOR.$VERSION_MINOR-$VERSION_TAG-$GIT_HASH" +echo $PKG_VERSION +cd .. + +copy_sources $PKG_NAME-$BRANCH.git $PKG_NAME $PKG_VERSION + +echo "[mkpkg] Seperating skin.confluence ..." +rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION +mv $PKG_NAME-$PKG_VERSION/addons/skin.confluence $PKG_NAME-theme-Confluence-$PKG_VERSION + +package_sources $PKG_NAME-$PKG_VERSION +package_sources $PKG_NAME-theme-Confluence-$PKG_VERSION