Difference between revisions of "Mythtv-rpmbuild.spec"

From MythTV Official Wiki
Jump to: navigation, search
(See changelog entry from 2006-03-31)
m (Remove atrpms reference)
 
(29 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<pre>
+
This spec is for building MythTV RPM packages from a git checkout.
#
+
It should be used along with the build_myth.sh shell script included
# Specfile for building MythTV RPMS from an SVN checkout.
+
at the following link: https://github.com/MythTV/packaging/tree/master/rpm
#
 
# 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
+
This will presumably work with any version of fedora from version 5 onward, and expects that you are pulling your packages from RPMFusion.
# others, it will contain both the mythtv/ and mythplugins/ subdirectories.
 
%define _mythsvnroot '/usr/src/mythtv-svn/'
 
  
################################################################################
+
Please read the documentation at the top of the file before using it.
# 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,
+
[[Category:Scripts]]
# 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.
 
</pre>
 

Latest revision as of 16:07, 4 August 2017

This spec is for building MythTV RPM packages from a git checkout. It should be used along with the build_myth.sh shell script included at the following link: https://github.com/MythTV/packaging/tree/master/rpm

This will presumably work with any version of fedora from version 5 onward, and expects that you are pulling your packages from RPMFusion.

Please read the documentation at the top of the file before using it.