mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
Merge pull request #1138 from CvH/media_build_stable
media_build for Generic and RPi
This commit is contained in:
commit
4455d4d826
49
packages/linux-drivers/media_build/package.mk
Normal file
49
packages/linux-drivers/media_build/package.mk
Normal file
@ -0,0 +1,49 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# LibreELEC 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="media_build"
|
||||
PKG_VERSION="2016-12-28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/crazycat69/linux_media"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_SECTION="driver"
|
||||
PKG_SHORTDESC="DVB drivers that replace the version shipped with the kernel"
|
||||
PKG_LONGDESC="DVB drivers that replace the version shipped with the kernel"
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_make_target() {
|
||||
export KERNEL_VER=$(get_module_dir)
|
||||
export LDFLAGS=""
|
||||
}
|
||||
|
||||
make_target() {
|
||||
cd media_build
|
||||
make dir DIR=../media
|
||||
make VER=$KERNEL_VER SRCDIR=$(kernel_path) allyesconfig
|
||||
make VER=$KERNEL_VER SRCDIR=$(kernel_path)
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib/modules/$KERNEL_VER/updates
|
||||
find $ROOT/$PKG_BUILD/media_build/v4l/ -name \*.ko -exec cp {} $INSTALL/usr/lib/modules/$KERNEL_VER/updates \;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
[Patch] without this patch you need to install libproc-processtable-perl at host system
|
||||
|
||||
--- a/media_build/v4l/Makefile
|
||||
+++ b/media_build/v4l/Makefile
|
||||
@@ -51,7 +51,7 @@
|
||||
@echo Kernel build directory is $(OUTDIR)
|
||||
$(MAKE) -C ../linux apply_patches
|
||||
$(MAKE) -C $(OUTDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules
|
||||
- ./scripts/rmmod.pl check
|
||||
+# ./scripts/rmmod.pl check
|
||||
# $(MAKE) checkpatch
|
||||
|
||||
mismatch:: prepare firmware
|
@ -0,0 +1,15 @@
|
||||
diff --git a/media_build/backports/backports.txt b/media_build/backports/backports.txt
|
||||
index 2a6006b..8c7c3de 100644
|
||||
--- a/media_build/backports/backports.txt
|
||||
+++ b/media_build/backports/backports.txt
|
||||
@@ -25,6 +25,10 @@
|
||||
add pr_fmt.patch
|
||||
add debug.patch
|
||||
add drx39xxj.patch
|
||||
+add linux-203-stb0899_enable_low_symbol_rate.patch
|
||||
+add linux-212-mantis_stb0899_faster_lock.patch
|
||||
+add linux-222-stb0899_signal_quality.patch
|
||||
+add linux-227-ds3000-invalid-symbol-rate.patch
|
||||
|
||||
[4.8.255]
|
||||
add v4.8_user_pages_flag.patch
|
@ -85,4 +85,4 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta media_build"
|
||||
|
@ -140,4 +140,4 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS media_build"
|
||||
|
@ -136,4 +136,4 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS media_build"
|
||||
|
@ -85,7 +85,7 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta"
|
||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta media_build"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau,vmware,virtualbox)
|
||||
# Space separated list is supported,
|
||||
|
@ -1,41 +1,98 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# LibreELEC 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# LibreELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
echo "getting sources..."
|
||||
# name of the package
|
||||
DVB_MKPKG_NAME="media_build"
|
||||
DVB_MKPKG_FOLDER="$(pwd)"
|
||||
|
||||
# remove old files
|
||||
echo "removing old sources ..."
|
||||
rm -rf ${DVB_MKPKG_NAME}
|
||||
rm -rf ${DVB_MKPKG_NAME}-*
|
||||
|
||||
################################################################################
|
||||
|
||||
# media_build dl
|
||||
echo "getting media_build sources ..."
|
||||
if [ ! -d media_build.git ]; then
|
||||
git clone git://linuxtv.org/media_build.git media_build.git
|
||||
git clone --depth=1 https://bitbucket.org/CrazyCat/media_build.git ${DVB_MKPKG_NAME}/media_build
|
||||
fi
|
||||
|
||||
cd media_build.git
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
cd ..
|
||||
echo "cleaning media_build sources ..."
|
||||
rm -rf ${DVB_MKPKG_NAME}/media_build/.git
|
||||
|
||||
echo "copying sources..."
|
||||
rm -rf media_build-$GIT_REV
|
||||
cp -R media_build.git media_build-$GIT_REV
|
||||
# media_tree dl
|
||||
echo "getting sources ..."
|
||||
if [ ! -d linux_media.git ]; then
|
||||
git clone --depth=1 https://github.com/crazycat69/linux_media.git -b latest ${DVB_MKPKG_NAME}/media_tree
|
||||
fi
|
||||
|
||||
echo "cleaning sources..."
|
||||
rm -rf media_build-$GIT_REV/.git
|
||||
cd ${DVB_MKPKG_NAME}/media_tree
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --pretty=format:"%ad" --date=short`
|
||||
|
||||
echo "packing sources..."
|
||||
tar cvJf media_build-$GIT_REV.tar.xz media_build-$GIT_REV
|
||||
cd $DVB_MKPKG_FOLDER/
|
||||
|
||||
echo "remove temporary sourcedir..."
|
||||
rm -rf media_build-$GIT_REV
|
||||
# final folder
|
||||
mkdir ${DVB_MKPKG_NAME}/media/
|
||||
|
||||
################################################################################
|
||||
|
||||
# modify the media_build buildscript
|
||||
cd ${DVB_MKPKG_NAME}/media_build/linux/
|
||||
|
||||
# backup Makefile
|
||||
cp Makefile Makefile.org
|
||||
|
||||
# workaround for crazycat media_build to create a proper named file
|
||||
sed -i -E "s/TODAY_TAR\ \:\=\ linux\-media\-LATEST\.tar/TODAY_TAR\ \:\=\ linux\-media.tar/g" Makefile
|
||||
|
||||
# normal media build
|
||||
sed -i -E 's/TODAY_TAR\ \:\=\ linux\-media\-\$\{DATE\}\.tar/TODAY_TAR\ \:\=\ linux\-media.tar/g' Makefile
|
||||
|
||||
# remove the creation of the archive
|
||||
sed -i -E 's/bzip2\ \$\(PWD\)\/\$\(TODAY_TAR\)/ /g' Makefile
|
||||
|
||||
# collecting files from media_tree
|
||||
echo "collect source files ..."
|
||||
make todaytar DIR="../../media_tree/"
|
||||
|
||||
# extract resulting tar into media folder
|
||||
tar xf linux-media.tar -C "../../media/"
|
||||
|
||||
# cleanup
|
||||
rm linux-media.tar
|
||||
rm Makefile && mv Makefile.org Makefile
|
||||
|
||||
cd $DVB_MKPKG_FOLDER
|
||||
rm -rf ${DVB_MKPKG_NAME}/media_tree/
|
||||
rm -rf ${DVB_MKPKG_NAME}/media_build/.git/
|
||||
|
||||
# rename buildfolder
|
||||
mv ${DVB_MKPKG_NAME}/ ${DVB_MKPKG_NAME}-$GIT_REV/
|
||||
|
||||
################################################################################
|
||||
|
||||
# pack sources
|
||||
echo "packing sources ..."
|
||||
tar cvJf ${DVB_MKPKG_NAME}-$GIT_REV.tar.xz ${DVB_MKPKG_NAME}-$GIT_REV
|
||||
|
||||
echo "remove temporary sourcedir ..."
|
||||
rm -rf ${DVB_MKPKG_NAME}-$GIT_REV
|
||||
rm -rf ${DVB_MKPKG_NAME}
|
||||
|
Loading…
x
Reference in New Issue
Block a user