Difference between revisions of "Mythtv-rpmbuild.spec"

From MythTV Official Wiki
Jump to: navigation, search
(add a link to this page in the spec file itself)
(See changelog entry from 2006-03-31)
Line 1: Line 1:
 
<pre>
 
<pre>
 
#
 
#
# Specfile for building MythTV RPMS of SVN repository..
+
# Specfile for building MythTV RPMS from an SVN checkout.
 +
#
 
# by:  David Bussenschutt <buzz@oska.com>
 
# by:  David Bussenschutt <buzz@oska.com>
 +
#      Chris Petersen <rpm@forevermore.net>
 +
#
 
# Modified/Extended from the great (non-svn based) work of:
 
# Modified/Extended from the great (non-svn based) work of:
# Chris Petersen <rpm@forevermore.net>
 
 
# Axel Thimm <Axel.Thimm@ATrpms.net>
 
# Axel Thimm <Axel.Thimm@ATrpms.net>
# see changelog (at bottom) for details.
+
#   (and others; see changelog at bottom for details.)
 +
#
 +
# Latest version:  http://www.mythtv.org/wiki/index.php/Mythtv-svn-rpmbuild-modularxorg.spec
 
#
 
#
# Latest version:  http://www.mythtv.org/wiki/index.php/Mythtv-svn-rpmbuild.spec
+
# This spec relies upon several files included in the ATRPMS mythtv src.rpm
 +
# file. Please install it into your build tree before trying to build anything
 +
# with this spec.
 
#
 
#
 +
 +
# Edit the following path to point to where you keep SVN checkout.  Among
 +
# others, it will contain both the mythtv/ and mythplugins/ subdirectories.
 +
%define _mythsvnroot '/usr/src/mythtv-svn/'
 +
 +
################################################################################
 +
# The only thing below here that you should feel the need to edit is the
 +
# Version tag below, which should be set to the *next* MythTV release.
 +
################################################################################
  
 
# The name of the DVB driver package (used in a couple of places,
 
# The name of the DVB driver package (used in a couple of places,
Line 15: Line 30:
 
%define linuxtv_dvb_package linuxtv-dvb-1.1.1cvs20050529
 
%define linuxtv_dvb_package linuxtv-dvb-1.1.1cvs20050529
  
# Compile type:  debug or release
+
# Compile type:  debug or release (Isaac recommends not using debug)
 
%define compile_type release
 
%define compile_type release
#%define compile_type debug
 
  
 
# A list of which applications we want to put into the desktop menu system
 
# A list of which applications we want to put into the desktop menu system
Line 24: Line 38:
 
# The vendor name we should attribute the aforementioned entries to
 
# The vendor name we should attribute the aforementioned entries to
 
%define desktop_vendor  mythtv
 
%define desktop_vendor  mythtv
 +
 +
# We need to define the name early
 +
Name:          mythtv
 +
 +
# Now that the name is defined, we can look up the SVN revision
 +
%define _svn_rev %(svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' ' )
 +
 +
#
 +
# Below, you'll find the basic configuration for this package
 +
#
 +
Version:        0.20
 +
Release:        0.%{_svn_rev}.svn
 +
Summary:        A digital video recorder (DVR) application.
 +
 +
URL:            http://www.mythtv.org/
 +
License:        GPL
 +
Group:          Applications/Multimedia
 +
 +
Source0:        http://www.mythtv.org/mc/%{name}-%{version}.tar.bz2
 +
Source1:        mythbackend.sysconfig.in
 +
Source2:        mythbackend.init.in
 +
Source3:        mythbackend.logrotate.in
 +
Source4:        mythtv.png
 +
Source5:        mythtv.desktop
 +
Source6:        mythfrontend.png
 +
Source7:        mythfrontend.desktop
 +
Source12:      http://linuxtv.org/download/dvb/%{linuxtv_dvb_package}.tar.bz2
 +
Source100:      mythtv-doc.configure.ac
 +
Source101:      mythtv-doc.Makefile.am
 +
 +
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  
 
# Set "--with proc_opt" to let mythtv autodetect your CPU and run its
 
# Set "--with proc_opt" to let mythtv autodetect your CPU and run its
# processor-specific optimizations - enabled by default here!.
+
# processor-specific optimizations. It seems to cause compile problems on many
# MythTV now uses a fairly intelligent cpu-detection script, so if you are
+
# systems (particularly x86_64), so it is classified by the MythTV developers
#  building an rpm by hand on the machine it will be used on, I encourage you
+
# as "use at your own risk."
# to use "--with proc_opt" to let mythtv decide for you.
+
%define with_proc_opt      %{?_with_proc_opt:         1} %{!?_with_proc_opt:         0}
%define with_proc_opt      %{?_without_proc_opt:     0} %{!?_without_proc_opt:     1}
 
  
 
# The following options are enabled by default.  Use --without to disable them
 
# The following options are enabled by default.  Use --without to disable them
Line 47: Line 91:
 
%define with_xvmcvld      %{?_with_xvmcvld:      1} %{!?_with_xvmcvld:      0}
 
%define with_xvmcvld      %{?_with_xvmcvld:      1} %{!?_with_xvmcvld:      0}
 
%define with_directfb      %{?_with_directfb:      1} %{!?_with_directfb:      0}
 
%define with_directfb      %{?_with_directfb:      1} %{!?_with_directfb:      0}
 +
%define with_dts          %{?_with_dts:          1} %{!?_with_dts:          0}
  
 
# Define some directory names that aren't present in rpm's own macro library
 
# Define some directory names that aren't present in rpm's own macro library
Line 56: Line 101:
 
%define _sysconfigdir  %{_sysconfdir}/sysconfig
 
%define _sysconfigdir  %{_sysconfdir}/sysconfig
 
%define _logrotatedir  %{_sysconfdir}/logrotate.d
 
%define _logrotatedir  %{_sysconfdir}/logrotate.d
 
# where is the SVN repository kept?
 
%define _mythsvnroot '/root/myth-svn'
 
 
# get initial SVN Revision from the repository....
 
%define _svn_rev %(svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' ' )
 
 
#
 
# Below, you'll find the basic configuration for this package
 
#
 
Name:          mythtv
 
Version:        0.19
 
Release:        0.%{_svn_rev}.svn
 
Summary:        A digital video recorder (DVR) application
 
 
URL:            http://www.mythtv.org/
 
#License:        GPL2 - bad according to rpmlint
 
License:        GPL
 
Group:          Applications/Multimedia
 
 
Source0:        http://www.mythtv.org/mc/%{name}-%{version}.%{_svn_rev}.tar.bz2
 
Source1:        mythbackend.sysconfig.in
 
Source2:        mythbackend.init.in
 
Source3:        mythbackend.logrotate.in
 
Source4:        mythtv.png
 
Source5:        mythtv.desktop
 
Source6:        mythfrontend.png
 
Source7:        mythfrontend.desktop
 
Source8:        mythepg.png
 
Source9:        mythepg.desktop
 
Source10:      mythprogfind.png
 
Source11:      mythprogfind.desktop
 
Source12:      http://linuxtv.org/download/dvb/%{linuxtv_dvb_package}.tar.bz2
 
Source100:      mythtv-doc.configure.ac
 
Source101:      mythtv-doc.Makefile.am
 
 
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 
# we leave _builddir to default to /usr/src/redhat/BUILD or wherever user wants.
 
# %define _builddir /usr/src/redhat/BUILD
 
 
# dont change here, we assume /usr, as BUILD_ROOT overrides at 'make install' time
 
#%define _prefix /usr
 
  
 
################################################################################
 
################################################################################
  
 
BuildRequires:  gcc-c++
 
BuildRequires:  gcc-c++
BuildRequires:  XFree86-devel
 
 
BuildRequires:  freetype-devel >= 2
 
BuildRequires:  freetype-devel >= 2
 
BuildRequires:  lame-devel
 
BuildRequires:  lame-devel
Line 109: Line 110:
 
BuildRequires:  mysql-devel
 
BuildRequires:  mysql-devel
 
BuildRequires:  desktop-file-utils
 
BuildRequires:  desktop-file-utils
 +
BuildRequires:  XFree86-devel
  
 
%if %{with_alsa}
 
%if %{with_alsa}
Line 120: Line 122:
 
%if %{with_directfb}
 
%if %{with_directfb}
 
BuildRequires:  directfb-devel
 
BuildRequires:  directfb-devel
 +
%endif
 +
 +
%if %{with_dts}
 +
BuildRequires:  libdts-devel
 
%endif
 
%endif
  
Line 138: Line 144:
 
%if %{with_opengl_vsync}
 
%if %{with_opengl_vsync}
 
BuildRequires:  nvidia-graphics-devel
 
BuildRequires:  nvidia-graphics-devel
BuildRequires:  XFree86-devel
 
 
%endif
 
%endif
  
Line 166: Line 171:
  
 
%package -n libmyth
 
%package -n libmyth
Summary:  Library providing mythtv support
+
Summary:  Library providing mythtv support.
 
Group:    System Environment/Libraries
 
Group:    System Environment/Libraries
  
Line 182: Line 187:
  
 
%package -n libmyth-devel
 
%package -n libmyth-devel
Summary:  Development files for libmyth
+
Summary:  Development files for libmyth.
 
Group:    Development/Libraries
 
Group:    Development/Libraries
  
Line 199: Line 204:
 
%if %{with_directfb}
 
%if %{with_directfb}
 
Requires:  directfb-devel
 
Requires:  directfb-devel
 +
%endif
 +
 +
%if %{with_dts}
 +
Requires:  libdts-devel
 
%endif
 
%endif
  
Line 229: Line 238:
  
 
%package -n mythtv-themes
 
%package -n mythtv-themes
Summary:    Base themes for mythtv's frontend
+
Summary:    Base themes for mythtv's frontend.
 
Group:      Applications/Multimedia
 
Group:      Applications/Multimedia
 
Provides:  mythtv-theme-gant
 
Provides:  mythtv-theme-gant
Line 244: Line 253:
  
 
%package -n mythtv-frontend
 
%package -n mythtv-frontend
Summary:  Client component of mythtv (a DVR)
+
Summary:  Client component of mythtv (a DVR).
 
Group:    Applications/Multimedia
 
Group:    Applications/Multimedia
  
Line 263: Line 272:
  
 
%package -n mythtv-backend
 
%package -n mythtv-backend
Summary:    Server component of mythtv (a DVR)
+
Summary:    Server component of mythtv (a DVR).
 
Group:      Applications/Multimedia
 
Group:      Applications/Multimedia
  
Line 281: Line 290:
  
 
%package -n mythtv-setup
 
%package -n mythtv-setup
Summary:    Setup the mythtv backend
+
Summary:    Setup the mythtv backend.
 
Group:      Applications/Multimedia
 
Group:      Applications/Multimedia
 
Provides:  mythtvsetup = %{version}
 
Provides:  mythtvsetup = %{version}
Line 287: Line 296:
  
 
Requires:  mythtv-backend = %{version}
 
Requires:  mythtv-backend = %{version}
Requires:  mythtv-themes = %{version}
+
Requires:  mythtv-themes = %{version}
  
 
%description -n mythtv-setup
 
%description -n mythtv-setup
Line 299: Line 308:
  
 
%prep
 
%prep
echo SVN REVISION: %{_svn_rev} in folder: %{_mythsvnroot}/%{name}
 
if [ ! -f '%{_mythsvnroot}/%{name}/README' ] ; then
 
  # dont have SVN yet? get it!
 
  cd %{_mythsvnroot}
 
  svn co http://cvs.mythtv.org/svn/trunk/%{name}
 
else
 
  # got SVN already? update it!
 
  cd %{_mythsvnroot}/%{name}
 
  svn update .
 
fi
 
  
# re-determine SVN version, and see if it's changed since we started..
+
# dont have an SVN checkout yet? get it!
# changed slightly, so that rpmbuild doesn't cache the old _svn_rev
+
    if [ ! -f '%{_mythsvnroot}/%{name}/README' ] ; then
SVNNEW=`svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' '`
+
        svn co http://cvs.mythtv.org/svn/trunk/ %{_mythsvnroot}
echo NEW SVN REVISION: $SVNNEW
+
# got SVN already? update it!
 +
    else
 +
        svn update %{_mythsvnroot}/%{name}
 +
    fi
  
# abort if SVN revision has changed since we started this specfile...
+
# Re-determine SVN version to see if it's changed since we started.
if [  %{_svn_rev} != $SVNNEW ] ; then
+
    SVNNEW=`svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' '`
echo SVN revision changed from %{_svn_rev} to $SVNNEW. Please re-run rpmbuild now...
 
false
 
fi
 
  
cd -
+
# Abort if SVN revision has changed since we started, since it would mean that
 +
# our revision tag is no longer correct.
 +
    if [ %{_svn_rev} != $SVNNEW ] ; then
 +
        echo SVN revision changed from %{_svn_rev} to $SVNNEW. Please re-run rpmbuild now...
 +
        false
 +
    fi
  
 
# finally, sync SVN to the rpm build directory...
 
# finally, sync SVN to the rpm build directory...
rsync --cvs-exclude -rav %{_mythsvnroot}/%{name}/* %{_builddir}/%{name}-%{version}/
+
rsync -av --cvs-exclude --delete        \
touch %{_sourcedir}/%{name}-%{version}.%{_svn_rev}.tar.bz2
+
      %{_mythsvnroot}/%{name}/*         \
 
+
      %{_builddir}/%{name}-%{version}/
echo Release is: %{release}
+
#touch %{_sourcedir}/%{name}-%{version}.tar.bz2
  
# '-n mythtv' would mean source goes to 'mythtv' not %{name}-%{version} (ie  mythtv-0.19)
+
%setup -q -T -D
%setup -q -n %{name}-%{version} -D -T
 
  
 
%if %{with_dvb}
 
%if %{with_dvb}
%setup -q -n %{name}-%{version} -T -D -a 12
+
%setup -q -T -D -a 12
 
%endif
 
%endif
 
# where are we? we be here:
 
cd %{_builddir}/%{name}-%{version}
 
  
 
# Replace static lib paths with %{_lib} so we build properly on x86_64
 
# Replace static lib paths with %{_lib} so we build properly on x86_64
 
# systems, where the libs are actually in lib64.
 
# systems, where the libs are actually in lib64.
 
if [ "%{_lib}" != "lib" ]; then
 
if [ "%{_lib}" != "lib" ]; then
  grep -rl /lib/ . | xargs perl -pi -e's,/lib/,/%{_lib}/,g'
+
    grep -rl /lib/   . | xargs sed -i -e 's,/lib/,/%{_lib}/,g'
  grep -rl /lib$ . | xargs perl -pi -e's,/lib$,/%{_lib},'
+
    grep -rl /lib$   . | xargs sed -i -e 's,/lib$,/%{_lib},'
  grep -rl '/lib ' . | xargs perl -pi -e's,/lib ,/%{_lib} ,g'
+
    grep -rl '/lib ' . | xargs sed -i -e 's,/lib ,/%{_lib} ,g'
 
fi
 
fi
  
 
# test for X not with xinit, but instead with libX11.so
 
# test for X not with xinit, but instead with libX11.so
perl -pi -e's,test -f /usr/X11R6/bin/xinit,test -f /usr/X11R6/%{_lib}/libX11.so,' configure
+
sed -i -e 's,test -f /usr/X11R6/bin/xinit,test -f /usr/X11R6/%{_lib}/libX11.so,' configure
  
 
# We also need Xv libs to build XvMCNVIDIA
 
# We also need Xv libs to build XvMCNVIDIA
perl -pi -e's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure
+
sed -i -e 's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure
  
 
# Fix path to artsc.h on Fedora
 
# Fix path to artsc.h on Fedora
#find . -type f | xargs grep -l artsc/artsc.h | xargs sed -i -e 's#artsc/artsc.h#artsc.h#g'
+
#find . -type f | xargs grep -l artsc/artsc.h | xargs sed -i -e 's,artsc/artsc.h,artsc.h,g'
 
 
# we also don't want .cvs stuff in contrib - rpmlint complains!
 
find . -name \.cvsignore | xargs rm -rf
 
  
 
# Prevent all of those nasty installs to ../../../../../bin/whatever
 
# Prevent all of those nasty installs to ../../../../../bin/whatever
Line 382: Line 379:
 
   < $file.in > $file
 
   < $file.in > $file
 
done
 
done
# get perms right for rpmlint/etc.
 
 
  
 
# dummy docs that we can install for rpmlint's sake.
 
# dummy docs that we can install for rpmlint's sake.
Line 476: Line 471:
 
%else
 
%else
 
     OPTS="$OPTS --disable-directfb"
 
     OPTS="$OPTS --disable-directfb"
 +
%endif
 +
 +
%if %{with_dts}
 +
    OPTS="$OPTS --enable-dts"
 +
%else
 +
    OPTS="$OPTS --disable-dts"
 
%endif
 
%endif
  
Line 486: Line 487:
 
%endif
 
%endif
  
# similar to 'percent' configure, but without {_target_platform} and {_exec_prefix} etc...
+
# Similar to 'percent' configure, but without {_target_platform} and
 +
# {_exec_prefix} etc... MythTV no longer accepts the parameters that the
 +
# configure macro passes, so we do this manually.
 
./configure \
 
./configure \
--prefix=%{_prefix} \
+
    --prefix=%{_prefix}           \
--compile-type=%{compile_type} \
+
    --libdir=%{_libdir}            \
--enable-joystick-menu \
+
    --mandir=%{_mandir}            \
--enable-ivtv \
+
    --compile-type=%{compile_type} \
--enable-x11 \
+
--enable-joystick-menu         \
--enable-xv \
+
--enable-ivtv                 \
$OPTS
+
--enable-x11                   \
 +
--enable-xv                   \
 +
    $OPTS
  
 
# Make
 
# Make
 
make
 
make
 +
#{?_smp_mflags}
  
 
# We don't want rpm to add perl requirements to anything in contrib
 
# We don't want rpm to add perl requirements to anything in contrib
Line 549: Line 555:
 
rm -rf %{buildroot}
 
rm -rf %{buildroot}
  
 +
################################################################################
  
 
%pre
 
%pre
Line 555: Line 562:
 
         -s /sbin/nologin -r -d %{_varlibdir}/mythtv mythtv 2> /dev/null || :
 
         -s /sbin/nologin -r -d %{_varlibdir}/mythtv mythtv 2> /dev/null || :
  
 +
%post
  
 
%post -n libmyth -p /sbin/ldconfig
 
%post -n libmyth -p /sbin/ldconfig
 +
 
%postun -n libmyth -p /sbin/ldconfig
 
%postun -n libmyth -p /sbin/ldconfig
 
  
 
%post -n mythtv-backend
 
%post -n mythtv-backend
 
/sbin/chkconfig --add mythbackend
 
/sbin/chkconfig --add mythbackend
 +
 
%preun -n mythtv-backend
 
%preun -n mythtv-backend
 
if [ $1 = 0 ]; then
 
if [ $1 = 0 ]; then
Line 580: Line 589:
 
%files -n mythtv-backend
 
%files -n mythtv-backend
 
%defattr(-,root,root,-)
 
%defattr(-,root,root,-)
#config(noreplace) %{_datadir}/mythtv/mysql.txt
+
%attr(-,mythtv,mythtv) %dir %{_logdir}/mythtv
 +
%attr(-,mythtv,mythtv) %dir %{_varcachedir}/mythtv
 +
%attr(-,mythtv,mythtv) %dir %{_varlibdir}/mythtv
 +
%config(noreplace) %{_logrotatedir}/mythbackend
 +
%config(noreplace) %{_sysconfigdir}/mythbackend
 
%{_bindir}/mythbackend
 
%{_bindir}/mythbackend
 
%{_bindir}/mythfilldatabase
 
%{_bindir}/mythfilldatabase
 
%{_bindir}/mythjobqueue
 
%{_bindir}/mythjobqueue
%attr(-,mythtv,mythtv) %dir %{_varlibdir}/mythtv
+
%{_bindir}/mythtranscode
%attr(-,mythtv,mythtv) %dir %{_varcachedir}/mythtv
 
 
%{_initrddir}/mythbackend
 
%{_initrddir}/mythbackend
%config(noreplace) %{_sysconfigdir}/mythbackend
 
%config(noreplace) %{_logrotatedir}/mythbackend
 
%attr(-,mythtv,mythtv) %dir %{_logdir}/mythtv
 
 
# Hm, somehow this doesn't work yet ... :(
 
# Hm, somehow this doesn't work yet ... :(
 
#%ghostattr %{_logdir}/mythtv/mythbackend.log*
 
#%ghostattr %{_logdir}/mythtv/mythbackend.log*
Line 604: Line 613:
 
%files -n mythtv-frontend
 
%files -n mythtv-frontend
 
%defattr(-,root,root,-)
 
%defattr(-,root,root,-)
#config(noreplace) %{_datadir}/mythtv/mysql.txt
+
%{_bindir}/mythcommflag
%{_datadir}/mythtv/*.xml
 
 
%{_bindir}/mythfrontend
 
%{_bindir}/mythfrontend
%{_bindir}/mythtv
 
#%{_bindir}/mythepg
 
#%{_bindir}/mythprogfind
 
 
%{_bindir}/mythlcdserver
 
%{_bindir}/mythlcdserver
 
%{_bindir}/mythshutdown
 
%{_bindir}/mythshutdown
 +
%{_bindir}/mythtv
 +
%{_bindir}/mythtvosd
 
%{_bindir}/mythwelcome
 
%{_bindir}/mythwelcome
%{_bindir}/mythcommflag
+
%{_datadir}/applications/*myth*.desktop
%{_bindir}/mythtranscode
 
%{_bindir}/mythtvosd
 
%{_libdir}/mythtv/filters
 
%{_libdir}/mythtv/plugins
 
 
%{_datadir}/mythtv/*.ttf
 
%{_datadir}/mythtv/*.ttf
 +
%{_datadir}/mythtv/*.xml
 
%{_datadir}/mythtv/i18n
 
%{_datadir}/mythtv/i18n
%{_datadir}/applications/*myth*.desktop
 
 
%{_datadir}/pixmaps/myth*.png
 
%{_datadir}/pixmaps/myth*.png
 +
%{_libdir}/mythtv/filters
 +
%{_libdir}/mythtv/plugins
 
%doc docs/dummy/mythtv-frontend
 
%doc docs/dummy/mythtv-frontend
  
Line 643: Line 648:
  
 
%changelog
 
%changelog
 +
 +
* Fri Mar 30 2006 Chris Petersen <rpm@forevermore.net>
 +
- Improve comments and rearrange some of the declarations for a better layout.
 +
- Remove mythbackend from desktop_applications, since it's not something that gets launched from a menu.
 +
- Add with_dts option.
 +
- Replace XFree86-devel BuildRequires with Xorg 7's mesa-libGLU-devel.
 +
- Remove mythepg and mythprogfind, as they don't seem to exist anymore.
 +
- Remove commented-out reference to mysql.txt.
 +
- Put mythtranscode in the backend package, where it's supposed to be.
 +
- Why run perl in sed mode when you can just run sed? (`perl -p` -> `sed`)
 +
- Remove the unnecessary check for .cvsignore files.
 +
- Remove a bunch of unnecessary directory changes.
 +
- Set with_proc_opt off by default, as it should be (rpm does a good enough job with this).
 +
- Add _smp_mflags to the make call.
 +
 
* Tue Jan 03 2006 David Bussenschutt <buzz@oska.com> %{version}-%{release}
 
* Tue Jan 03 2006 David Bussenschutt <buzz@oska.com> %{version}-%{release}
 
- Converted/Modified Chris' July 19 2005 spec to fully automate build of SVN for nightly snapshots.
 
- Converted/Modified Chris' July 19 2005 spec to fully automate build of SVN for nightly snapshots.
Line 813: Line 833:
 
* Wed Nov 13 2002 Axel Thimm <Axel.Thimm@ATrpms.net>
 
* Wed Nov 13 2002 Axel Thimm <Axel.Thimm@ATrpms.net>
 
- Initial build.
 
- Initial build.
 
 
 
 
</pre>
 
</pre>

Revision as of 09:45, 1 April 2006

#
# Specfile for building MythTV RPMS from an SVN checkout.
#
# by:   David Bussenschutt <buzz@oska.com>
#       Chris Petersen <rpm@forevermore.net>
#
# Modified/Extended from the great (non-svn based) work of:
#	Axel Thimm <Axel.Thimm@ATrpms.net>
#   (and others; see changelog at bottom for details.)
#
# Latest version:  http://www.mythtv.org/wiki/index.php/Mythtv-svn-rpmbuild-modularxorg.spec
#
# This spec relies upon several files included in the ATRPMS mythtv src.rpm
# file.  Please install it into your build tree before trying to build anything
# with this spec.
#

# Edit the following path to point to where you keep SVN checkout.  Among
# others, it will contain both the mythtv/ and mythplugins/ subdirectories.
%define _mythsvnroot '/usr/src/mythtv-svn/'

################################################################################
# The only thing below here that you should feel the need to edit is the
# Version tag below, which should be set to the *next* MythTV release.
################################################################################

# The name of the DVB driver package (used in a couple of places,
# so it's not hard-coded in the spec itself)
%define linuxtv_dvb_package linuxtv-dvb-1.1.1cvs20050529

# Compile type:  debug or release (Isaac recommends not using debug)
%define compile_type release

# A list of which applications we want to put into the desktop menu system
%define desktop_applications mythfrontend mythbackend mythtv-setup

# The vendor name we should attribute the aforementioned entries to
%define desktop_vendor  mythtv

# We need to define the name early
Name:           mythtv

# Now that the name is defined, we can look up the SVN revision
%define _svn_rev %(svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' ' )

#
# Below, you'll find the basic configuration for this package
#
Version:        0.20
Release:        0.%{_svn_rev}.svn
Summary:        A digital video recorder (DVR) application.

URL:            http://www.mythtv.org/
License:        GPL
Group:          Applications/Multimedia

Source0:        http://www.mythtv.org/mc/%{name}-%{version}.tar.bz2
Source1:        mythbackend.sysconfig.in
Source2:        mythbackend.init.in
Source3:        mythbackend.logrotate.in
Source4:        mythtv.png
Source5:        mythtv.desktop
Source6:        mythfrontend.png
Source7:        mythfrontend.desktop
Source12:       http://linuxtv.org/download/dvb/%{linuxtv_dvb_package}.tar.bz2
Source100:      mythtv-doc.configure.ac
Source101:      mythtv-doc.Makefile.am

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# Set "--with proc_opt" to let mythtv autodetect your CPU and run its
# processor-specific optimizations.  It seems to cause compile problems on many
# systems (particularly x86_64), so it is classified by the MythTV developers
# as "use at your own risk."
%define with_proc_opt      %{?_with_proc_opt:         1} %{!?_with_proc_opt:         0}

# The following options are enabled by default.  Use --without to disable them
%define with_lirc          %{?_without_lirc:          0} %{?!_without_lirc:          1}
%define with_firewire      %{?_without_firewire:      0} %{?!_without_firewire:      1}
%define with_dvb           %{?_without_dvb:           0} %{?!_without_dvb:           1}
%define with_alsa          %{?_without_alsa:          0} %{?!_without_alsa:          1}
%define with_oss           %{?_without_oss:           0} %{?!_without_oss:           1}
%define with_xrandr        %{?_without_xrandr:        0} %{?!_without_xrandr:        1}
%define with_xvmcnvidia    %{?_without_xvmcnvidia:    0} %{?!_without_xvmcnvidia:    1}
%define with_opengl_vsync  %{?_without_opengl_vsync:  0} %{!?_without_opengl_vsync:  1}

# The following options are disabled by default.  Use --with to enable them
%define with_arts          %{?_with_arts:          1} %{?!_with_arts:          0}
%define with_jack          %{?_with_jack:          1} %{!?_with_jack:          0}
%define with_xvmcvld       %{?_with_xvmcvld:       1} %{!?_with_xvmcvld:       0}
%define with_directfb      %{?_with_directfb:      1} %{!?_with_directfb:      0}
%define with_dts           %{?_with_dts:           1} %{!?_with_dts:           0}

# Define some directory names that aren't present in rpm's own macro library
%define _varlibdir     %{_localstatedir}/lib
%define _varcachedir   %{_localstatedir}/cache
%define _logdir        %{_localstatedir}/log
%define _rundir        %{_localstatedir}/run
%define _subsysdir     %{_localstatedir}/lock/subsys
%define _sysconfigdir  %{_sysconfdir}/sysconfig
%define _logrotatedir  %{_sysconfdir}/logrotate.d

################################################################################

BuildRequires:  gcc-c++
BuildRequires:  freetype-devel >= 2
BuildRequires:  lame-devel
BuildRequires:  qt-devel >= 3
BuildRequires:  mysql-devel
BuildRequires:  desktop-file-utils
BuildRequires:  XFree86-devel

%if %{with_alsa}
BuildRequires:  alsa-lib-devel
%endif

%if %{with_arts}
BuildRequires:  arts-devel
%endif

%if %{with_directfb}
BuildRequires:  directfb-devel
%endif

%if %{with_dts}
BuildRequires:  libdts-devel
%endif

#%if %{with_dvb}
#BuildRequires:  linuxtv-dvb-devel
#%endif

%if %{with_firewire}
BuildRequires:  libiec61883-devel >= 0.1.0svn49
BuildRequires:  libraw1394-devel  >= 1.2
BuildRequires:  libavc1394-devel
%endif

%if %{with_lirc}
BuildRequires:  lirc-lib-devel
%endif

%if %{with_opengl_vsync}
BuildRequires:  nvidia-graphics-devel
%endif

%if %{with_xvmcvld}
BuildRequires:  libXvMCW-devel
%endif

%if %{with_xvmcnvidia}
BuildRequires:  nvidia-graphics-devel
BuildRequires:  libXvMCW-devel
%endif

%description
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
 - 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 libmyth
Summary:   Library providing mythtv support.
Group:     System Environment/Libraries

Requires:  freetype >= 2
Requires:  lame
Requires:  qt >= 3
Requires:  qt-MySQL

%description -n libmyth
Common library code for MythTV and add-on modules (development)
MythTV provides a unified graphical interface for recording and viewing
television programs.  Refer to the mythtv package for more information.

################################################################################

%package -n libmyth-devel
Summary:   Development files for libmyth.
Group:     Development/Libraries

Requires:  libmyth = %{version}
Requires:  freetype-devel >= 2, lame-devel, qt-devel >= 3,
Requires:  mysql-devel

%if %{with_alsa}
Requires:  alsa-lib-devel
%endif

%if %{with_arts}
Requires:  arts-devel
%endif

%if %{with_directfb}
Requires:  directfb-devel
%endif

%if %{with_dts}
Requires:  libdts-devel
%endif

#%if %{with_dvb}
#Requires:  linuxtv-dvb-devel
#%endif

%if %{with_firewire}
Requires:  libiec61883-devel >= 0.1.0svn49
%endif

%if %{with_lirc}
Requires:  lirc-lib-devel
%endif

%if %{with_xvmcvld}
Requires:  libXvMCW
%endif

%if %{with_xvmcnvidia}
Requires:  nvidia-graphics-devel
Requires:  libXvMCW
%endif

%description -n libmyth-devel
This package contains the header files and libraries for developing
add-ons for mythtv.

################################################################################

%package -n mythtv-themes
Summary:    Base themes for mythtv's frontend.
Group:      Applications/Multimedia
Provides:   mythtv-theme-gant
Obsoletes:  mythtv-theme-gant

%description -n mythtv-themes
MythTV provides a unified graphical interface for recording and viewing
television programs.  Refer to the mythtv package for more information.

This package contains only the base themes used by the frontend and
mythtvsetup.

################################################################################

%package -n mythtv-frontend
Summary:   Client component of mythtv (a DVR).
Group:     Applications/Multimedia

Requires:  mythtv = %{version}
Requires:  mythtv-themes = %{version}
Provides:  mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}')

%description -n mythtv-frontend
MythTV provides a unified graphical interface for recording and viewing
television programs.  Refer to the mythtv package for more information.

This package contains only the client software, which provides a
front-end for playback and configuration.  It requires access to a
mythtv-backend installation, either on the same system or one
reachable via the network.

################################################################################

%package -n mythtv-backend
Summary:    Server component of mythtv (a DVR).
Group:      Applications/Multimedia

Conflicts:  xmltv-grabbers < 0.5.34
Requires:   mythtv = %{version}

%description -n mythtv-backend
MythTV provides a unified graphical interface for recording and viewing
television programs.  Refer to the mythtv package for more information.

This package contains only the server software, which provides video
and audio capture and encoding services.  In order to be useful, it
requires a mythtv-frontend installation, either on the same system or
one reachable via the network.

################################################################################

%package -n mythtv-setup
Summary:    Setup the mythtv backend.
Group:      Applications/Multimedia
Provides:   mythtvsetup = %{version}
Obsoletes:  mythtvsetup <= %{version}

Requires:   mythtv-backend = %{version}
Requires:   mythtv-themes  = %{version}

%description -n mythtv-setup
MythTV provides a unified graphical interface for recording and viewing
television programs.  Refer to the mythtv package for more information.

This package contains only the setup software for configuring the
mythtv backend.

################################################################################

%prep

# dont have an SVN checkout yet? get it!
    if [ ! -f '%{_mythsvnroot}/%{name}/README' ] ; then
        svn co http://cvs.mythtv.org/svn/trunk/ %{_mythsvnroot}
# got SVN already? update it!
    else
        svn update %{_mythsvnroot}/%{name}
    fi

# Re-determine SVN version to see if it's changed since we started.
    SVNNEW=`svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' '`

# Abort if SVN revision has changed since we started, since it would mean that
# our revision tag is no longer correct.
    if [ %{_svn_rev} != $SVNNEW ] ; then
        echo SVN revision changed from %{_svn_rev} to $SVNNEW. Please re-run rpmbuild now...
        false
    fi

# finally, sync SVN to the rpm build directory...
rsync -av --cvs-exclude --delete        \
      %{_mythsvnroot}/%{name}/*         \
      %{_builddir}/%{name}-%{version}/
#touch %{_sourcedir}/%{name}-%{version}.tar.bz2

%setup -q -T -D

%if %{with_dvb}
%setup -q -T -D -a 12
%endif

# Replace static lib paths with %{_lib} so we build properly on x86_64
# systems, where the libs are actually in lib64.
if [ "%{_lib}" != "lib" ]; then
    grep -rl /lib/   . | xargs sed -i -e 's,/lib/,/%{_lib}/,g'
    grep -rl /lib$   . | xargs sed -i -e 's,/lib$,/%{_lib},'
    grep -rl '/lib ' . | xargs sed -i -e 's,/lib ,/%{_lib} ,g'
fi

# test for X not with xinit, but instead with libX11.so
sed -i -e 's,test -f /usr/X11R6/bin/xinit,test -f /usr/X11R6/%{_lib}/libX11.so,' configure

# We also need Xv libs to build XvMCNVIDIA
sed -i -e 's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure

# Fix path to artsc.h on Fedora
#find . -type f | xargs grep -l artsc/artsc.h | xargs sed -i -e 's,artsc/artsc.h,artsc.h,g'

# Prevent all of those nasty installs to ../../../../../bin/whatever
echo "QMAKE_PROJECT_DEPTH = 0" >> mythtv.pro
echo "QMAKE_PROJECT_DEPTH = 0" >> settings.pro
chmod 644 settings.pro

# Install these files that MythTV doesn't include,
# and update them with the paths set by rpmbuild.
cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} .
for file in mythbackend.init      \
            mythbackend.sysconfig \
            mythbackend.logrotate; do
  sed -e 's#@logdir@#%{_logdir}#g'             \
      -e 's#@rundir@#%{_rundir}#g'             \
      -e 's#@sysconfigdir@#%{_sysconfigdir}#g' \
      -e 's#@initdir@#%{_initrddir}#g'         \
      -e 's#@bindir@#%{_bindir}#g'             \
      -e 's#@sbindir@#%{_sbindir}#g'           \
      -e 's#@subsysdir@#%{_subsysdir}#g'       \
      -e 's#@varlibdir@#%{_varlibdir}#g'       \
      -e 's#@varcachedir@#%{_varcachedir}#g'   \
      -e 's#@logrotatedir@#%{_logrotatedir}#g' \
  < $file.in > $file
done

# dummy docs that we can install for rpmlint's sake.
rm -rf docs/dummy
mkdir docs/dummy
echo "nothing here - dummy file" > docs/dummy/mythtv-backend
echo "nothing here - dummy file" > docs/dummy/mythtv-setup
echo "nothing here - dummy file" > docs/dummy/mythtv-frontend
echo "nothing here - dummy file" > docs/dummy/mythtv-themes

################################################################################

%build

# Need to set $QTDIR?
[ -n "$QTDIR" ] || . %{_sysconfdir}/profile.d/qt.sh

# Initialize the options string
OPTS=""

# Tune for the various processor types?
# we need to do something specific here re cpu detecting
%if %{with_proc_opt}
    OPTS="$OPTS --enable-proc-opt"
%endif

# Go through each of the config options and make sure they are
# enabled (or disabled) as requested.

%if %{with_arts}
    OPTS="$OPTS --enable-audio-arts"
%else
    OPTS="$OPTS --disable-audio-arts"
%endif

%if %{with_alsa}
    OPTS="$OPTS --enable-audio-alsa"
%else
    OPTS="$OPTS --disable-audio-alsa"
%endif

%if %{with_oss}
    OPTS="$OPTS --enable-audio-oss"
%else
    OPTS="$OPTS --disable-audio-oss"
%endif

%if %{with_xvmcnvidia}
    OPTS="$OPTS --enable-xvmc"
%else
    OPTS="$OPTS --disable-xvmc"
%endif

%if %{with_xvmcvld}
    OPTS="$OPTS --enable-xvmc-vld"
%else
    OPTS="$OPTS --disable-xvmc-vld"
%endif

%if %{with_opengl_vsync}
    OPTS="$OPTS --enable-opengl-vsync"
%else
    OPTS="$OPTS --disable-opengl-vsync"
%endif

%if %{with_lirc}
    OPTS="$OPTS --enable-lirc"
%else
    OPTS="$OPTS --disable-lirc"
%endif

%if %{with_firewire}
    OPTS="$OPTS --enable-firewire"
%else
    OPTS="$OPTS --disable-firewire"
%endif

%if %{with_jack}
    OPTS="$OPTS --enable-audio-jack"
%else
    OPTS="$OPTS --disable-audio-jack"
%endif

%if %{with_xrandr}
    OPTS="$OPTS --enable-xrandr"
%else
    OPTS="$OPTS --disable-xrandr"
%endif

%if %{with_directfb}
    OPTS="$OPTS --enable-directfb"
%else
    OPTS="$OPTS --disable-directfb"
%endif

%if %{with_dts}
    OPTS="$OPTS --enable-dts"
%else
    OPTS="$OPTS --disable-dts"
%endif

%if %{with_dvb}
    OPTS="$OPTS --enable-dvb"
    OPTS="$OPTS --enable-dvb-eit"
    OPTS="$OPTS --dvb-path=%{_builddir}/%{name}-%{version}/%{linuxtv_dvb_package}/linux/include/"
%else
    OPTS="$OPTS --disable-dvb"
%endif

# Similar to 'percent' configure, but without {_target_platform} and
# {_exec_prefix} etc... MythTV no longer accepts the parameters that the
# configure macro passes, so we do this manually.
./configure \
    --prefix=%{_prefix}            \
    --libdir=%{_libdir}            \
    --mandir=%{_mandir}            \
    --compile-type=%{compile_type} \
	--enable-joystick-menu         \
	--enable-ivtv                  \
	--enable-x11                   \
	--enable-xv                    \
    $OPTS

# Make
make
#{?_smp_mflags}

# We don't want rpm to add perl requirements to anything in contrib
find contrib -type f | xargs -r chmod a-x

################################################################################

%install

rm -rf %{buildroot}
make install INSTALL_ROOT=%{buildroot}

ln -s mythtv-setup %{buildroot}%{_bindir}/mythtvsetup
mkdir -p %{buildroot}%{_varlibdir}/mythtv
mkdir -p %{buildroot}%{_varcachedir}/mythtv
mkdir -p %{buildroot}%{_logdir}/mythtv
mkdir -p %{buildroot}%{_logrotatedir}
mkdir -p %{buildroot}%{_initrddir}
mkdir -p %{buildroot}%{_sysconfigdir}

# get perms right for rpmlint.
install -p -m 755 mythbackend.init      %{buildroot}%{_initrddir}/mythbackend
install -p -m 644 mythbackend.sysconfig %{buildroot}%{_sysconfigdir}/mythbackend
install -p -m 644 mythbackend.logrotate %{buildroot}%{_logrotatedir}/mythbackend

# Desktop entries
mkdir -p %{buildroot}%{_datadir}/pixmaps
mkdir -p %{buildroot}%{_datadir}/applications
for file in %{desktop_applications}; do
  if [ ! -f %{_sourcedir}/$file.png ] ; then
    cp %{_sourcedir}/mythfrontend.png %{_sourcedir}/$file.png
    cp %{_sourcedir}/mythfrontend.desktop %{_sourcedir}/$file.desktop
  fi
  install -p %{_sourcedir}/$file.png %{buildroot}%{_datadir}/pixmaps/$file.png
  desktop-file-install --vendor %{desktop_vendor} \
    --dir %{buildroot}%{_datadir}/applications    \
    --add-category X-Red-Hat-Extra                \
    --add-category Application                    \
    --add-category AudioVideo                     \
    %{_sourcedir}/$file.desktop
done

mkdir -p %{buildroot}%{_libdir}/mythtv/plugins

mkdir -p %{buildroot}%{_datadir}/mythtv/build/
install -p -m 644 settings.pro %{buildroot}%{_datadir}/mythtv/build/

################################################################################

%clean
rm -rf %{buildroot}

################################################################################

%pre
# Add the "mythtv" user
/usr/sbin/useradd -c "mythtvbackend User" \
        -s /sbin/nologin -r -d %{_varlibdir}/mythtv mythtv 2> /dev/null || :

%post

%post -n libmyth -p /sbin/ldconfig

%postun -n libmyth -p /sbin/ldconfig

%post -n mythtv-backend
/sbin/chkconfig --add mythbackend

%preun -n mythtv-backend
if [ $1 = 0 ]; then
    /sbin/service mythbackend stop > /dev/null 2>&1
    /sbin/chkconfig --del mythbackend
fi

################################################################################

%files
%defattr(-,root,root,-)
%doc README* UPGRADING AUTHORS COPYING FAQ
%doc database keys.txt
%doc docs/*.html docs/*.png docs/*.txt contrib configfiles

%define ghostattr %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace)

%files -n mythtv-backend
%defattr(-,root,root,-)
%attr(-,mythtv,mythtv) %dir %{_logdir}/mythtv
%attr(-,mythtv,mythtv) %dir %{_varcachedir}/mythtv
%attr(-,mythtv,mythtv) %dir %{_varlibdir}/mythtv
%config(noreplace) %{_logrotatedir}/mythbackend
%config(noreplace) %{_sysconfigdir}/mythbackend
%{_bindir}/mythbackend
%{_bindir}/mythfilldatabase
%{_bindir}/mythjobqueue
%{_bindir}/mythtranscode
%{_initrddir}/mythbackend
# Hm, somehow this doesn't work yet ... :(
#%ghostattr %{_logdir}/mythtv/mythbackend.log*
#%ghostattr %{_rundir}/mythbackend.pid
#%ghostattr %{_subsysdir}/mythbackend
%doc docs/dummy/mythtv-backend

%files -n mythtv-setup
%defattr(-,root,root,-)
%{_bindir}/mythtv-setup
%{_bindir}/mythtvsetup
%doc docs/dummy/mythtv-setup

%files -n mythtv-frontend
%defattr(-,root,root,-)
%{_bindir}/mythcommflag
%{_bindir}/mythfrontend
%{_bindir}/mythlcdserver
%{_bindir}/mythshutdown
%{_bindir}/mythtv
%{_bindir}/mythtvosd
%{_bindir}/mythwelcome
%{_datadir}/applications/*myth*.desktop
%{_datadir}/mythtv/*.ttf
%{_datadir}/mythtv/*.xml
%{_datadir}/mythtv/i18n
%{_datadir}/pixmaps/myth*.png
%{_libdir}/mythtv/filters
%{_libdir}/mythtv/plugins
%doc docs/dummy/mythtv-frontend

%files -n mythtv-themes
%defattr(-,root,root,-)
%{_datadir}/mythtv/themes
%doc docs/dummy/mythtv-themes

%files -n libmyth
%defattr(-,root,root,-)
%{_libdir}/*.so.*

%files -n libmyth-devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/*.a
%{_datadir}/mythtv/build/settings.pro

################################################################################

%changelog

* Fri Mar 30 2006 Chris Petersen <rpm@forevermore.net>
- Improve comments and rearrange some of the declarations for a better layout.
- Remove mythbackend from desktop_applications, since it's not something that gets launched from a menu.
- Add with_dts option.
- Replace XFree86-devel BuildRequires with Xorg 7's mesa-libGLU-devel.
- Remove mythepg and mythprogfind, as they don't seem to exist anymore.
- Remove commented-out reference to mysql.txt.
- Put mythtranscode in the backend package, where it's supposed to be.
- Why run perl in sed mode when you can just run sed? (`perl -p` -> `sed`)
- Remove the unnecessary check for .cvsignore files.
- Remove a bunch of unnecessary directory changes.
- Set with_proc_opt off by default, as it should be (rpm does a good enough job with this).
- Add _smp_mflags to the make call.

* Tue Jan 03 2006 David Bussenschutt <buzz@oska.com> %{version}-%{release}
- Converted/Modified Chris' July 19 2005 spec to fully automate build of SVN for nightly snapshots.
- reenabled opengl-vsync by default since atrpms has it enabled now!
- enabled --with-proc-opt by default, as most SVN users will want this.
- enabled 'debug' as SVN users will probably want this, gdb friendly.
- pulled axel's %%{_lib} fixes from June 4 2005 into this file
- resolved svn chicken-and-egg 'what version is this specfile?' question, by aborting on svn revision change
- ran results through rpmlint and fixed other minor errors (minor install perms)
- made all package,description,files keywords use -n syntax for clarity

* Tue Jul 19 2005 Chris Petersen <rpm@forevermore.net>
- Remove atrpms patches
- Change desktop vendor from atrpms to mythtv
- Change summary from PVR to DVR

* Mon Apr 18 2005 Chris Petersen <rpm@forevermore.net>
- Clean up spec, add documentation
- Rework --with and --without options
- Disable opengl-vsync by default (it's unstable for too many people)

* Fri Apr 15 2005 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.18.

* Thu Apr 14 2005 Axel Thimm <Axel.Thimm@ATrpms.net>
- Split off some themes into the myththemes package.

* Mon Apr 04 2005 Jarod Wilson <jarod@wilsonet.com>
- Rebuilt against nVidia 7174 XvMC
- Includes Qt 3.3.4 time change patch

* Thu Mar 03 2005 Jarod Wilson <jarod@wilsonet.com>
- Rebuilt against 20050228 DVB
- Add patch to include nVidia XvMC support again,
  but have it turned off by default

* Wed Feb 23 2005 Jarod Wilson <jarod@wilsonet.com>
- Added FireWire support

* Fri Feb 11 2005 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.17.

* Sat Nov 27 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Now that it works, disable XvMC in default build ...

* Wed Nov 24 2004 Jarod Wilson <jcw@wilsonet.com>
- Fix xvmcnvidia build.

* Fri Sep 17 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Remove dependencies on xmltv-grabbers and mysql (Edward Rudd
  <eddie@omegaware.com>).
- Include math.h in dvbdiseqc.cpp (Edward Rudd <eddie@omegaware.com>).
- Enable opengl_vsync and xrandr for some distributions.

* Fri Sep 10 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.16.

* Tue Aug  21 2004 Ben Stanley <bds02@uow.edu.au>
- Sub-release 75.
- Included dvb support in the build.
- Included .png files for html help

* Tue Jun  1 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Add patch for gcc < 3 (Edward Rudd <eddie@omegaware.com>).
- Update to 0.15.1.
- Remove patch, has already been applied.
- New patch from Edward.

* Thu May 27 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Updated to 0.15.

* Wed May  5 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Use workaround for qmake project depth bug
  (by Robert Hardy <rhardy@webcon.ca>).

* Tue Feb 17 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Split off mythtvsetup and the base themes into their own sub packages.
- Make mysql.txt part of both frontend and backend.
- Added support for arts and dvb. arts has been enabled by default.

* Sun Feb  1 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.14.
- Disable directfb in default build.

* Sun Jan  4 2004 Axel Thimm <Axel.Thimm@ATrpms.net>
- Enable directfb.

* Sat Dec 20 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Patch for missing tvformat default (bttv always did PAL).

* Thu Dec 11 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.13.
- Remove ringbuffer patch (applied in 0.13).

* Tue Oct 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Add cvs patch fixing ringbuffer races.
- Remove settings patch for alsa/lirc and make it configurable
  from the rpmbuild invocation instead with --with/--without switches
- New qmake invocation.

* Sun Oct 19 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.12.
- Move path macros out of specfile.
- Remove imdb patch.
- Silence install/upgrade output.

* Mon Oct 13 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Activate native alsa and lirc modes.

* Sat Sep 20 2003 "Jarod C. Wilson" <jcw@wilsonet.com>
- Added patch for imdb changes.

* Sat Aug 16 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.11.

* Wed Jul  2 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.10.

* Tue Jun 24 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Make logrotate script accept non-existing logfiles.

* Sat Jun 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Split off mythtv-suite.

* Thu Jun 12 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.9.1 release.
- Split /var/spool/mythtv to /var/lib/mythtv and /var/cache/mythtv.
  (as Debian does).

* Tue Jun 10 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.9 release.

* Wed May 14 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Fixed packaging bug in libmyth-devel.

* Tue Apr  8 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Rebuilt for Red Hat 9.

* Sun Mar 23 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Fixed desktop entries.

* Sat Mar 22 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Add g flag to sed.
- Don't use mythtv user yet.

* Fri Mar 21 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Add mythtv user.
- Add desktop entries.

* Wed Mar 19 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Added start/stop scripts for mythbackend.

* Tue Mar 18 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Removed unneeded 0.7 patches.

* Mon Mar 17 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.8.
- Synced with Matt Zimmerman's debian package (package splitting).
- Split off lib, devel, frontend, backend packages.

* Thu Feb 13 2003 Paul Jara <pjara@rogers.com>
- Added a patch that prevents a segmentation fault in mythfilldatabase.

* Thu Jan 16 2003 Axel Thimm <Axel.Thimm@ATrpms.net>
- Added dependency to qt-MySQL (Roy Stogner <roystgnr@ticam.utexas.edu>).

* Thu Dec  5 2002 Axel Thimm <Axel.Thimm@ATrpms.net>
- fixed installation paths.

* Wed Nov 13 2002 Axel Thimm <Axel.Thimm@ATrpms.net>
- Initial build.