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 +# 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/" + + + ############################################################################ + # 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 + # + + + # + # 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" + + + + ############################################################################ + # The following settings relate to PHP config. + # + + + + # 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" + + + + ############################################################################ + # 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. + # + + + SetHandler perl-script + PerlResponseHandler ModPerl::Registry + PerlOptions +ParseHeaders + + + SetHandler cgi-script + + Options +ExecCGI + + # + # 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 + + + + + Options -All +FollowSymLinks +IncludesNoExec + + +# 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. +# + + Allow from all + + + + Allow from all +