#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # set media_build version you want to use if [ -z "$1" ]; then echo "Usage: $0 crazycat | tbs" exit 0 else MEDIA_BUILD_PROJECT="$1" fi # name of the package DVB_MKPKG_FOLDER="$(pwd)" # crazycat if [ "$MEDIA_BUILD_PROJECT" = "crazycat" ]; then MEDIA_BUILD_URL="https://github.com/crazycat69/media_build.git" MEDIA_TREE_URL="https://github.com/crazycat69/linux_media.git" MEDIA_TREE_BRANCH="latest" MEDIA_BUILD_NAME="crazycat" # tbs oss elif [ "$MEDIA_BUILD_PROJECT" = "tbs" ]; then MEDIA_BUILD_URL="https://github.com/tbsdtv/media_build.git" MEDIA_TREE_URL="https://github.com/tbsdtv/linux_media.git" MEDIA_TREE_BRANCH="latest" MEDIA_BUILD_NAME="tbs" # exit else echo "exit: no valid project" exit 0 fi # remove old files echo "removing old sources ..." rm -rf $MEDIA_BUILD_NAME*/ ################################################################################ # media_build dl echo "getting media_build sources ..." if [ ! -d media_build.git ]; then git clone $MEDIA_BUILD_URL media_build/ fi #get log cd media_build/ git pull git checkout $MEDIA_BUILD_HASH GIT_LOG_MEDIA_BUILD=`git log --pretty=oneline -n1` cd $DVB_MKPKG_FOLDER/ # media_tree dl echo "getting sources ..." if [ ! -d linux_media.git ]; then git clone --depth=1 $MEDIA_TREE_URL -b $MEDIA_TREE_BRANCH media_tree fi #get log cd media_tree/ git pull GIT_LOG_MEDIA_TREE=`git log --pretty=oneline -n1` GIT_REV=`git log -n1 --pretty=format:"%ad" --date=short` # hack/workaround for borked upstream kernel/media_build # without removing atomisp there a lot additional includes that # slowdown build process after modpost from 3min to 6min # even if atomisp is disabled via kernel.conf rm -rf drivers/staging/media/atomisp sed -i 's|^.*drivers/staging/media/atomisp.*$||' $DVB_MKPKG_FOLDER/media_tree/drivers/staging/media/Kconfig cd $DVB_MKPKG_FOLDER/ ################################################################################ # collecting files from media_tree echo "create media_tree tar" cd media_build/linux make tar DIR="$DVB_MKPKG_FOLDER/media_tree/" cd $DVB_MKPKG_FOLDER # cleanup rm -rf media_tree/ rm -rf media_build/.git/ # rename buildfolder mv media_build/ $MEDIA_BUILD_NAME-$GIT_REV/ # log used versions into LE_versions echo "package include: $MEDIA_BUILD_NAME\n media_build commit: $GIT_LOG_MEDIA_BUILD media_build url: $MEDIA_BUILD_URL \n media_tree commit: $GIT_LOG_MEDIA_TREE media_tree url: $MEDIA_TREE_URL \n package date: $(date +%F_%H:%M:%S)" > $MEDIA_BUILD_NAME-$GIT_REV/LE_versions ################################################################################ # pack sources echo "packing sources ..." tar cvJf $MEDIA_BUILD_NAME-$GIT_REV.tar.xz $MEDIA_BUILD_NAME-$GIT_REV echo "remove temporary sourcedir ..." rm -rf $MEDIA_BUILD_NAME-$GIT_REV