Raspbian VDR Streaming Client yaVDR Pakete/getyavdr.sh
Aus VDR Wiki
Version vom 20. Februar 2016, 18:10 Uhr von Hulk (Diskussion | Beiträge)
#!/bin/bash
#set -x
# This script tries to create loacl debian packets from source od yaVDR and etobi.
# Source are fetched, compiled and packets are created. Then we move them to a loacl repositoy.
# Now you can use the normal "sudo apt-get install xxx".
# http://www.vdr-wiki.de/wiki/index.php/Kategorie:Raspbian_VDR_Streaming_Client_yaVDR_Pakete
# Created by Dieter Fauth, GPL.
# We use a local apt repository as described there:
# https://wiki.debianforum.de/Lokales_Repository
REPO="/var/local/repository"
sudo mkdir -p $REPO # might return an error if dir exists
# automatically use all CPUs
#export PROCESSORS=`getconf _NPROCESSORS_ONLN`
export DEB_BUILD_OPTIONS="parallel=auto"
prepare()
{
# add ubuntu keys
sudo apt-get install ubuntu-archive-keyring
# Ubuntu keys
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
# install the keys for this PPA
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8103B360
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5289F541
# e-tobi key
sudo gpg --keyserver keyring.debian.org --recv-keys 041390BC
sudo gpg --armor --export 041390BC | sudo apt-key add -
# add ppa for sources
sudo sh -c 'echo deb-src http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu trusty main >/etc/apt/sources.list.d/yavdr-src.list'
sudo sh -c 'echo deb-src http://ppa.launchpad.net/yavdr/main/ubuntu trusty main >>/etc/apt/sources.list.d/yavdr-src.list'
sudo sh -c 'echo deb-src http://e-tobi.net/vdr-experimental jessie base vdr-multipatch >/etc/apt/sources.list.d/etobi-src.list'
sudo sh -c 'echo deb-src http://de.archive.ubuntu.com/ubuntu trusty main >/etc/apt/sources.list.d/ubuntu-src.list'
# Add local repository to apt database
sudo sh -c 'echo deb [ trusted=yes ] file:///var/local/repository ./ >/etc/apt/sources.list.d/local.list'
# Ensure there is a package list (even it might be empty yet)
finalize_repo
# dependencies
sudo apt-get install build-essential libssl-dev libboost-dev libpcre3-dev libmagick++-dev cdbs dpatch quilt libpoco-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libxcb-util0-dev autofs python-ipaddr python3-dbus python3-all python-all libjansson-dev python-sphinx libupnp6-dev libsqlite3-dev libtntdb-dev
}
# collect packet names
CORE="vdr"
PLUGINS+="vdr-plugin-devstatus "
PLUGINS+="vdr-plugin-femon "
PLUGINS+="vdr-plugin-live "
PLUGINS+="vdr-plugin-remoteosd "
PLUGINS+="vdr-plugin-remotetimers "
PLUGINS+="vdr-plugin-rpihddevice "
PLUGINS+="vdr-plugin-skinnopacity "
PLUGINS+="vdr-plugin-streamdev "
PLUGINS+="vdr-plugin-suspendoutput "
PLUGINS+="vdr-plugin-svdrposd "
PLUGINS+="vdr-plugin-svdrpservice "
PLUGINS+="vdr-plugin-systeminfo "
PLUGINS+="vdr-plugin-timersync "
#PLUGINS+="vdr-plugin-tvguideng " # Unmet build dependencies: vdr-plugin-skindesigner (>= 0.4.2) (bug in paket)
PLUGINS+="vdr-plugin-undelete "
#PLUGINS+="vdr-plugin-upnp " # Unmet build dependencies: libupnp6-dev libsqlite3-dev libavcodec-ffmpeg-dev libavformat-ffmpeg-dev libtntdb-dev
PLUGINS+="vdr-plugin-vdrmanager "
PLUGINS+="vdr-plugin-vnsiserver "
#PLUGINS+="vdr-plugin-webvideo " # Unmet build dependencies: txt2man python-all-dev python-central (>= 0.5.6)
#PLUGINS+="vdr-plugin-plex " # has Unmet build dependencies: libpoco-dev (>= 1.4.6~), but 1.3.6p1-5 installed
#PLUGINS+="vdr-plugin-timeline " # Unmet build dependencies: dh-autoreconf python-sphinx (>= 1.0)
#PLUGINS+="vdr-plugin-weatherforecast " # Unmet build dependencies: libjansson-dev vdr-plugin-skindesigner (>= 0.4.2) (bug in paket)
SD_SKINS+="skindesigner-skin-blackholefrodo "
SD_SKINS+="skindesigner-skin-blackholeperlbo "
SD_SKINS+="skindesigner-skin-elchi "
SD_SKINS+="skindesigner-skin-glasslike "
SD_SKINS+="skindesigner-skin-holo "
SD_SKINS+="skindesigner-skin-shady "
SD_SKINS+="skindesigner-skin-shady-kiss "
SD_SKINS+="skindesigner-skin-stillclassic "
SD_SKINS+="skindesigner-skin-tryouts "
SD_SKINS+="skindesigner-skin-vectra "
ADDONS+="vdr-addon-avahi-linker "
FONTSLOGOS="fonts-opensans fonts-vdropensans vdr-skins-speciallogos vdr-xpmlogos fugue-icons silk-icons vdr-enigmang-icons "
LIBS="libdbus2vdr python-dbus2vdr vdrctl "
BUILD="--compile "
# get sources of vdr and build, install the vdr-dev since it is required for the next steps
core()
{
mkdir -p core
pushd core
sudo apt-get build-dep $CORE && \
apt-get $BUILD source $CORE && \
sudo mv *.deb $REPO && \
finalize_repo && \
sudo apt-get install vdr-dev
popd
}
addons()
{
mkdir -p addons
pushd addons
sudo apt-get build-dep $FONTSLOGOS $LIBS $ADDONS && \
apt-get $BUILD source $FONTSLOGOS $LIBS $ADDONS && \
sudo mv *.deb $REPO
popd
}
plugins()
{
mkdir -p plugins
pushd plugins
# get sources of library like plugins and build, install since it is required for the next steps
PLUGINS1+="vdr-plugin-skindesigner "
PLUGINS1+="vdr-plugin-svdrpservice "
sudo apt-get build-dep $PLUGINS1 && \
apt-get $BUILD source $PLUGINS1 && \
sudo mv *.deb $REPO && \
finalize_repo && \
sudo apt-get install libskindesignerapi0 libskindesignerapi-dev svdrpservice-dev && \
sudo apt-get build-dep $PLUGINS && \
apt-get $BUILD source $PLUGINS && \
sudo mv *.deb $REPO
popd
}
sd_skins()
{
mkdir -p sd_skins
pushd sd_skins
sudo apt-get build-dep $SD_SKINS && \
apt-get $BUILD source $SD_SKINS
sudo mv *.deb $REPO
popd
}
# finalize local repo
finalize_repo()
{
pushd $REPO
sudo sh -c 'dpkg-scanpackages ./ > Packages && gzip -f Packages'
sudo chown root.root *
popd
sudo apt-get update
}
case "$1" in
addons)
addons
;;
plugins)
plugins
;;
sd_skins)
sd_skins
;;
core)
plugins
;;
prepare)
prepare
;;
*)
# do all
prepare
core
addons
plugins
sd_skins
;;
esac
finalize_repo
echo "DONE"