diff options
-rw-r--r-- | multimedia/mythtv/README | 16 | ||||
-rw-r--r-- | multimedia/mythtv/doinst.sh | 29 | ||||
-rw-r--r-- | multimedia/mythtv/mythtv.SlackBuild | 95 | ||||
-rw-r--r-- | multimedia/mythtv/mythtv.info | 8 | ||||
-rw-r--r-- | multimedia/mythtv/rc.mythbackend.new | 55 | ||||
-rw-r--r-- | multimedia/mythtv/slack-desc | 19 |
6 files changed, 222 insertions, 0 deletions
diff --git a/multimedia/mythtv/README b/multimedia/mythtv/README new file mode 100644 index 000000000000..a4868b861491 --- /dev/null +++ b/multimedia/mythtv/README @@ -0,0 +1,16 @@ +MythTV is a GPL licensed suite of programs that allow you to build the +mythical home media convergence box on your own using Open Source software +and operating systems. MythTV is known to work on Linux and Mac OS X +(PowerPC and Intel). + +You need to create a database before you can run mythtv: +> mysql -u root -p < /usr/share/mythtv/database/mc.sql + +Then run mythtv-setup to configure mythtv +> mythtv-setup + +Detailed instructions for mythtv can be found here: + http://www.mythtv.org/wiki/index.php/User_Manual:Initial_Installation + +Mythtv requires lame, and optionally can use xmltv (to create the program +listings if you live outside of North America) and lirc (for IR remote control) diff --git a/multimedia/mythtv/doinst.sh b/multimedia/mythtv/doinst.sh new file mode 100644 index 000000000000..af950863e64a --- /dev/null +++ b/multimedia/mythtv/doinst.sh @@ -0,0 +1,29 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.mythbackend.new: +if [ -e etc/rc.d/rc.mythbackend ]; then + cp -a etc/rc.d/rc.mythbackend etc/rc.d/rc.mythbackend.new.incoming + cat etc/rc.d/rc.mythbackend.new > etc/rc.d/rc.mythbackend.new.incoming + mv etc/rc.d/rc.mythbackend.new.incoming etc/rc.d/rc.mythbackend.new +fi + +config etc/rc.d/rc.mythbackend.new + +echo +echo "Extra configuration needed..." +echo +echo "A mythtv mysql database needs to be setup and" +echo "mythtv-setup has to be run; see the README" +echo + diff --git a/multimedia/mythtv/mythtv.SlackBuild b/multimedia/mythtv/mythtv.SlackBuild new file mode 100644 index 000000000000..884ce059a042 --- /dev/null +++ b/multimedia/mythtv/mythtv.SlackBuild @@ -0,0 +1,95 @@ +#!/bin/sh + +# Slackware build script for mythtv +# http://www.mythtv.org/ + +# Copyright 2006-2007 David Somero (dsomero@hotmail.com) +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=mythtv +VERSION=0.20.2 +ARCH=${ARCH:-i686} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=${TMP}/package-${PRGNAM} +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +./configure --prefix=/usr \ + --compile-type=release \ + --disable-ccache \ + --disable-distcc \ + --disable-freebox \ + --disable-dbox2 \ + --disable-hdhomerun \ + --arch=$ARCH \ + --tune=i686 \ + --cpu=$ARCH \ + --enable-dvb \ + --dvb-path=/usr/include \ + --with-bindings=perl \ + --enable-proc-opt \ + --enable-xvmc \ + --enable-opengl-vsync + +qmake $PRGNAM.pro +make +make INSTALL_ROOT="$PKG" install + +# Copy some other needed stuff to /usr/share/mythtv +cp -a database contrib $PKG/usr/share/$PRGNAM + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING FAQ keys.txt README UPGRADING docs/* configfiles \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +( cd $PKG/usr/doc ; ln -s $PRGNAM-$VERSION $PRGNAM ) + +# Install init script +install -D -m 0755 $CWD/rc.mythbackend.new $PKG/etc/rc.d/rc.mythbackend.new + +# Remove perlocal.pod and .packlist from $PKG +( cd $PKG + find . -name "perllocal.pod" -o -name ".packlist" -o -name "*.bs" | xargs rm -f +) + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/install +cat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/multimedia/mythtv/mythtv.info b/multimedia/mythtv/mythtv.info new file mode 100644 index 000000000000..ce68acfd9fb4 --- /dev/null +++ b/multimedia/mythtv/mythtv.info @@ -0,0 +1,8 @@ +PRGNAM="mythtv" +VERSION="0.20.2" +HOMEPAGE="http://www.mythtv.org/" +DOWNLOAD="http://ftp.osuosl.org/pub/mythtv/mythtv-0.20.2.tar.bz2" +MD5SUM="db7ab2049e716349e43edf8e67458218" +MAINTAINER="David Somero" +EMAIL="dsomero@hotmail.com " +APPROVED="rworkman" diff --git a/multimedia/mythtv/rc.mythbackend.new b/multimedia/mythtv/rc.mythbackend.new new file mode 100644 index 000000000000..5b2cbee30ef0 --- /dev/null +++ b/multimedia/mythtv/rc.mythbackend.new @@ -0,0 +1,55 @@ +#!/bin/sh +# Start/stop/restart mythbackend +# +# Modification done by Benoit Beauchamp, based on rc.mysqld by +# +# Copyright 2003 Patrick J. Volkerding, Concord, CA +# Copyright 2003 Slackware Linux, Inc., Concord, CA +# +# This program comes with NO WARRANTY, to the extent permitted by law. +# You may redistribute copies of this program under the terms of the +# GNU General Public License. +# + +# Start mythbackend: +myth_start() { + if [ -x /usr/bin/mythbackend ]; then + # If there is an old PID file (no mythbackend running), clean it up: + if [ -r /var/run/mythbackend.pid ]; then + if ! ps axc | grep mythbackend 1> /dev/null 2> /dev/null ; then + echo "Cleaning up old /var/run/mythbackend.pid." + rm -f /var/run/mythbackend.pid + fi + fi + /usr/bin/mythbackend -l /var/log/mythbackend.log -v important,general -p /var/run/mythbackend.pid -d + fi +} + +# Stop mythbackend: +myth_stop() { + # If there is no PID file, ignore this request... + if [ -r /var/run/mythbackend.pid ]; then + killall mythbackend + rm -f /var/run/mythbackend.pid + fi +} + +# Restart mythbackend: +myth_restart() { + myth_stop + myth_start +} + +case "$1" in +'start') + myth_start + ;; +'stop') + myth_stop + ;; +'restart') + myth_restart + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/multimedia/mythtv/slack-desc b/multimedia/mythtv/slack-desc new file mode 100644 index 000000000000..9f22689749fb --- /dev/null +++ b/multimedia/mythtv/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +mythtv: MythTV (http://www.mythtv.org/) +mythtv: +mythtv: MythTV is a GPL licensed suite of programs that allow you +mythtv: to build the mythical home media convergence (PVR / DVR) +mythtv: box on your own using Open Source software and operating +mythtv: systems. +mythtv: +mythtv: +mythtv: +mythtv: +mythtv: |