diff options
author | root <root@rshg054.dnsready.net> | 2012-07-08 00:04:04 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-07-08 00:04:04 +0000 |
commit | a522a5f63f3b5726081698bf742801fb1d242817 (patch) | |
tree | ee7d4e7261e7387e755d2a08389250575a4e2552 /community-testing/mythtv | |
parent | d0fe8a4769150cf26265e3457c234c45c53e693b (diff) |
Sun Jul 8 00:04:04 UTC 2012
Diffstat (limited to 'community-testing/mythtv')
-rw-r--r-- | community-testing/mythtv/PKGBUILD | 73 | ||||
-rw-r--r-- | community-testing/mythtv/mythbackend.conf | 53 | ||||
-rw-r--r-- | community-testing/mythtv/mythbackend.rc | 73 | ||||
-rw-r--r-- | community-testing/mythtv/mythbackend.service | 12 | ||||
-rw-r--r-- | community-testing/mythtv/mythtv.install | 20 |
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 +} |