Raspbian VDR Streaming Client yaVDR Pakete/getyavdr.sh

Aus VDR Wiki
Version vom 20. Februar 2016, 18:10 Uhr von Hulk (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Datei
getyavdr.sh
#!/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"