Project

General

Profile

Tvheadend gentoo » History » Revision 11

Revision 10 (William Peters, 2010-02-06 14:51) → Revision 11/16 (William Peters, 2010-10-29 11:42)

This article describes how to build Tvheadend from source

Make sure you have avahi and subversion installed, these are required to build Tvheadend

{{{
# emerge -av avahi subversion
}}}

now create the following directories

{{{
mkdir -p /opt/tvheadend/src
}}}

now you need to check out the Tvheadend source code using svn

{{{
svn co svn://svn.lonelycoder.com/hts/trunk/tvheadend /opt/tvheadend/src/
}}}

now you need to prepare the Tvheadend source code

{{{
cd /opt/tvheadend/src
./configure --prefix=/opt/tvheadend
}}}

if all went well you can compile the Tvheadend source code

{{{
make
}}}

If the source is compiled with no errors you can install the compiled source

{{{
make install
}}}

if you want you can also create this init script to start Tvheadend at boot time

/etc/init.d/tvheadend
{{{
#!/sbin/runscript
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header:

TVH_PIDFILE="/var/run/tvheadend.pid"
TVH_BIN="/opt/tvheadend/bin/tvheadend"
TVH_OPTS="-f -C"

depend() {
need net
}

start() {
ebegin "Starting tvheadend" Tvheadend"
start-stop-daemon --start --pidfile ${TVH_PIDFILE} \
--user ${TVHUSER} \
--exec ${TVHBIN} ${TVH_BIN} -- -C -f ${TVH_OPTS}
eend $?
}

stop() {
ebegin "Stopping tvheadend" Tvheadend"
start-stop-daemon --stop --quiet --name ${TVHNAME} --pidfile ${TVH_PIDFILE} --signal 2
eend $?
rm -f ${PIDFILE}

}
}}}

/etc/conf.d/tvheadend

{{{
# /etc/conf.d/tvheadend: config file for /etc/init.d/tvheadend

TVHROOT="/opt/tvheadend"
TVHNAME="tvheadend"
TVHBIN="${TVHROOT}/bin/${TVHNAME}"
TVHUSER="${TVHNAME}"
}}}

now set /etc/init.d/tvheadend as executable

{{{
chmod +x /etc/init.d/tvheadend
}}}

Create a user for Tvheadend

{{{
useradd -d /opt/tvheadend/home/ -G tvheadend -s /sbin/nologin -m tvheadend

}}}

now you can try to start Tvheadend

{{{
/etc/init.d/tvheadend start
}}}

if this works fine you can also add it to runlevel default so Tvheadend starts automatically

{{{
rc-update add tvheadend default
}}}

now you can go to [http://hostname:9981/ http://hostname:9981/] and start using/configuring Tvheadend