summaryrefslogtreecommitdiff
path: root/community-testing/mythtv
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-07-08 00:04:04 +0000
committerroot <root@rshg054.dnsready.net>2012-07-08 00:04:04 +0000
commita522a5f63f3b5726081698bf742801fb1d242817 (patch)
treeee7d4e7261e7387e755d2a08389250575a4e2552 /community-testing/mythtv
parentd0fe8a4769150cf26265e3457c234c45c53e693b (diff)
Sun Jul 8 00:04:04 UTC 2012
Diffstat (limited to 'community-testing/mythtv')
-rw-r--r--community-testing/mythtv/PKGBUILD73
-rw-r--r--community-testing/mythtv/mythbackend.conf53
-rw-r--r--community-testing/mythtv/mythbackend.rc73
-rw-r--r--community-testing/mythtv/mythbackend.service12
-rw-r--r--community-testing/mythtv/mythtv.install20
5 files changed, 231 insertions, 0 deletions
diff --git a/community-testing/mythtv/PKGBUILD b/community-testing/mythtv/PKGBUILD
new file mode 100644
index 000000000..65a66b19c
--- /dev/null
+++ b/community-testing/mythtv/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 73356 2012-07-06 15:47:35Z ibiru $
+# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: <kleptophobiac@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=mythtv
+pkgver=0.25.1
+pkgrel=2
+epoch=1
+pkgdesc="A Homebrew PVR project"
+arch=('i686' 'x86_64')
+url="http://www.mythtv.org/"
+license=('GPL')
+depends=('avahi' 'fftw' 'lame' 'libass' 'libavc1394' 'libcdio' 'libiec61883'
+ 'libpulse' 'libva' 'libvdpau' 'libxinerama' 'lirc-utils' 'mesa'
+ 'mysql-clients' 'mysql-python' 'perl-dbd-mysql' 'perl-io-socket-inet6'
+ 'perl-libwww' 'perl-net-upnp' 'python2-lxml' 'qtwebkit' 'urlgrabber'
+ 'x264')
+makedepends=('glew' 'libcec' 'libxml2' 'openssl' 'yasm')
+optdepends=('glew: for GPU commercial flagging'
+ 'libcec: for consumer electronics control capabilities'
+ 'libxml2: to read blu-ray metadata'
+ 'openssl: for AirTunes (RAOP) support'
+ 'xmltv: to download tv listings')
+conflicts=('myththemes' 'mythplugins-mythvideo')
+replaces=('myththemes' 'mythplugins-mythvideo')
+backup=('etc/conf.d/mythbackend')
+install='mythtv.install'
+source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'mythbackend.rc'
+ 'mythbackend.conf'
+ 'mythbackend.service')
+md5sums=('4d6375cc3a820abdb2ac5300734687ac'
+ 'c8f935d42fb8617e9279bd539811ca5f'
+ 'ab962d83614cbd0ac11ce3fcc929829d'
+ '813008d14a44e9c6212f364723aeaa74')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ find 'bindings/python' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ sed -re 's@Key, &@Key, @' -i 'bindings/php/MythBase.php'
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-ccache \
+ --disable-distcc \
+ --enable-libfftw3 \
+ --enable-libmp3lame \
+ --enable-libx264 \
+ --enable-vaapi \
+ --python=python2
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -D -m755 "$srcdir/mythbackend.rc" "$pkgdir/etc/rc.d/mythbackend"
+ install -D -m644 "$srcdir/mythbackend.conf" "$pkgdir/etc/conf.d/mythbackend"
+ install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service"
+ install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql"
+
+ mkdir -p "$pkgdir/usr/share/mythtv"
+ cp -R 'contrib' "$pkgdir/usr/share/mythtv"
+ mkdir -p "$pkgdir/var/log/mythtv"
+}
diff --git a/community-testing/mythtv/mythbackend.conf b/community-testing/mythtv/mythbackend.conf
new file mode 100644
index 000000000..49bbca877
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.conf
@@ -0,0 +1,53 @@
+#
+# Copyright (c) by the MythTV Development Team.
+#
+# Derived from work by:
+#
+# Michael Thomson <linux at m-thomson dot net>
+# Stu Tomlinson <stu at nosnilmot dot com>
+# Axel Thimm <axel.thimm at atrpms dot net>
+# Adopted for ArchLinux:
+# Jürgen Hoetzel <juergen@archinux.org>
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+###############################################################################
+#
+# User who should start the mythbackend process
+#
+# Running mythbackend as non-root requires you to ensure that audio/video
+# devices used for recording have suitable user permissions. One way
+# to achieve this is to modify existing or create new udev rules which
+# assign these devices to a non-root group with rw permissions and add
+# your mythbackend user to that group. Be aware that console.perms can
+# also affect device permissions and may need additional configuration.
+# Running as non-root may also introduce increased process latency.
+#
+# MBE_USER='root'
+
+#
+# Startup options for mythbackend (see 'mythbackend --help' for a list).
+#
+# MBE_OPTS=''
+
+#
+# Directory holding the mythbackend log file
+#
+# LOG_PATH='/var/log/mythtv'
+
+#
+# Logging options for mythbackend (see 'mythbackend -v help' for a list)
+#
+# LOG_OPTS=''
diff --git a/community-testing/mythtv/mythbackend.rc b/community-testing/mythtv/mythbackend.rc
new file mode 100644
index 000000000..488b4cb8e
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.rc
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/profile
+
+###############################################################################
+# Default values to use if none are supplied in the config file.
+#
+# User who should start the mythbackend process
+MBE_USER='mythtv'
+
+# Startup options for mythbackend
+MBE_OPTS=''
+
+# Directory holding the mythbackend log file
+LOG_PATH='/var/log/mythtv'
+
+# Logging options for mythbackend
+LOG_OPTS=''
+###############################################################################
+
+CONFIG_FILE=/etc/conf.d/mythbackend
+PIDFILE=/var/run/mythbackend.pid
+
+if [[ -r "$CONFIG_FILE" ]]; then
+ . "$CONFIG_FILE"
+fi
+
+PID="$(cat "$PIDFILE" 2> /dev/null || pidof mythbackend)"
+export HOME="$(getent passwd "$MBE_USER" | cut -d : -f 6)"
+
+case "$1" in
+ start)
+ stat_busy "Starting MythTV Backend"
+
+ if [[ "$PID" -gt 0 ]] && kill -0 "$PID"; then
+ stat_fail
+ exit 0
+ fi
+
+ touch "$PIDFILE"
+ chown "$MBE_USER" "$PIDFILE" "$LOG_PATH"
+
+ MBE_CMD="/usr/bin/mythbackend --daemon \
+ --logpath "$LOG_PATH" $LOG_OPTS \
+ --pidfile "$PIDFILE" $MBE_OPTS"
+ if su "$MBE_USER" -c "$MBE_CMD"; then
+ add_daemon mythbackend
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MythTV Backend"
+ if [[ "$PID" -gt 0 ]] && kill "$PID" &> /dev/null; then
+ rm_daemon mythbackend
+ stat_done
+ rm -f "$PIDFILE"
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ "$0" stop
+ "$0" start
+ ;;
+ *)
+ echo "usage: $0 (start|stop|restart)"
+ ;;
+esac
+exit 0
diff --git a/community-testing/mythtv/mythbackend.service b/community-testing/mythtv/mythbackend.service
new file mode 100644
index 000000000..9d92bd644
--- /dev/null
+++ b/community-testing/mythtv/mythbackend.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=MythTV Backend
+After=network.target mysqld.service
+
+[Service]
+Type=simple
+Environment=HOME=/var/lib/mythtv
+User=mythtv
+ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/mythtv/mythtv.install b/community-testing/mythtv/mythtv.install
new file mode 100644
index 000000000..eed25b868
--- /dev/null
+++ b/community-testing/mythtv/mythtv.install
@@ -0,0 +1,20 @@
+post_upgrade() {
+ if ! getent passwd mythtv &>/dev/null; then
+ getent group mythtv &>/dev/null || groupadd -r mythtv >/dev/null
+ useradd -rmd /var/lib/mythtv -g mythtv -G video,audio,optical -s /bin/bash mythtv >/dev/null
+ fi
+}
+
+post_install() {
+ echo -e "For installation information, visit:\nhttps://wiki.archlinux.org/index.php/MythTV"
+
+ post_upgrade
+}
+
+post_remove() {
+ echo -e "The MythTV database was not removed. To remove it, run:\n mysql -u root -e 'drop database mythconverg;'"
+ [ -d var/lib/mythtv ] && echo "The MythTV home directory /var/lib/mythtv can also be removed."
+
+ getent passwd mythtv &>/dev/null && userdel mythtv >/dev/null
+ getent group mythtv &>/dev/null && groupdel mythtv >/dev/null
+}