diff --git a/README.md b/README.md index 579fc57..f58b1fe 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,18 @@ # mythtv +MythTV provides a unified graphical interface for recording and viewing television programs. Refer to the mythtv package for more information. + +There are also several add-ons and themes available. In order to facilitate installations with smart/apt-get/yum and other related package resolvers this meta-package can be used to install all in one sweep. + +MythTV implements the following DVR features, and more, with a unified graphical interface: + + - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV. + - Video compression using RTjpeg or MPEG-4, and support for DVB and hardware encoder cards/devices. + - Program listing retrieval using XMLTV + - Themable, semi-transparent on-screen display + - Electronic program guide + - Scheduled recording of TV programs + - Resolution of conflicts between scheduled recordings + - Basic video editing + + diff --git a/mythbackend.init b/mythbackend.init new file mode 100644 index 0000000..61a513a --- /dev/null +++ b/mythbackend.init @@ -0,0 +1,69 @@ +#!/bin/bash +# +# Startup script for mythbackend +# +# chkconfig: - 86 14 +# description: mythbackend. +# processname: mythbackend +# pidfile: /var/run/mythbackend.pid +# config: + +# Source function library. +. /etc/init.d/functions + +if [ -f /etc/sysconfig/mythbackend ]; then + . /etc/sysconfig/mythbackend +fi + +## Defaults, override them in /etc/sysconfig/mythbackend +: ${MYTHTV_HOME=/etc/mythtv} + +binary=/usr/bin/mythbackend +prog=mythbackend +RETVAL=0 +OPTIONS="$OPTIONS --daemon --logfile /var/log/mythtv/$prog.log --pidfile /var/run/$prog.pid" +# Would be nice to run as non-root, but it doesn't work -- dvb/v4l devices owned by root become unusable +#OPTIONS="$OPTIONS --daemon --user mythtv --logfile /var/log/mythtv/$prog.log --pidfile /var/run/$prog.pid" + +start() { + echo -n $"Starting $prog: " + touch /var/run/mythbackend.pid; chown mythtv:mythtv /var/run/mythbackend.pid + export MYTHCONFDIR="$MYTHTV_HOME" + export HOME="$MYTHTV_HOME" + daemon $binary $OPTIONS + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc $binary + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog /var/run/$prog.pid +} + +# See how we were called. +case "$1" in + start) +start +;; + stop) +stop +;; + reload|restart) +stop +start +;; + status) +status $prog +RETVAL=$? +;; + *) +echo $"Usage: $prog {start|stop|status|restart}" +exit 1 +esac + +exit $RETVAL \ No newline at end of file diff --git a/mythbackend.logrotate b/mythbackend.logrotate new file mode 100644 index 0000000..07b51e6 --- /dev/null +++ b/mythbackend.logrotate @@ -0,0 +1,14 @@ +/var/log/mythtv/mythbackend.log { + notifempty + missingok + compress + compresscmd /usr/bin/bzip2 + uncompresscmd /usr/bin/bunzip2 + compressext .bz2 + weekly + rotate 4 + size 10M + postrotate + /bin/kill -HUP `cat /var/run/mythbackend.pid 2>/dev/null` 2> /dev/null || true + endscript +} \ No newline at end of file diff --git a/mythbackend.sysconfig b/mythbackend.sysconfig new file mode 100644 index 0000000..25e4357 --- /dev/null +++ b/mythbackend.sysconfig @@ -0,0 +1,2 @@ +#MYTHTV_HOME=/etc/mythtv +#OPTIONS= \ No newline at end of file diff --git a/mythfrontend.desktop b/mythfrontend.desktop new file mode 100644 index 0000000..a41a949 --- /dev/null +++ b/mythfrontend.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=mythTV frontend +Comment=Record, playback and watch TV. +Icon=mythfrontend +Exec=mythfrontend +Terminal=false +Type=Application \ No newline at end of file diff --git a/mythfrontend.png b/mythfrontend.png new file mode 100644 index 0000000..5d456be Binary files /dev/null and b/mythfrontend.png differ diff --git a/mythtv-0.26.0-libva-1.2.1.patch b/mythtv-0.26.0-libva-1.2.1.patch new file mode 100644 index 0000000..ebd3805 --- /dev/null +++ b/mythtv-0.26.0-libva-1.2.1.patch @@ -0,0 +1,32 @@ +From 2add868d2f18b8b47d9747e043f052e88869bfc3 Mon Sep 17 00:00:00 2001 +From: Gary Buhrmaster +Date: Sun, 30 Jun 2013 04:15:04 +0000 +Subject: [PATCH] libva (VAAPI) has changed their API. Use the legacy API. + +Validated as working by Frank P. + +Fixes #11631 + +Signed-off-by: Gary Buhrmaster +--- + mythtv/libs/libmythtv/vaapicontext.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/mythtv/libs/libmythtv/vaapicontext.h b/mythtv/libs/libmythtv/vaapicontext.h +index d076d11..f85cd9e 100644 +--- a/mythtv/libs/libmythtv/vaapicontext.h ++++ b/mythtv/libs/libmythtv/vaapicontext.h +@@ -4,6 +4,10 @@ + extern "C" { + #include "libavcodec/vaapi.h" + } ++#include "va/va_version.h" ++#if VA_CHECK_VERSION(0,34,0) ++#include "va/va_compat.h" ++#endif + #include "va/va_x11.h" + #include "va/va_glx.h" + #include "videocolourspace.h" +-- +1.8.1.6 + diff --git a/mythtv-PACKAGE-LICENSING b/mythtv-PACKAGE-LICENSING new file mode 100644 index 0000000..c33f3cc --- /dev/null +++ b/mythtv-PACKAGE-LICENSING @@ -0,0 +1,27 @@ +The mythtv sources are all distributed under 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, with the following exceptions: + +GPLv2 or QPL: +------------- +mythtv/libs/libmyth/mythwizard.* + + +LGPLv2: +------- +mythtv/libs/libmyth/qmdcodec.* + + +GPLv2+ or LGPLv2+: +---------------- +mythtv/libs/libswscale/*.{c,h} + + +LGPLv2+: +-------- +mythtv/libs/libavcodec/* +mythtv/libs/libavformat/* +mythtv/libs/libavutil/* +mythtv/libs/libmyth/bio2jack.* +mythtv/libs/libmythlivemedia/* +mythtv/libs/libmythsoundtouch/* \ No newline at end of file diff --git a/mythtv-mysql.txt b/mythtv-mysql.txt new file mode 100644 index 0000000..c8d3790 --- /dev/null +++ b/mythtv-mysql.txt @@ -0,0 +1,39 @@ +DBHostName=localhost + +# By default, Myth tries to ping the DB host to see if it exists. +# If your DB host or network doesn't accept pings, set this to no: +# +#DBHostPing=no + +DBUserName=mythtv +DBPassword=mythtv +DBName=mythconverg +DBType=QMYSQL3 + +# Set the following if you want to use something other than this +# machine's real hostname for identifying settings in the database. +# This is useful if your hostname changes often, as otherwise you +# will need to reconfigure mythtv (or futz with the DB) every time. +# TWO HOSTS MUST NOT USE THE SAME VALUE +# +#LocalHostName=my-unique-identifier-goes-here + +# If you want your frontend to be able to wake your MySQL server +# using WakeOnLan, have a look at the following settings: +# +# +# The time the frontend waits (in seconds) between reconnect tries. +# This should be the rough time your MySQL server needs for startup +# +#WOLsqlReconnectWaitTime=0 +# +# +# This is the number of retries to wake the MySQL server +# until the frontend gives up +# +#WOLsqlConnectRetry=5 +# +# +# This is the command executed to wake your MySQL server. +# +#WOLsqlCommand=echo 'WOLsqlServerCommand not set' \ No newline at end of file diff --git a/mythtv-setup.desktop b/mythtv-setup.desktop new file mode 100644 index 0000000..941d727 --- /dev/null +++ b/mythtv-setup.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=mythTV setup +Comment=Setup for mythTV. +Icon=mythtv-setup +Exec=mythtv-setup +Terminal=false +Type=Application \ No newline at end of file diff --git a/mythtv-setup.png b/mythtv-setup.png new file mode 100644 index 0000000..5d456be Binary files /dev/null and b/mythtv-setup.png differ diff --git a/mythtv.desktop b/mythtv.desktop new file mode 100644 index 0000000..d8a5acd --- /dev/null +++ b/mythtv.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=mythTV +Comment=Record, playback and watch TV. +Icon=mythtv +Exec=mythtv +Terminal=false +Type=Application \ No newline at end of file diff --git a/mythtv.png b/mythtv.png new file mode 100644 index 0000000..5d456be Binary files /dev/null and b/mythtv.png differ diff --git a/mythtv.spec b/mythtv.spec new file mode 100644 index 0000000..333953f --- /dev/null +++ b/mythtv.spec @@ -0,0 +1,689 @@ +%define majver %(echo %version | cut -d. -f1-2) +Name: mythtv +Version: 0.26.1 +Release: 1mamba +Summary: A digital video recorder (DVR) application +Group: Applications/Multimedia +Vendor: openmamba +Distribution: openmamba +Packager: Automatic Build System +URL: http://www.mythtv.org/ +Source0: ftp://ftp.osuosl.org/pub/mythtv/mythtv-%{version}.tar.bz2 +Source1: mythfrontend.desktop +Source2: mythfrontend.png +Source3: mythtv-setup.desktop +Source4: mythtv-setup.png +Source5: mythtv.desktop +Source6: mythtv.png +Source7: mythbackend.init +Source8: mythbackend.logrotate +Source9: mythbackend.sysconfig +Source10: mythweb.conf +Source11: mythtv-mysql.txt +Source12: mythtv-PACKAGE-LICENSING +Patch0: mythtv-0.26.0-libva-1.2.1.patch +License: GPL, LGPL +BuildRequires: desktop-file-utils +## AUTOBUILDREQ-BEGIN +#BuildRequires: file /usr/lib/libdirect-1.4.so: No such file or directory +#BuildRequires: file /usr/lib/libdirectfb-1.4.so: No such file or directory +#BuildRequires: file /usr/lib/libfusion-1.4.so: No such file or directory +BuildRequires: glibc-devel +BuildRequires: kernel-mamba-headers +BuildRequires: libalsa-devel +BuildRequires: libavc1394-devel +BuildRequires: libbzip2-devel +BuildRequires: libcrystalhd-devel +BuildRequires: libdca-devel +BuildRequires: libdirectfb-devel +BuildRequires: libdvdnav-devel +BuildRequires: libdvdread-devel +BuildRequires: libfame-devel +BuildRequires: libfftw-devel +BuildRequires: libflac-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: libgsm-devel +BuildRequires: libiec61883-devel +BuildRequires: libjack-devel +BuildRequires: liblame-devel +BuildRequires: libmjpegtools-devel +BuildRequires: libmysql5-devel +BuildRequires: libogg-devel +BuildRequires: libpulseaudio-devel +BuildRequires: libpython-devel +BuildRequires: libqt4-devel +BuildRequires: libraw1394-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtag-devel +BuildRequires: libtheora-devel +BuildRequires: libva-devel +BuildRequires: libvdpau-devel +BuildRequires: libvorbis-devel +BuildRequires: libX11-devel +BuildRequires: libx264-devel +BuildRequires: libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel +BuildRequires: libXv-devel +BuildRequires: libxvidcore-devel +BuildRequires: libXvMC-devel +BuildRequires: libXxf86vm-devel +BuildRequires: libz-devel +BuildRequires: lirc-devel +BuildRequires: lm_sensors-devel +BuildRequires: perl-DBD-mysql +BuildRequires: perl-DBI +BuildRequires: perl-devel +BuildRequires: perl-HTML-Parser +BuildRequires: perl-HTML-Tree +BuildRequires: perl-libwww +BuildRequires: perl-Magick +BuildRequires: perl-Net-UPnP +BuildRequires: perl-TimeDate +BuildRequires: python-MySQL +BuildRequires: udev-devel +BuildRequires: xorg-drv-video-intel-devel +BuildRequires: xorg-drv-video-openchrome +BuildRequires: xproto-devel +#libcrystalhd.so.3: library not reported by ldconfig; run `ldconfig' and try again +#libvdpau.so.1: library not reported by ldconfig; run `ldconfig' and try again +## AUTOBUILDREQ-END + +BuildRequires: libfreetype-devel +#BuildRequires: ccache +#BuildRequires: distcc +BuildRequires: gcc-c++ +BuildRequires: libmysql5-devel +BuildRequires: libqt4-devel +BuildRequires: libphonon-devel +BuildRequires: lm_sensors-devel +BuildRequires: lirc-devel +BuildRequires: nasm +BuildRequires: yasm-devel + +# X, and Xv video support +BuildRequires: libXmu-devel +BuildRequires: libXv-devel +BuildRequires: libXvMC-devel +BuildRequires: libXxf86vm-devel +BuildRequires: libGLU-devel +BuildRequires: xproto-devel +%ifarch %{ix86} x86_64 +BuildRequires: xorg-drv-video-openchrome +#BuildRequires: xorg-drv-video-openchrome-devel +BuildRequires: xorg-drv-video-intel-devel +%endif + +# OpenGL video output and vsync support +BuildRequires: libGL-devel +BuildRequires: libGLU-devel + +# Misc A/V format support +BuildRequires: libfftw-devel +BuildRequires: libflac-devel +BuildRequires: libgsm-devel +BuildRequires: liblame-devel +BuildRequires: libdca-devel +BuildRequires: libdvdcss-devel +BuildRequires: libdvdnav-devel +BuildRequires: libdvdread-devel + +BuildRequires: libavcodec-devel +BuildRequires: libavformat-devel +BuildRequires: libavutil-devel +BuildRequires: libpostproc-devel +BuildRequires: libswscale-devel + +# nb: libdvdcss will be dynamically loaded if installed +BuildRequires: libfame-devel +BuildRequires: libogg-devel +BuildRequires: libtheora-devel +BuildRequires: libvorbis-devel +BuildRequires: libmjpegtools-devel +BuildRequires: libtag-devel +BuildRequires: libx264-devel +BuildRequires: libxvidcore-devel + +# Audio framework support +BuildRequires: libalsa-devel +#BuildRequires: libarts-devel +BuildRequires: libjack-devel +BuildRequires: libpulseaudio-devel + +# Need dvb headers to build in dvb support +BuildRequires: kernelheaders + +# FireWire cable box support +BuildRequires: libavc1394-devel +BuildRequires: libiec61883-devel +BuildRequires: libraw1394-devel + +BuildRequires: libdirectfb-devel +BuildRequires: libvdpau-devel +BuildRequires: libcrystalhd-devel + +# API Build Requirements +BuildRequires: perl +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(Config) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Copy) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(DBI) +BuildRequires: perl(HTTP::Request) +BuildRequires: perl(Net::UPnP::ControlPoint) +BuildRequires: perl(Net::UPnP::QueryResponse) +BuildRequires: perl(DBD::mysql) +BuildRequires: perl(HTML::TreeBuilder) +BuildRequires: perl(Image::Magick) + + +BuildRequires: libpython-devel +BuildRequires: python-MySQL +BuildRequires: python-urlgrabber + +Requires: libmythtv = %{?epoch:%epoch:}%{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root +## TODO UPnPautoconf() - No UPnP backends found see https://help.ubuntu.com/community/MythTV/Install/Troubleshooting +# Basic Settings +## Compile type release +## Compiler cache no +## DistCC no +## qmake /usr/lib/qt4/bin/qmake +## install prefix /usr +## runtime prefix /usr +## CPU x86 x86_32 (i686) +## yasm yes +## MMX enabled yes +## MMX2 enabled yes +## 3DNow! enabled yes +## 3DNow! extended enabled yes +## SSE enabled yes +## SSSE3 enabled yes +## CMOV enabled yes + +# Input Support +## Joystick menu yes +## lirc support yes +## Video4Linux sup. yes +## ivtv support yes +## HD-PVR support yes +## FireWire support yes +## DVB support yes [/usr/include] +## DVB-S2 support yes +## HDHomeRun support yes +## IPTV support yes + +# Sound Output Support +## PulseAudio support yes +## OSS support yes +## ALSA support yes +## JACK support yes +## libfftw3 support yes + +# Video Output Support +## x11 support yes +## xrandr support yes +## xv support yes +## XvMC support yes +## XvMC VLD support yes +## XvMC libs -lXvMCW +## VDPAU support yes +## CrystalHD support yes +## OpenGL video yes +## OpenGL vsync yes +## DirectFB yes +## MHEG support yes + +# Misc Features +## multi threaded libavcodec yes +## Frontend yes +## Backend yes + +# Bindings +## bindings_perl yes +## bindings_python yes + + +%description +MythTV provides a unified graphical interface for recording and viewing television programs. Refer to the mythtv package for more information. + +There are also several add-ons and themes available. In order to facilitate installations with smart/apt-get/yum and other related package resolvers this meta-package can be used to install all in one sweep. + +MythTV implements the following DVR features, and more, with a unified graphical interface: + + - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV. + - Video compression using RTjpeg or MPEG-4, and support for DVB and hardware encoder cards/devices. + - Program listing retrieval using XMLTV + - Themable, semi-transparent on-screen display + - Electronic program guide + - Scheduled recording of TV programs + - Resolution of conflicts between scheduled recordings + - Basic video editing + + +%package -n libmythtv +Group: System/Libraries +Summary: Library providing mythtv support + +%description -n libmythtv +MythTV provides a unified graphical interface for recording and viewing television programs. + +This package contains common library code for MythTV and add-on modules (development). + +%package -n libmythtv-devel +Group: Development/Libraries +Summary: Libraries and headers for %{name} +Requires: libmythtv = %{?epoch:%epoch:}%{version}-%{release} +# Need dvb headers for dvb support +Requires: kernelheaders + +Requires: libfreetype-devel +Requires: libmysql-devel +Requires: libqt4-devel +Requires: lm_sensors-devel +Requires: lirc-devel + +Requires: libXmu-devel +Requires: libXv-devel +Requires: libXvMC-devel +Requires: libXxf86vm-devel +Requires: libGLU-devel +Requires: xproto-devel + +# OpenGL video output and vsync support +Requires: libGL-devel +Requires: libGLU-devel + +# Misc A/V format support +Requires: libfftw-devel +Requires: libflac-devel +Requires: libgsm-devel +Requires: liblame-devel +Requires: libdca-devel +Requires: libdvdnav-devel +Requires: libdvdread-devel +Requires: libfame-devel +Requires: libogg-devel +Requires: libtheora-devel +Requires: libvorbis-devel +Requires: libmjpegtools-devel +Requires: libtag-devel +Requires: libx264-devel +Requires: libxvidcore-devel +# Audio framework support +Requires: libalsa-devel +#Requires: libarts-devel +Requires: libjack-devel +Requires: libpulseaudio-devel + +Requires: libavc1394-devel +Requires: libiec61883-devel +Requires: libraw1394-devel +Requires: libdirectfb-devel +Requires: libvdpau-devel +Requires: libcrystalhd-devel +%ifarch %{ix86} x86_64 +Requires: xorg-drv-video-openchrome +#Requires: xorg-drv-video-openchrome-devel +Requires: xorg-drv-video-intel-devel +%endif + +%description -n libmythtv-devel +MythTV provides a unified graphical interface for recording and viewing television programs. + +This package contains libraries and header files need for development. + +%package -n perl-MythTV +Group: Development/Libraries/Perl +Summary: Perl bindings for MythTV +Requires: perl +Requires: perl(DBD::mysql) +Requires: perl(Net::UPnP) +Requires: perl(Net::UPnP::ControlPoint) + +%description -n perl-MythTV +MythTV provides a unified graphical interface for recording and viewing television programs. + +This package provides a perl-based interface to interacting with MythTV. + +%package -n python-MythTV +Group: Development/Libraries/Python +Summary: Python bindings for MythTV +Requires: python-MySQL + +%description -n python-MythTV +MythTV provides a unified graphical interface for recording and viewing television programs. + +This package provides a python-based interface to interacting with MythTV. + +%package docs +Group: Documentation +Summary: Documentation for %{name} + +%description docs +MythTV provides a unified graphical interface for recording and viewing television programs. + +This package contains the documentation for %{name}, + +%prep +%setup -q +%patch0 -p2 + +rm -rf contrib/Win32 contrib/OSX +chmod -x themes/default/htmls/*.html + +cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} . +cp -a %{SOURCE4} %{SOURCE5} %{SOURCE6} . +cp -a %{SOURCE7} %{SOURCE8} %{SOURCE9} %{SOURCE10} . +cp -a %{SOURCE12} PACKAGE-LICENSING + +sed -i -e 's#perl Makefile.PL#%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"#' bindings/perl/Makefile + +sed -i -e 's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure + +%build +./configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --libdir-name=%{_lib} \ + --mandir=%{_mandir} \ + --extra-cflags="%{optflags} -fomit-frame-pointer" \ + --extra-cxxflags="%{optflags} -fomit-frame-pointer" \ + --cpu=i686 \ + --tune=i686 \ + --enable-mmx \ + --qmake=%{_qt4_qmake} \ + --enable-iptv \ + --enable-pthreads \ + --enable-ffmpeg-pthreads \ + --enable-joystick-menu \ + --enable-audio-alsa \ + --enable-audio-oss \ + --enable-audio-jack \ + --enable-libfftw3 \ + --enable-x11 \ + --x11-path=%{_includedir} \ + --enable-xv \ + --enable-opengl-video \ + --enable-xrandr \ + --enable-lirc \ + --enable-ivtv \ + --enable-firewire \ + --enable-dvb \ + --enable-libmp3lame \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libxvid \ + --enable-vdpau \ + --enable-crystalhd \ + --enable-libfaac \ + --enable-sdl \ + --enable-libx264 \ + --compile-type=release \ + --enable-debug \ + --disable-distcc \ + --enable-nonfree + +# --enable-libvpc \ + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +make INSTALL_ROOT=%{buildroot} install + +ln -s mythtv-setup %{buildroot}%{_bindir}/mythtvsetup +mkdir -p %{buildroot}%{_localstatedir}/lib/mythtv +mkdir -p %{buildroot}%{_localstatedir}/cache/mythtv +mkdir -p %{buildroot}%{_localstatedir}/log/mythtv +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +mkdir -p %{buildroot}%{_initrddir} +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +mkdir -p %{buildroot}%{_sysconfdir}/mythtv + +rm -rf %{buildroot}%{perl_vendorarch}/auto/MythTV/.packlist +rm -rf %{buildroot}%{_libdir}/libmyth*.*a +rm -rf %{buildroot}%{_libdir}/mythtv/filters/*.*a + +# mysql.txt and other config/init files +install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/mythtv/mysql.txt +echo "# to be filled in by mythtv-setup" > %{buildroot}%{_sysconfdir}/mythtv/config.xml +install -p -m 755 mythbackend.init %{buildroot}%{_initrddir}/mythbackend +install -p -m 644 mythbackend.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mythbackend +install -p -m 644 mythbackend.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/mythbackend + +# Desktop entries +mkdir -p %{buildroot}%{_datadir}/pixmaps +mkdir -p %{buildroot}%{_datadir}/applications + +for file in mythfrontend mythtv-setup mythtv ; do + install -pm 644 $file.png %{buildroot}%{_datadir}/pixmaps/$file.png + desktop-file-install --mode=644 --dir %{buildroot}%{_datadir}/applications \ + --add-category AudioVideo $file.desktop +done + +mkdir -p %{buildroot}%{_libdir}/mythtv/plugins + +mkdir -p %{buildroot}%{_datadir}/mythtv/build/ +install -pm 644 settings.pro %{buildroot}%{_datadir}/mythtv/build/ + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%pre +%{_sbindir}/useradd -c "mythtvbackend User" \ + -s /sbin/nologin -r -d %{_localstatedir}/lib/mythtv -G video mythtv 2> /dev/null || : + +%post +/sbin/chkconfig --add mythbackend + +%preun +if [ $1 = 0 ]; then + /sbin/service mythbackend stop > /dev/null 2>&1 + /sbin/chkconfig --del mythbackend +fi + +%files +%defattr(-,root,root) +%dir %{_sysconfdir}/mythtv +%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt +%config(noreplace) %{_sysconfdir}/mythtv/config.xml +%config(noreplace) %{_sysconfdir}/sysconfig/mythbackend +%config(noreplace) %{_sysconfdir}/logrotate.d/mythbackend +%attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv +%attr(-,mythtv,mythtv) %dir %{_localstatedir}/cache/mythtv +%attr(-,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv +%{_initrddir}/mythbackend +%{_bindir}/mythavtest +%{_bindir}/mythbackend +%{_bindir}/mythccextractor +%{_bindir}/mythcommflag +%{_bindir}/mythffmpeg +%{_bindir}/mythffplay +%{_bindir}/mythfilldatabase +%{_bindir}/mythfrontend +%{_bindir}/mythjobqueue +%{_bindir}/mythlcdserver +%{_bindir}/mythlogserver +%{_bindir}/mythmediaserver +%{_bindir}/mythmetadatalookup +%{_bindir}/mythpreviewgen +%{_bindir}/mythreplex +%{_bindir}/mythshutdown +%{_bindir}/mythtranscode +%{_bindir}/mythtv-setup +%{_bindir}/mythtvsetup +#%{_bindir}/mythtvosd +%{_bindir}/mythutil +%{_bindir}/mythwelcome +#%{_bindir}/mythwikiscripts +%dir %{_libdir}/mythtv +%dir %{_libdir}/mythtv/filters +%{_libdir}/mythtv/filters/*.so +%dir %{_libdir}/mythtv/plugins +%dir %{_datadir}/mythtv +%{_datadir}/mythtv/*.xml +%{_datadir}/mythtv/*.pl +%{_datadir}/mythtv/backend-config +%{_datadir}/mythtv/bindings +%{_datadir}/mythtv/fonts +%{_datadir}/mythtv/hardwareprofile +%{_datadir}/mythtv/html +%{_datadir}/mythtv/i18n +%{_datadir}/mythtv/internetcontent +%{_datadir}/mythtv/locales +%{_datadir}/mythtv/metadata +%{_datadir}/mythtv/themes +%{_datadir}/pixmaps/*.png +%{_datadir}/applications/*.desktop + +%post -n libmythtv -p /sbin/ldconfig + +%postun -n libmythtv -p /sbin/ldconfig + +%files -n libmythtv +%defattr(-,root,root) +%{_libdir}/libmyth-*.so.* +%{_libdir}/libmythavcodec.so.* +%{_libdir}/libmythbase-%{majver}.so.* +%{_libdir}/libmythavdevice.so.* +%{_libdir}/libmythavfilter.so.* +%{_libdir}/libmythavformat.so.* +%{_libdir}/libmythavutil.so.* +%{_libdir}/libmythfreemheg-*.so.* +%{_libdir}/libmythhdhomerun-*.so.* +%{_libdir}/libmythlivemedia-*.so.* +%{_libdir}/libmythmetadata-*.so.* +%{_libdir}/libmythnzmqt.so.* +%{_libdir}/libmythpostproc.so.* +%{_libdir}/libmythprotoserver-%{majver}.so.* +%{_libdir}/libmythqjson.so.* +%{_libdir}/libmythswresample.so.* +%{_libdir}/libmythservicecontracts-%{majver}.so.* +%{_libdir}/libmythswscale.so.* +%{_libdir}/libmythtv-*.so.* +%{_libdir}/libmythui-*.so.* +%{_libdir}/libmythupnp-*.so.* +%{_libdir}/libmythzmq.so.* +%doc AUTHORS COPYING + +%files -n libmythtv-devel +%defattr(-,root,root) +%dir %{_includedir}/mythtv +%{_includedir}/mythtv/*.h +%{_includedir}/mythtv/mythconfig.mak +%{_includedir}/mythtv/bluray +%{_includedir}/mythtv/dvdnav +%{_includedir}/mythtv/dvdread +%{_includedir}/mythtv/libavcodec +#%{_includedir}/mythtv/libavcore +%{_includedir}/mythtv/libavdevice +%{_includedir}/mythtv/libavfilter +%{_includedir}/mythtv/libavformat +%{_includedir}/mythtv/libavutil +%{_includedir}/mythtv/libmyth +%{_includedir}/mythtv/libmythbase +%{_includedir}/mythtv/libmythservicecontracts +%{_includedir}/mythtv/libmythui +%{_includedir}/mythtv/libpostproc +%dir %{_includedir}/mythtv/libswresample +%{_includedir}/mythtv/libswresample/swresample.h +%{_includedir}/mythtv/libswscale +%{_includedir}/mythtv/metadata +%{_includedir}/mythtv/mpeg2dec +%dir %{_includedir}/mythtv/nzmqt +%{_includedir}/mythtv/nzmqt/nzmqt.hpp +%{_includedir}/mythtv/upnp +%dir %{_includedir}/mythtv/QJson +%{_includedir}/mythtv/QJson/* +%dir %{_includedir}/mythtv/zeromq +%{_includedir}/mythtv/zeromq/* +%{_libdir}/libmyth-*.so +%{_libdir}/libmythavcodec.so +%{_libdir}/libmythavdevice.so +%{_libdir}/libmythavfilter.so +%{_libdir}/libmythavformat.so +%{_libdir}/libmythavutil.so +%{_libdir}/libmythbase-%{majver}.so +%{_libdir}/libmythfreemheg-*.so +%{_libdir}/libmythhdhomerun-*.so +%{_libdir}/libmythlivemedia-*.so +%{_libdir}/libmythmetadata-*.so +%{_libdir}/libmythnzmqt.so +%{_libdir}/libmythpostproc.so +%{_libdir}/libmythprotoserver-%{majver}.so +%{_libdir}/libmythqjson.so +%{_libdir}/libmythservicecontracts-%{majver}.so +%{_libdir}/libmythswresample.so +%{_libdir}/libmythswscale.so +%{_libdir}/libmythtv-*.so +%{_libdir}/libmythui-*.so +%{_libdir}/libmythupnp-*.so +%{_libdir}/libmythzmq.so +%{_datadir}/mythtv/build +%{_libdir}/pkgconfig/libmythzmq.pc + +%files -n perl-MythTV +%defattr(-,root,root) +%dir %{perl_vendorlib}/IO +%dir %{perl_vendorlib}/IO/Socket +%dir %{perl_vendorlib}/IO/Socket/INET +%{perl_vendorlib}/IO/Socket/INET/MythTV.pm +%{perl_vendorlib}/MythTV.pm +%dir %{perl_vendorlib}/MythTV +%{perl_vendorlib}/MythTV/*.pm +%dir %{perl_vendorarch}/auto/MythTV + +%files -n python-MythTV +%defattr(-,root,root) +%{_bindir}/mythpython +%{_bindir}/mythwikiscripts +%{python_sitelib}/MythTV-*.egg-info +%dir %{python_sitelib}/MythTV +%{python_sitelib}/MythTV/*.py* +%dir %{python_sitelib}/MythTV/tmdb +%{python_sitelib}/MythTV/tmdb/* +%dir %{python_sitelib}/MythTV/tmdb3 +%{python_sitelib}/MythTV/tmdb3/* +%dir %{python_sitelib}/MythTV/ttvdb +%{python_sitelib}/MythTV/ttvdb/* +%dir %{python_sitelib}/MythTV/utility +%{python_sitelib}/MythTV/utility/* +%dir %{python_sitelib}/MythTV/wikiscripts +%{python_sitelib}/MythTV/wikiscripts/* + +%files docs +%defattr(-,root,root) +%doc FAQ PACKAGE-LICENSING README* UPGRADING VERSION keys.txt +#%doc contrib database + +%changelog +* Tue Aug 20 2013 Automatic Build System 0.26.1-1mamba +- automatic version update by autodist + +* Wed Aug 07 2013 Automatic Build System 0.26.0-1mamba +- automatic version update by autodist + +* Tue Jul 17 2012 Automatic Build System 0.25.2-1mamba +- automatic version update by autodist + +* Tue Jun 05 2012 Automatic Build System 0.25.1-1mamba +- automatic version update by autodist + +* Sun Apr 15 2012 Automatic Build System 0.25-1mamba +- automatic version update by autodist + +* Wed Jan 25 2012 Automatic Build System 0.24.2-1mamba +- automatic version update by autodist + +* Fri Jan 13 2012 Silvan Calarco 0.24-2mamba +- rebuilt in devel + +* Mon Mar 07 2011 gil 0.24-1mamba +- package created by autospec diff --git a/mythweb.conf b/mythweb.conf new file mode 100644 index 0000000..21dbb7a --- /dev/null +++ b/mythweb.conf @@ -0,0 +1,217 @@ +# +# 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/www/htdocs/mythweb +# +Alias /mythweb/ "/usr/share/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/conf.d/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 "/usr/share/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 + + + + + + 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 + \ No newline at end of file