summaryrefslogtreecommitdiff
path: root/multimedia/mythplugins
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/mythplugins')
-rw-r--r--multimedia/mythplugins/README3
-rw-r--r--multimedia/mythplugins/doinst.sh14
-rw-r--r--multimedia/mythplugins/mythplugins.SlackBuild49
-rw-r--r--multimedia/mythplugins/mythplugins.info8
-rw-r--r--multimedia/mythplugins/mythweb.conf243
5 files changed, 294 insertions, 23 deletions
diff --git a/multimedia/mythplugins/README b/multimedia/mythplugins/README
index fd3aae8c3a..30460716f4 100644
--- a/multimedia/mythplugins/README
+++ b/multimedia/mythplugins/README
@@ -2,7 +2,8 @@ All the official MythTV plugins, including MythArchive, MythControls, MythDVD,
MythFlix, MythGallery, MythGame, MythMusic, MythNews, MythPhone, MythVideo,
MythWeather, and MythWeb.
-This requires mythtv, xmltv_prereq, and lame.
+This requires mythtv, xmltv_prereq, perl-XML-XPath, perl-Image-Size,
+perl-DateTime-Format-ISO8601, libcdaudio, dvdauthor and lame.
Some of these plugins require extra work to get them functional. See the
README files in /usr/doc/mythplugins for extra steps, configuration, and
diff --git a/multimedia/mythplugins/doinst.sh b/multimedia/mythplugins/doinst.sh
new file mode 100644
index 0000000000..f0cc41aa4c
--- /dev/null
+++ b/multimedia/mythplugins/doinst.sh
@@ -0,0 +1,14 @@
+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...
+}
+
+config etc/httpd/extra/mythweb.conf.new
diff --git a/multimedia/mythplugins/mythplugins.SlackBuild b/multimedia/mythplugins/mythplugins.SlackBuild
index 97eebb773a..c8385210b5 100644
--- a/multimedia/mythplugins/mythplugins.SlackBuild
+++ b/multimedia/mythplugins/mythplugins.SlackBuild
@@ -3,7 +3,11 @@
# Slackware build script for mythtvplugins
# http://www.mythtv.org/
-# Copyright 2006-2009 David Somero (dsomero@hotmail.com) Athens,TN USA
+# Written by David Somero <dsomero@hotmail.com>
+# Derived from Slackware's Slackbuilds.
+#
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010 David Somero (dsomero@hotmail.com) Athens, TN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -12,19 +16,19 @@
# 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.
+# 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=mythplugins
-VERSION=0.22
+VERSION=0.23.1
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -43,6 +47,10 @@ TMP=${TMP:-/tmp/SBo}
PKG=${TMP}/package-${PRGNAM}
OUTPUT=${OUTPUT:-/tmp}
+DOCOWN=${DOCOWN:-apache}
+DOCGRP=${DOCGRP:-apache}
+DOCROOT=${DOCROOT:-"/srv/httpd/htdocs/mythweb"}
+
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
@@ -74,25 +82,29 @@ find . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr
+./configure \
+ --prefix=/usr \
+ --libdir-name=lib${LIBDIRSUFFIX}
qmake $PRGNAM.pro
make
make INSTALL_ROOT="$PKG" install
-cp -a mythweb $PKG/usr/share/mythtv/
+# Install mythweb.
+mkdir -p $PKG$DOCROOT
+cp -a mythweb/* $PKG$DOCROOT
+chown -R $DOCOWN:$DOCGRP $PKG$DOCROOT
+install -D -m0644 $CWD/mythweb.conf $PKG/etc/httpd/extra/mythweb.conf.new
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Remove perllocal.pod and other special files that don't need to be installed
-( cd $PKG
- find . -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f
-)
+find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
( PATHS=$(ls -d */ | xargs -l basename)
- for i in $PATHS; do
+ for i in $PATHS; do
[ -f $i/README ] && cp $i/README $PKG/usr/doc/$PRGNAM-$VERSION/README.$i ;
[ -f $i/AUTHORS ] && cp $i/AUTHORS $PKG/usr/doc/$PRGNAM-$VERSION/AUTHORS.$i ;
[ -f $i/COPYING ] && cp $i/COPYING $PKG/usr/doc/$PRGNAM-$VERSION/COPYING.$i ;
@@ -104,6 +116,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/multimedia/mythplugins/mythplugins.info b/multimedia/mythplugins/mythplugins.info
index 73d0e13a3c..a39c4055b6 100644
--- a/multimedia/mythplugins/mythplugins.info
+++ b/multimedia/mythplugins/mythplugins.info
@@ -1,10 +1,10 @@
PRGNAM="mythplugins"
-VERSION="0.22"
+VERSION="0.23.1"
HOMEPAGE="http://www.mythtv.org/"
-DOWNLOAD="http://ftp.osuosl.org/pub/mythtv/mythplugins-0.22.tar.bz2"
-MD5SUM="09c8fa1058399a0c5db169a71561e985"
+DOWNLOAD="http://ftp.osuosl.org/pub/mythtv/mythplugins-0.23.1.tar.bz2"
+MD5SUM="edd9c5f8a9ae0189b1c8951fa8282c4d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="David Somero"
EMAIL="dsomero@hotmail.com"
-APPROVED="rwokrman"
+APPROVED="Erik Hanson"
diff --git a/multimedia/mythplugins/mythweb.conf b/multimedia/mythplugins/mythweb.conf
new file mode 100644
index 0000000000..86ad6806e0
--- /dev/null
+++ b/multimedia/mythplugins/mythweb.conf
@@ -0,0 +1,243 @@
+#
+# Apache configuration directives for MythWeb. Please read INSTALL for setup
+# requirements and troubleshooting, along with the comments in this file.
+#
+
+#
+# CHANGE THIS PATH TO MATCH YOUR MYTHWEB INSTALLATION DIRECTORY! e.g.
+#
+# /var/www
+# /home/www/htdocs
+# /var/www/html/mythweb
+# /srv/httpd/htdocs/mythweb
+#
+Alias /mythweb/ "/srv/httpd/htdocs/mythweb/"
+<Directory "/srv/httpd/htdocs/mythweb">
+
+ ############################################################################
+ # I *strongly* urge you to turn on authentication for MythWeb. It is disabled
+ # by default because it requires you to set up your own password file. Please
+ # see the man page for htdigest and then configure the folowing four directives
+ # to suit your authentication needs.
+ #
+ # AuthType Digest
+ # AuthName "MythWeb"
+ # AuthUserFile /etc/httpd/extra/mythweb-htdigest
+ # Require valid-user
+ # BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
+ # Order allow,deny
+ # Satisfy any
+ #
+ # * If you're running Apache earlier than 2.2, you will need to use
+ # the AuthDigestFile command instead of AuthUserFile (3rd line above).
+ #
+
+ ############################################################################
+ # Some special instructions for the MythWeb controller files
+ #
+ <Files mythweb.*>
+
+ #
+ # Use the following environment settings to tell MythWeb where you want it to
+ # look to connect to the database, the name of the database to connect to, and
+ # the authentication info to use to connect. The defaults will usually work
+ # fine unless you've changed mythtv's mysql.txt file, or are running MythWeb on
+ # a different server from your main backend. Make sure you have mod_env enabled.
+ #
+ setenv db_server "localhost"
+ setenv db_name "mythconverg"
+ setenv db_login "mythtv"
+ setenv db_password "mythtv"
+
+ #
+ # By default, MythWeb uses the hostname program to look up the hostname of the
+ # machine it runs on. If this reports incorrect data, or you run MythWeb on a
+ # machine without the hostname program, set this to your current hostname.
+ #
+ # setenv hostname "my_mythbox"
+ #
+
+ # By default, php will always search the current directory for include files,
+ # but if you wish to install these directories outside of the current path
+ # (eg. for security reasons), set this variable to the directory that
+ # contains the directories like languages and templates. eg.
+ #
+ # setenv include_path "/srv/httpd/htdocs/mythweb"
+
+ # If you want MythWeb to email php/database errors (and a backtrace) to you,
+ # uncomment and set the email address below.
+ #
+ # setenv error_email "mythweb_errors@example.com"
+ #
+
+ # If your local file system is something other than UTF-8, set this variable
+ # so that the music and video portions of MythWeb can provide proper links
+ # to your downloadable files.
+ #
+ # setenv fs_encoding "ISO-8859-1"
+
+ </Files>
+
+ ############################################################################
+ # The following settings relate to PHP config.
+ #
+
+ <Files *.php>
+
+ # These settings are intended for apache 2.x. If your version of apache
+ # doesn't support php_value, or things like memory_limit aren't working
+ # as expected, then use these settings as examples for your own php.ini
+ # files.
+ php_value safe_mode 0
+
+ php_value memory_limit 32M
+
+ php_value register_globals 0
+ php_value magic_quotes_gpc 0
+ php_value file_uploads 0
+ php_value allow_url_fopen On
+
+ php_value zlib.output_handler Off
+ php_value output_handler NULL
+
+ # Note: php_flag does not work in older versions of php
+ php_flag output_handler "NULL"
+
+ </Files>
+
+ ############################################################################
+ # The settings below relate specifically to mod_rewrite and the rewrite
+ # engine used to make the MythWeb user experience a little easier to deal
+ # with by simplifying the URLs needed to access the various sections. Do
+ # not touch these settings unless you really know what you're doing..
+ #
+
+ # Turn on the rewrite engine
+ RewriteEngine on
+
+ # If MythWeb is installed outside of the document root (eg. using Alias) then
+ # you will need to set this directive to the base URL that MythWeb is visible
+ # from externally. If you do not, the web server will return 'not found'.
+ RewriteBase /mythweb
+
+ # Skip out early if we've already been through rewrites,
+ # or if this is a /css/, /js/ or /cache/ directory request.
+ RewriteRule ^(css|data|images|js|themes|skins|[a-z_]+\.(php|pl))(/|$) - [L]
+
+ # Redirect /pl/ requests to the perl cgi handler.
+ RewriteRule ^(pl(/.*)?)$ mythweb.pl/$1 [QSA,L]
+
+ # Redirect most of the remaining URL requests to the main mythweb script.
+ # It will then handle any requests given to it.
+ RewriteRule ^(.+)$ mythweb.php/$1 [QSA,L]
+
+ # If you're experiencing trouble with the previous two lines in your copy of
+ # apache, you could instead use something like:
+ # RewriteRule ^(pl(/.*)?)$ mythweb.pl?PATH_INFO=/$1 [L,QSA]
+ # RewriteRule ^(.+)$ mythweb.php?PATH_INFO=/$1 [L,QSA]
+
+ # Catch anything else that comes through and send it to mythweb.php with no parameters.
+ RewriteRule ^(.*)$ mythweb.php [QSA,L]
+
+ ############################################################################
+ # You really shouldn't need to edit anything below this line, so please
+ # don't unless you know what you're doing.
+ #
+
+ # Allow .htaccess to override whatever it wants from the server config.
+ AllowOverride All
+
+ # Allow browsers to follow symlinks that point outside of the web document
+ # tree. This is how we access music, videos, etc.
+ Options FollowSymLinks
+
+ # MythTV now uses the correct file suffix for mpeg files, so all .nuv files
+ # should actually be NuppleVideo. However, apache probably doesn't know what
+ # those are, so we should tell it.
+ AddType video/nuppelvideo .nuv
+
+ # Specify the MIME type for favicon.ico in case the server configuration
+ # doesn't or in case the server configuration uses the IANA-approved MIME type
+ # (image/vnd.microsoft.icon)--which most browsers won't recognize.
+ AddType image/x-icon .ico
+
+ # Enable mod_deflate. This works MUCH more reliably than PHP's built-in
+ # gzip/Zlib compressors. It is disabled here because many distros seem not
+ # to enable mod_deflate by default, but I strongly recommend that you
+ # enable this section.
+ #
+ BrowserMatch ^Mozilla/4 gzip-only-text/html
+ BrowserMatch ^Mozilla/4\.0[678] no-gzip
+ BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
+ #
+ AddOutputFilterByType DEFLATE text/html
+ AddOutputFilterByType DEFLATE text/css
+ AddOutputFilterByType DEFLATE application/x-javascript
+
+ # This is helpful for mod_deflate -- it prevents proxies from changing
+ # the user agent to/from this server, which can prevent compression from
+ # being enabled. It is disabled here because many distros seem not to
+ # enable mod_headers by default, but I recommend that you enable it.
+ #
+ Header append Vary User-Agent env=!dont-vary
+
+ # Set up the perl handler so we can stream properly.
+ #
+ # IMPORTANT!! Please see the note in INSTALL section 5.1 that explains why
+ # this may not always properly detect mod_perl.
+ #
+ <Files *.pl>
+ <IfModule mod_perl.c>
+ SetHandler perl-script
+ PerlResponseHandler ModPerl::Registry
+ PerlOptions +ParseHeaders
+ </IfModule>
+ <IfModule !mod_perl.c>
+ SetHandler cgi-script
+ </IfModule>
+ Options +ExecCGI
+ </Files>
+ #
+ # Possible values for the Options directive are "None", "All",
+ # or any combination of:
+ # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
+ #
+ # Note that "MultiViews" must be named *explicitly* --- "Options All"
+ # doesn't give it to you.
+ #
+ # The Options directive is both complicated and important. Please see
+ # http://httpd.apache.org/docs/2.2/mod/core.html#options
+ # for more information.
+ #
+ Options Indexes FollowSymLinks
+
+ #
+ # AllowOverride controls what directives may be placed in .htaccess files.
+ # It can be "All", "None", or any combination of the keywords:
+ # Options FileInfo AuthConfig Limit
+ #
+ AllowOverride All
+
+ #
+ # Controls who can get stuff from this server.
+ #
+ Order allow,deny
+ Allow from all
+
+</Directory>
+
+<Directory "/srv/httpd/htdocs/mythweb/data">
+ Options -All +FollowSymLinks +IncludesNoExec
+</Directory>
+
+# You will probably also want to uncomment the following rules, which
+# disable authentication for MythWeb's download URLs so you can properly
+# stream to media players that don't work with authenticated servers.
+#
+<LocationMatch .*/pl/stream/[0-9]+/[0-9]+>
+ Allow from all
+</LocationMatch>
+
+<LocationMatch .*/music/stream.php>
+ Allow from all
+</LocationMatch>