* [Buildroot] [pull request] Pull request for branch yem-tvheadend
@ 2012-12-28 18:42 Yann E. MORIN
2012-12-28 18:42 ` [Buildroot] [PATCH 1/2] package/dvb-apps: new package Yann E. MORIN
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Yann E. MORIN @ 2012-12-28 18:42 UTC (permalink / raw)
To: buildroot
Hello All!
Here's a short series to add TVHeadend.
TVHeadend implements a PVR/DVR solution, which can record either from
a broadcast tunner (DVB-{T,S,C}, or ATSC), or IPTV multicast streams.
TVHeadend can be used as a backend by media centers, such as XBMC, or
it can be used stand-alone.
The following changes since commit 4848386446b937d4d0d9d3e9489932ca3fcb1003:
libffi: fix mips build failures (2012-12-28 16:55:09 +0100)
are available in the git repository at:
git://gitorious.org/buildroot/buildroot.git yem-tvheadend
Yann E. MORIN (2):
package/dvb-apps: new package
package/tvheadend: new package
package/Config.in | 1 +
package/dvb-apps/dvb-apps.mk | 32 ++++++++++++
package/tvheadend/Config.in | 18 +++++++
package/tvheadend/S99tvheadend | 54 ++++++++++++++++++++
package/tvheadend/accesscontrol.1 | 13 +++++
package/tvheadend/etc.default.tvheadend | 7 +++
.../tvheadend-no-auto-download-dvbscans.patch | 50 ++++++++++++++++++
package/tvheadend/tvheadend.mk | 43 ++++++++++++++++
8 files changed, 218 insertions(+), 0 deletions(-)
create mode 100644 package/dvb-apps/dvb-apps.mk
create mode 100644 package/tvheadend/Config.in
create mode 100644 package/tvheadend/S99tvheadend
create mode 100644 package/tvheadend/accesscontrol.1
create mode 100644 package/tvheadend/etc.default.tvheadend
create mode 100644 package/tvheadend/tvheadend-no-auto-download-dvbscans.patch
create mode 100644 package/tvheadend/tvheadend.mk
Regards,
Yann E. MORIN
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH 1/2] package/dvb-apps: new package 2012-12-28 18:42 [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN @ 2012-12-28 18:42 ` Yann E. MORIN 2012-12-28 19:45 ` Thomas Petazzoni 2012-12-28 18:42 ` [Buildroot] [PATCH 2/2] package/tvheadend: " Yann E. MORIN 2012-12-28 21:26 ` [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2 siblings, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2012-12-28 18:42 UTC (permalink / raw) To: buildroot We just need the transponders data, so we just install those. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/dvb-apps/dvb-apps.mk | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) create mode 100644 package/dvb-apps/dvb-apps.mk diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk new file mode 100644 index 0000000..781e466 --- /dev/null +++ b/package/dvb-apps/dvb-apps.mk @@ -0,0 +1,32 @@ +############################################################# +# +# keyutils +# +############################################################# + +DVB_APPS_VERSION = 3fc7dfa68484 +DVB_APPS_SOURCE = dvb-apps-$(DVB_APPS_VERSION).tar.bz2 +DVB_APPS_SITE = http://linuxtv.org/hg/dvb-apps/archive/ + +# We just install the transponders data. As this is not a 'work' as per +# traditional copyright, but just a collection of 'facts', there's probably +# no license to apply to these data files. +# To be noted however, is that the dvb-apps package bundles a copy of the +# GPLv2 and a copy of the LGPLv2.1, and that some of the source files refer +# to either the GPLv2+ or the LGPLv2.1+. +# But since we do not use any of those source files, their license do not +# apply to us. +DVB_APPS_LICENSE = unknown (probably public domain) + +define DVB_APPS_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/share/dvb-apps/scan/atsc + mkdir -p $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-c + mkdir -p $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-s + mkdir -p $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-t + $(INSTALL) -D $(@D)/util/scan/atsc/* $(TARGET_DIR)/usr/share/dvb-apps/scan/atsc + $(INSTALL) -D $(@D)/util/scan/dvb-c/* $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-c + $(INSTALL) -D $(@D)/util/scan/dvb-s/* $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-s + $(INSTALL) -D $(@D)/util/scan/dvb-t/* $(TARGET_DIR)/usr/share/dvb-apps/scan/dvb-t +endef + +$(eval $(generic-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/2] package/dvb-apps: new package 2012-12-28 18:42 ` [Buildroot] [PATCH 1/2] package/dvb-apps: new package Yann E. MORIN @ 2012-12-28 19:45 ` Thomas Petazzoni 0 siblings, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2012-12-28 19:45 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Fri, 28 Dec 2012 19:42:11 +0100, Yann E. MORIN wrote: > We just need the transponders data, so we just install those. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > --- > package/dvb-apps/dvb-apps.mk | 32 ++++++++++++++++++++++++++++++++ > 1 files changed, 32 insertions(+), 0 deletions(-) > create mode 100644 package/dvb-apps/dvb-apps.mk > > diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk > new file mode 100644 > index 0000000..781e466 > --- /dev/null > +++ b/package/dvb-apps/dvb-apps.mk > @@ -0,0 +1,32 @@ > +############################################################# > +# > +# keyutils Some issue here :-) Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2] package/tvheadend: new package 2012-12-28 18:42 [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2012-12-28 18:42 ` [Buildroot] [PATCH 1/2] package/dvb-apps: new package Yann E. MORIN @ 2012-12-28 18:42 ` Yann E. MORIN 2012-12-28 19:48 ` Thomas Petazzoni 2012-12-28 21:26 ` [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2 siblings, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2012-12-28 18:42 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/Config.in | 1 + package/tvheadend/Config.in | 18 +++++++ package/tvheadend/S99tvheadend | 54 ++++++++++++++++++++ package/tvheadend/accesscontrol.1 | 13 +++++ package/tvheadend/etc.default.tvheadend | 7 +++ .../tvheadend-no-auto-download-dvbscans.patch | 50 ++++++++++++++++++ package/tvheadend/tvheadend.mk | 43 ++++++++++++++++ 7 files changed, 186 insertions(+), 0 deletions(-) create mode 100644 package/tvheadend/Config.in create mode 100644 package/tvheadend/S99tvheadend create mode 100644 package/tvheadend/accesscontrol.1 create mode 100644 package/tvheadend/etc.default.tvheadend create mode 100644 package/tvheadend/tvheadend-no-auto-download-dvbscans.patch create mode 100644 package/tvheadend/tvheadend.mk diff --git a/package/Config.in b/package/Config.in index 3d556b2..bcf0009 100644 --- a/package/Config.in +++ b/package/Config.in @@ -682,6 +682,7 @@ source "package/tinyhttpd/Config.in" source "package/tn5250/Config.in" source "package/transmission/Config.in" source "package/ttcp/Config.in" +source "package/tvheadend/Config.in" source "package/udpcast/Config.in" source "package/ulogd/Config.in" source "package/ushare/Config.in" diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in new file mode 100644 index 0000000..50fe4f4 --- /dev/null +++ b/package/tvheadend/Config.in @@ -0,0 +1,18 @@ +#comment "tvheadend requires a toolchain with WCHAR and LARGEFILE support" +# depends on !BR2_USE_WCHAR || !BR2_LARGEFILE + +config BR2_PACKAGE_TVHEADEND + bool "tvheadend" + select BR2_PACKAGE_OPENSSL + help + Tvheadend is a TV streaming server for Linux supporting DVB-S, + DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as + input sources. + + https://www.lonelycoder.com/redmine/projects/tvheadend/ + + Note: + - a default user has been created to log in the web configuration + GUI: admin/admin; you can change it at your discretion at runtime. + - if you want Avahi support, you'll need to enable: + Avahi, D-Bus, libdaemon diff --git a/package/tvheadend/S99tvheadend b/package/tvheadend/S99tvheadend new file mode 100644 index 0000000..407b873 --- /dev/null +++ b/package/tvheadend/S99tvheadend @@ -0,0 +1,54 @@ +#! /bin/sh +# tvheadend startup script inspired by the Debian one in the package + +# Author: Yann E. MORIN <yann.morin.1998@free.fr> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +NAME=tvheadend +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid + +[ -f "${DAEMON}" -a -x "${DAEMON}" ] || exit 0 + +# Read configuration variable file if it is present +[ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" + +ARGS="-f" +[ -z "${TVH_USER}" ] || ARGS="${ARGS} -u ${TVH_USER}" +[ -z "${TVH_GROUP}" ] || ARGS="${ARGS} -g ${TVH_GROUP}" +[ -z "${TVH_ADAPTERS}" ] || ARGS="${ARGS} -a ${TVH_ADAPTERS}" +[ -z "${TVH_HTTP_PORT}" ] || ARGS="${ARGS} -w ${TVH_HTTP_PORT}" +[ -z "${TVH_HTSP_PORT}" ] || ARGS="${ARGS} -e ${TVH_HTSP_PORT}" +[ "${TVH_DEBUG}" = "1" ] && ARGS="${ARGS} -s" + +case "$1" in + start) + printf "Starting TVHeadend daemon: " + if start-stop-daemon -S -q -p ${PIDFILE} -m --exec "${DAEMON}" -- ${ARGS}; then + printf "OK\n" + else + printf "failed\n" + fi + ;; + stop) + printf "Stoping TVHeadend daemon: " + start-stop-daemon -K -q -p ${PIDFILE} -s TERM + sleep 2 + if start-stop-daemon -K -q -p ${PIDFILE} -t; then + printf "failed, killing: " + start-stop-daemon -K -q -p ${PIDFILE} -s KILL -o + fi + printf "OK\n" + ;; + restart|force-reload) + "${0}" stop + sleep 2 + "${0}" stop + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +: diff --git a/package/tvheadend/accesscontrol.1 b/package/tvheadend/accesscontrol.1 new file mode 100644 index 0000000..b920943 --- /dev/null +++ b/package/tvheadend/accesscontrol.1 @@ -0,0 +1,13 @@ +{ + "enabled": 1, + "username": "admin", + "password": "admin", + "comment": "TVHeadend admin user", + "prefix": "0.0.0.0/0", + "streaming": 1, + "dvr": 1, + "dvrallcfg": 1, + "webui": 1, + "admin": 1, + "id": "1" +} diff --git a/package/tvheadend/etc.default.tvheadend b/package/tvheadend/etc.default.tvheadend new file mode 100644 index 0000000..c769055 --- /dev/null +++ b/package/tvheadend/etc.default.tvheadend @@ -0,0 +1,7 @@ +# Once we have a real user, we'll use it +TVH_USER=root +TVH_GROUP=root +#TVH_ADAPTERS= +#TVH_HTTP_PORT=9981 +#TVH_HTSP_PORT=9982 +#TVH_DEBUG=1 diff --git a/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch new file mode 100644 index 0000000..103f5ef --- /dev/null +++ b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch @@ -0,0 +1,50 @@ +diff -durN tvheadend-v3.3.orig//configure tvheadend-v3.3/configure +--- tvheadend-v3.3.orig//configure 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/configure 2012-12-28 17:17:23.580253413 +0100 +@@ -96,13 +96,14 @@ + # + # DVB scan + # +-if enabled linuxdvb && enabled dvbscan; then +- if [ ! -d ${ROOTDIR}/data/dvb-scan ]; then +- echo -n "Fetching dvb-scan files... " +- ${ROOTDIR}/support/getmuxlist &> /dev/null || die "Failed to fetch dvb-scan files (use --disable-dvbscan to skip)" +- echo "done" +- fi +-fi ++# For buildroot, we already installed those files via the dvb-apps package ++#if enabled linuxdvb && enabled dvbscan; then ++# if [ ! -d ${ROOTDIR}/data/dvb-scan ]; then ++# echo -n "Fetching dvb-scan files... " ++# ${ROOTDIR}/support/getmuxlist &> /dev/null || die "Failed to fetch dvb-scan files (use --disable-dvbscan to skip)" ++# echo "done" ++# fi ++#fi + + # ########################################################################### + # Write config +diff -durN tvheadend-v3.3.orig//Makefile tvheadend-v3.3/Makefile +--- tvheadend-v3.3.orig//Makefile 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/Makefile 2012-12-28 17:17:47.573497346 +0100 +@@ -180,7 +180,7 @@ + SRCS-${CONFIG_BUNDLE} += bundle.c + BUNDLES-yes += docs/html docs/docresources src/webui/static + BUNDLES-yes += data/conf +-BUNDLES-${CONFIG_DVBSCAN} += data/dvb-scan ++#BUNDLES-${CONFIG_DVBSCAN} += data/dvb-scan + BUNDLES = $(BUNDLES-yes) + + # +diff -durN tvheadend-v3.3.orig//support/posix.mk tvheadend-v3.3/support/posix.mk +--- tvheadend-v3.3.orig//support/posix.mk 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/support/posix.mk 2012-12-28 17:19:28.903121722 +0100 +@@ -12,7 +12,8 @@ + mkdir -p ${DESTDIR}${datadir}/tvheadend/$$bundle ;\ + cp -r $$bundle/* ${DESTDIR}${datadir}/tvheadend/$$bundle ;\ + done +- ++ mkdir -p ${DESTDIR}${datadir}/tvheadend/data ++ ln -s /usr/share/dvb-apps/scan ${DESTDIR}${datadir}/tvheadend/data/dvb-scan + + uninstall: + rm -f ${DESTDIR}${bindir)/tvheadend diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk new file mode 100644 index 0000000..5100781 --- /dev/null +++ b/package/tvheadend/tvheadend.mk @@ -0,0 +1,43 @@ +############################################################# +# +# tvheadend +# +############################################################## + +TVHEADEND_VERSION = v3.3 +TVHEADEND_SITE = http://github.com/tvheadend/tvheadend/tarball/$(TVHEADEND_VERSION) +TVHEADEND_LICENSE = GPLv3+ +TVHEADEND_LICENSE_FILES = LICENSE +TVHEADEND_DEPENDENCIES = host-pkgconf host-python openssl + +ifeq ($(BR2_PACKAGE_AVAHI),y) +TVHEADEND_DEPENDENCIES += avahi +endif + +#---------------------------------------------------------------------------- +# tvheadend is a little smuggler and thief! ;-) +# During the ./configure, it downloads some files from the dvb-apps +# package, so it has a list of pre-scanned tunner configurations. +# For buildroot, we add a patch that avoids doing that, but uses the +# scan files installed by the dvb-apps package +TVHEADEND_DEPENDENCIES += dvb-apps + +#---------------------------------------------------------------------------- +# To run tvheadend, we need: +# - a startup script, and its config file +# - a default DB with a tvheadend admin +define TVHEADEND_INSTALL_DB + $(INSTALL) -D package/tvheadend/accesscontrol.1 \ + $(TARGET_DIR)/root/.hts/tvheadend/accesscontrol/1 +endef +TVHEADEND_POST_INSTALL_TARGET_HOOKS = TVHEADEND_INSTALL_DB + +define TVHEADEND_INSTALL_INIT_SYSV + $(INSTALL) -D package/tvheadend/etc.default.tvheadend $(TARGET_DIR)/etc/default/tvheadend + $(INSTALL) -D package/tvheadend/S99tvheadend $(TARGET_DIR)/etc/init.d/S99tvheadend +endef + +#---------------------------------------------------------------------------- +# tvheadend is not an autotools-based package, but it is possible to +# call its ./configure script as if it were an autotools one. +$(eval $(autotools-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2] package/tvheadend: new package 2012-12-28 18:42 ` [Buildroot] [PATCH 2/2] package/tvheadend: " Yann E. MORIN @ 2012-12-28 19:48 ` Thomas Petazzoni 2012-12-28 19:54 ` Yann E. MORIN 0 siblings, 1 reply; 9+ messages in thread From: Thomas Petazzoni @ 2012-12-28 19:48 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Fri, 28 Dec 2012 19:42:12 +0100, Yann E. MORIN wrote: > @@ -0,0 +1,18 @@ > +#comment "tvheadend requires a toolchain with WCHAR and LARGEFILE support" > +# depends on !BR2_USE_WCHAR || !BR2_LARGEFILE Hum? > diff --git a/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch > new file mode 100644 > index 0000000..103f5ef > --- /dev/null > +++ b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch > @@ -0,0 +1,50 @@ > +diff -durN tvheadend-v3.3.orig//configure tvheadend-v3.3/configure > +--- tvheadend-v3.3.orig//configure 2012-09-25 15:32:31.000000000 +0200 > ++++ tvheadend-v3.3/configure 2012-12-28 17:17:23.580253413 +0100 Patch lacks description. Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2] package/tvheadend: new package 2012-12-28 19:48 ` Thomas Petazzoni @ 2012-12-28 19:54 ` Yann E. MORIN 0 siblings, 0 replies; 9+ messages in thread From: Yann E. MORIN @ 2012-12-28 19:54 UTC (permalink / raw) To: buildroot Thomas, All, On Friday 28 December 2012 Thomas Petazzoni wrote: > Dear Yann E. MORIN, > > On Fri, 28 Dec 2012 19:42:12 +0100, Yann E. MORIN wrote: > > > @@ -0,0 +1,18 @@ > > +#comment "tvheadend requires a toolchain with WCHAR and LARGEFILE support" > > +# depends on !BR2_USE_WCHAR || !BR2_LARGEFILE > > Hum? Left-over from a previous iteration. That was for pyton, but python is needed only at build-time. > > diff --git a/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch > > new file mode 100644 > > index 0000000..103f5ef > > --- /dev/null > > +++ b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch > > @@ -0,0 +1,50 @@ > > +diff -durN tvheadend-v3.3.orig//configure tvheadend-v3.3/configure > > +--- tvheadend-v3.3.orig//configure 2012-09-25 15:32:31.000000000 +0200 > > ++++ tvheadend-v3.3/configure 2012-12-28 17:17:23.580253413 +0100 > > Patch lacks description. Right. Thank you! Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem-tvheadend 2012-12-28 18:42 [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2012-12-28 18:42 ` [Buildroot] [PATCH 1/2] package/dvb-apps: new package Yann E. MORIN 2012-12-28 18:42 ` [Buildroot] [PATCH 2/2] package/tvheadend: " Yann E. MORIN @ 2012-12-28 21:26 ` Yann E. MORIN 2012-12-28 21:34 ` Peter Korsgaard 2 siblings, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2012-12-28 21:26 UTC (permalink / raw) To: buildroot Hello All! On Friday 28 December 2012 Yann E. MORIN wrote: > Here's a short series to add TVHeadend. After Thomas' review, I've pushed an updated series, to be pulled from the same location. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem-tvheadend 2012-12-28 21:26 ` [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN @ 2012-12-28 21:34 ` Peter Korsgaard 0 siblings, 0 replies; 9+ messages in thread From: Peter Korsgaard @ 2012-12-28 21:34 UTC (permalink / raw) To: buildroot >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: Yann> Hello All! Yann> On Friday 28 December 2012 Yann E. MORIN wrote: >> Here's a short series to add TVHeadend. Yann> After Thomas' review, I've pushed an updated series, to be pulled from Yann> the same location. It's a short series, could you please resend it (easier for review). -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem-tvheadend
@ 2012-12-28 21:48 Yann E. MORIN
2012-12-28 21:48 ` [Buildroot] [PATCH 2/2] package/tvheadend: new package Yann E. MORIN
0 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2012-12-28 21:48 UTC (permalink / raw)
To: buildroot
Hello All!
Here's a short series to add TVHeadend.
TVHeadend implements a PVR/DVR solution, which can record either from
a broadcast tunner (DVB-{T,S,C}, or ATSC), or IPTV multicast streams.
TVHeadend can be used as a backend by media centers, such as XBMC, or
it can be used stand-alone.
Changes v2 -> v3:
- fixed copy-paste and indentation (Thomas)
- added desc to tvheadend patch (Thomas)
Changes v1 -> v2:
- got rid of tvheadend user (Peter)
- added dvb-apps package, get rid of cutom download (Thomas)
The following changes since commit 4848386446b937d4d0d9d3e9489932ca3fcb1003:
libffi: fix mips build failures (2012-12-28 16:55:09 +0100)
are available in the git repository at:
git://gitorious.org/buildroot/buildroot.git yem-tvheadend
Yann E. MORIN (2):
package/dvb-apps: new package
package/tvheadend: new package
package/Config.in | 1 +
package/dvb-apps/dvb-apps.mk | 32 ++++++++++
package/tvheadend/Config.in | 19 ++++++
package/tvheadend/S99tvheadend | 54 ++++++++++++++++++
package/tvheadend/accesscontrol.1 | 13 ++++
package/tvheadend/etc.default.tvheadend | 7 ++
.../tvheadend-no-auto-download-dvbscans.patch | 60 ++++++++++++++++++++
package/tvheadend/tvheadend.mk | 43 ++++++++++++++
8 files changed, 229 insertions(+), 0 deletions(-)
create mode 100644 package/dvb-apps/dvb-apps.mk
create mode 100644 package/tvheadend/Config.in
create mode 100644 package/tvheadend/S99tvheadend
create mode 100644 package/tvheadend/accesscontrol.1
create mode 100644 package/tvheadend/etc.default.tvheadend
create mode 100644 package/tvheadend/tvheadend-no-auto-download-dvbscans.patch
create mode 100644 package/tvheadend/tvheadend.mk
Regards,
Yann E. MORIN
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH 2/2] package/tvheadend: new package 2012-12-28 21:48 Yann E. MORIN @ 2012-12-28 21:48 ` Yann E. MORIN 0 siblings, 0 replies; 9+ messages in thread From: Yann E. MORIN @ 2012-12-28 21:48 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/Config.in | 1 + package/tvheadend/Config.in | 19 ++++++ package/tvheadend/S99tvheadend | 54 ++++++++++++++++++ package/tvheadend/accesscontrol.1 | 13 ++++ package/tvheadend/etc.default.tvheadend | 7 ++ .../tvheadend-no-auto-download-dvbscans.patch | 60 ++++++++++++++++++++ package/tvheadend/tvheadend.mk | 43 ++++++++++++++ 7 files changed, 197 insertions(+), 0 deletions(-) create mode 100644 package/tvheadend/Config.in create mode 100644 package/tvheadend/S99tvheadend create mode 100644 package/tvheadend/accesscontrol.1 create mode 100644 package/tvheadend/etc.default.tvheadend create mode 100644 package/tvheadend/tvheadend-no-auto-download-dvbscans.patch create mode 100644 package/tvheadend/tvheadend.mk diff --git a/package/Config.in b/package/Config.in index 3d556b2..bcf0009 100644 --- a/package/Config.in +++ b/package/Config.in @@ -682,6 +682,7 @@ source "package/tinyhttpd/Config.in" source "package/tn5250/Config.in" source "package/transmission/Config.in" source "package/ttcp/Config.in" +source "package/tvheadend/Config.in" source "package/udpcast/Config.in" source "package/ulogd/Config.in" source "package/ushare/Config.in" diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in new file mode 100644 index 0000000..944e31e --- /dev/null +++ b/package/tvheadend/Config.in @@ -0,0 +1,19 @@ +comment "tvheadend requires a toolchain with LARGEFILE support" + depends on !BR2_LARGEFILE + +config BR2_PACKAGE_TVHEADEND + bool "tvheadend" + depends on BR2_LARGEFILE + select BR2_PACKAGE_OPENSSL + help + Tvheadend is a TV streaming server for Linux supporting DVB-S, + DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as + input sources. + + https://www.lonelycoder.com/redmine/projects/tvheadend/ + + Note: + - a default user has been created to log in the web configuration + GUI: admin/admin; you can change it at your discretion at runtime. + - if you want Avahi support, you'll need to enable: + Avahi, D-Bus, libdaemon diff --git a/package/tvheadend/S99tvheadend b/package/tvheadend/S99tvheadend new file mode 100644 index 0000000..407b873 --- /dev/null +++ b/package/tvheadend/S99tvheadend @@ -0,0 +1,54 @@ +#! /bin/sh +# tvheadend startup script inspired by the Debian one in the package + +# Author: Yann E. MORIN <yann.morin.1998@free.fr> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +NAME=tvheadend +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid + +[ -f "${DAEMON}" -a -x "${DAEMON}" ] || exit 0 + +# Read configuration variable file if it is present +[ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" + +ARGS="-f" +[ -z "${TVH_USER}" ] || ARGS="${ARGS} -u ${TVH_USER}" +[ -z "${TVH_GROUP}" ] || ARGS="${ARGS} -g ${TVH_GROUP}" +[ -z "${TVH_ADAPTERS}" ] || ARGS="${ARGS} -a ${TVH_ADAPTERS}" +[ -z "${TVH_HTTP_PORT}" ] || ARGS="${ARGS} -w ${TVH_HTTP_PORT}" +[ -z "${TVH_HTSP_PORT}" ] || ARGS="${ARGS} -e ${TVH_HTSP_PORT}" +[ "${TVH_DEBUG}" = "1" ] && ARGS="${ARGS} -s" + +case "$1" in + start) + printf "Starting TVHeadend daemon: " + if start-stop-daemon -S -q -p ${PIDFILE} -m --exec "${DAEMON}" -- ${ARGS}; then + printf "OK\n" + else + printf "failed\n" + fi + ;; + stop) + printf "Stoping TVHeadend daemon: " + start-stop-daemon -K -q -p ${PIDFILE} -s TERM + sleep 2 + if start-stop-daemon -K -q -p ${PIDFILE} -t; then + printf "failed, killing: " + start-stop-daemon -K -q -p ${PIDFILE} -s KILL -o + fi + printf "OK\n" + ;; + restart|force-reload) + "${0}" stop + sleep 2 + "${0}" stop + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +: diff --git a/package/tvheadend/accesscontrol.1 b/package/tvheadend/accesscontrol.1 new file mode 100644 index 0000000..b920943 --- /dev/null +++ b/package/tvheadend/accesscontrol.1 @@ -0,0 +1,13 @@ +{ + "enabled": 1, + "username": "admin", + "password": "admin", + "comment": "TVHeadend admin user", + "prefix": "0.0.0.0/0", + "streaming": 1, + "dvr": 1, + "dvrallcfg": 1, + "webui": 1, + "admin": 1, + "id": "1" +} diff --git a/package/tvheadend/etc.default.tvheadend b/package/tvheadend/etc.default.tvheadend new file mode 100644 index 0000000..c769055 --- /dev/null +++ b/package/tvheadend/etc.default.tvheadend @@ -0,0 +1,7 @@ +# Once we have a real user, we'll use it +TVH_USER=root +TVH_GROUP=root +#TVH_ADAPTERS= +#TVH_HTTP_PORT=9981 +#TVH_HTSP_PORT=9982 +#TVH_DEBUG=1 diff --git a/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch new file mode 100644 index 0000000..879cc03 --- /dev/null +++ b/package/tvheadend/tvheadend-no-auto-download-dvbscans.patch @@ -0,0 +1,60 @@ +Do not download transponder data as part of the build + +Id dvb-scan is enabled, tvheadend will download the transponders data +form the dvb-apps package. This does not play well with buildroot. + +Instead, we rely on the dvb-apps package to install those files, so +it is no longer needed to install those as part of tvheadend. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN tvheadend-v3.3.orig//configure tvheadend-v3.3/configure +--- tvheadend-v3.3.orig//configure 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/configure 2012-12-28 17:17:23.580253413 +0100 +@@ -96,13 +96,14 @@ + # + # DVB scan + # +-if enabled linuxdvb && enabled dvbscan; then +- if [ ! -d ${ROOTDIR}/data/dvb-scan ]; then +- echo -n "Fetching dvb-scan files... " +- ${ROOTDIR}/support/getmuxlist &> /dev/null || die "Failed to fetch dvb-scan files (use --disable-dvbscan to skip)" +- echo "done" +- fi +-fi ++# For buildroot, we already installed those files via the dvb-apps package ++#if enabled linuxdvb && enabled dvbscan; then ++# if [ ! -d ${ROOTDIR}/data/dvb-scan ]; then ++# echo -n "Fetching dvb-scan files... " ++# ${ROOTDIR}/support/getmuxlist &> /dev/null || die "Failed to fetch dvb-scan files (use --disable-dvbscan to skip)" ++# echo "done" ++# fi ++#fi + + # ########################################################################### + # Write config +diff -durN tvheadend-v3.3.orig//Makefile tvheadend-v3.3/Makefile +--- tvheadend-v3.3.orig//Makefile 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/Makefile 2012-12-28 17:17:47.573497346 +0100 +@@ -180,7 +180,7 @@ + SRCS-${CONFIG_BUNDLE} += bundle.c + BUNDLES-yes += docs/html docs/docresources src/webui/static + BUNDLES-yes += data/conf +-BUNDLES-${CONFIG_DVBSCAN} += data/dvb-scan ++#BUNDLES-${CONFIG_DVBSCAN} += data/dvb-scan + BUNDLES = $(BUNDLES-yes) + + # +diff -durN tvheadend-v3.3.orig//support/posix.mk tvheadend-v3.3/support/posix.mk +--- tvheadend-v3.3.orig//support/posix.mk 2012-09-25 15:32:31.000000000 +0200 ++++ tvheadend-v3.3/support/posix.mk 2012-12-28 17:19:28.903121722 +0100 +@@ -12,7 +12,8 @@ + mkdir -p ${DESTDIR}${datadir}/tvheadend/$$bundle ;\ + cp -r $$bundle/* ${DESTDIR}${datadir}/tvheadend/$$bundle ;\ + done +- ++ mkdir -p ${DESTDIR}${datadir}/tvheadend/data ++ ln -s /usr/share/dvb-apps/scan ${DESTDIR}${datadir}/tvheadend/data/dvb-scan + + uninstall: + rm -f ${DESTDIR}${bindir)/tvheadend diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk new file mode 100644 index 0000000..5100781 --- /dev/null +++ b/package/tvheadend/tvheadend.mk @@ -0,0 +1,43 @@ +############################################################# +# +# tvheadend +# +############################################################## + +TVHEADEND_VERSION = v3.3 +TVHEADEND_SITE = http://github.com/tvheadend/tvheadend/tarball/$(TVHEADEND_VERSION) +TVHEADEND_LICENSE = GPLv3+ +TVHEADEND_LICENSE_FILES = LICENSE +TVHEADEND_DEPENDENCIES = host-pkgconf host-python openssl + +ifeq ($(BR2_PACKAGE_AVAHI),y) +TVHEADEND_DEPENDENCIES += avahi +endif + +#---------------------------------------------------------------------------- +# tvheadend is a little smuggler and thief! ;-) +# During the ./configure, it downloads some files from the dvb-apps +# package, so it has a list of pre-scanned tunner configurations. +# For buildroot, we add a patch that avoids doing that, but uses the +# scan files installed by the dvb-apps package +TVHEADEND_DEPENDENCIES += dvb-apps + +#---------------------------------------------------------------------------- +# To run tvheadend, we need: +# - a startup script, and its config file +# - a default DB with a tvheadend admin +define TVHEADEND_INSTALL_DB + $(INSTALL) -D package/tvheadend/accesscontrol.1 \ + $(TARGET_DIR)/root/.hts/tvheadend/accesscontrol/1 +endef +TVHEADEND_POST_INSTALL_TARGET_HOOKS = TVHEADEND_INSTALL_DB + +define TVHEADEND_INSTALL_INIT_SYSV + $(INSTALL) -D package/tvheadend/etc.default.tvheadend $(TARGET_DIR)/etc/default/tvheadend + $(INSTALL) -D package/tvheadend/S99tvheadend $(TARGET_DIR)/etc/init.d/S99tvheadend +endef + +#---------------------------------------------------------------------------- +# tvheadend is not an autotools-based package, but it is possible to +# call its ./configure script as if it were an autotools one. +$(eval $(autotools-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-12-28 21:48 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-28 18:42 [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2012-12-28 18:42 ` [Buildroot] [PATCH 1/2] package/dvb-apps: new package Yann E. MORIN 2012-12-28 19:45 ` Thomas Petazzoni 2012-12-28 18:42 ` [Buildroot] [PATCH 2/2] package/tvheadend: " Yann E. MORIN 2012-12-28 19:48 ` Thomas Petazzoni 2012-12-28 19:54 ` Yann E. MORIN 2012-12-28 21:26 ` [Buildroot] [pull request] Pull request for branch yem-tvheadend Yann E. MORIN 2012-12-28 21:34 ` Peter Korsgaard -- strict thread matches above, loose matches on Subject: below -- 2012-12-28 21:48 Yann E. MORIN 2012-12-28 21:48 ` [Buildroot] [PATCH 2/2] package/tvheadend: new package Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox