Lakka-LibreELEC/tools/mkpkg/mkpkg_pvr
2021-02-20 16:42:26 +01:00

114 lines
2.9 KiB
Bash
Executable File

#!/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