Difference between revisions of "Mythtv-rpmbuild.spec"

From MythTV Official Wiki
Jump to: navigation, search
m (Remove atrpms reference)
 
(31 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 of SVN repository..
+
at the following link: https://github.com/MythTV/packaging/tree/master/rpm
# by:   David Bussenschutt <buzz@oska.com>
 
# Modified/Extended from the great (non-svn based) work of:
 
# Chris Petersen <rpm@forevermore.net>
 
# Axel Thimm <Axel.Thimm@ATrpms.net>
 
# see changelog (at bottom) for details.
 
  
# The name of the DVB driver package (used in a couple of places,
+
This will presumably work with any version of fedora from version 5 onward, and expects that you are pulling your packages from RPMFusion.
# so it's not hard-coded in the spec itself)
 
%define linuxtv_dvb_package linuxtv-dvb-1.1.1cvs20050529
 
  
# Compile type:  debug or release
+
Please read the documentation at the top of the file before using it.
%define compile_type release
 
#%define compile_type debug
 
  
# A list of which applications we want to put into the desktop menu system
+
[[Category:Scripts]]
%define desktop_applications mythfrontend mythbackend mythtv-setup
 
 
 
# The vendor name we should attribute the aforementioned entries to
 
%define desktop_vendor  mythtv
 
 
 
# Set "--with proc_opt" to let mythtv autodetect your CPU and run its
 
# processor-specific optimizations - enabled by default here!.
 
#  MythTV now uses a fairly intelligent cpu-detection script, so if you are
 
#  building an rpm by hand on the machine it will be used on, I encourage you
 
#  to use "--with proc_opt" to let mythtv decide for you.
 
%define with_proc_opt      %{?_without_proc_opt:      0} %{!?_without_proc_opt:      1}
 
 
 
# 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 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
 
 
 
# 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:  XFree86-devel
 
BuildRequires:  freetype-devel >= 2
 
BuildRequires:  lame-devel
 
BuildRequires:  qt-devel >= 3
 
BuildRequires:  mysql-devel
 
BuildRequires:  desktop-file-utils
 
 
 
%if %{with_alsa}
 
BuildRequires:  alsa-lib-devel
 
%endif
 
 
 
%if %{with_arts}
 
BuildRequires:  arts-devel
 
%endif
 
 
 
%if %{with_directfb}
 
BuildRequires:  directfb-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
 
BuildRequires:  XFree86-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_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
 
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..
 
# changed slightly, so that rpmbuild doesn't cache the old _svn_rev
 
SVNNEW=`svn info %{_mythsvnroot}/%{name} | grep Revision | cut --delimiter=: -f 2 | tr -d ' '`
 
echo NEW SVN REVISION: $SVNNEW
 
 
 
# abort if SVN revision has changed since we started this specfile...
 
if [ %{_svn_rev} != $SVNNEW ] ; then
 
echo SVN revision changed from %{_svn_rev} to $SVNNEW. Please re-run rpmbuild now...
 
false
 
fi
 
 
 
cd -
 
 
 
# finally, sync SVN to the rpm build directory...
 
rsync --cvs-exclude -rav %{_mythsvnroot}/%{name}/* %{_builddir}/%{name}-%{version}/
 
touch %{_sourcedir}/%{name}-%{version}.%{_svn_rev}.tar.bz2
 
 
 
echo Release is: %{release}
 
 
 
# '-n mythtv' would mean source goes to 'mythtv' not %{name}-%{version} (ie  mythtv-0.19)
 
%setup -q -n %{name}-%{version} -D -T
 
 
 
%if %{with_dvb}
 
%setup -q -n %{name}-%{version} -T -D -a 12
 
%endif
 
 
 
# where are we? we be here:
 
cd %{_builddir}/%{name}-%{version}
 
 
 
# 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 perl -pi -e's,/lib/,/%{_lib}/,g'
 
  grep -rl /lib$ . | xargs perl -pi -e's,/lib$,/%{_lib},'
 
  grep -rl '/lib ' . | xargs perl -pi -e's,/lib ,/%{_lib} ,g'
 
fi
 
 
 
# 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
 
 
 
# We also need Xv libs to build XvMCNVIDIA
 
perl -pi -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'
 
 
 
# 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
 
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
 
# get perms right for rpmlint/etc.
 
 
 
 
 
# 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_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...
 
./configure \
 
--prefix=%{_prefix} \
 
--compile-type=%{compile_type} \
 
--enable-joystick-menu \
 
--enable-ivtv \
 
--enable-x11 \
 
--enable-xv \
 
$OPTS
 
 
 
# Make
 
make
 
 
 
# 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 -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,-)
 
#config(noreplace) %{_datadir}/mythtv/mysql.txt
 
%{_bindir}/mythbackend
 
%{_bindir}/mythfilldatabase
 
%{_bindir}/mythjobqueue
 
%attr(-,mythtv,mythtv) %dir %{_varlibdir}/mythtv
 
%attr(-,mythtv,mythtv) %dir %{_varcachedir}/mythtv
 
%{_initrddir}/mythbackend
 
%config(noreplace) %{_sysconfigdir}/mythbackend
 
%config(noreplace) %{_logrotatedir}/mythbackend
 
%attr(-,mythtv,mythtv) %dir %{_logdir}/mythtv
 
# 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,-)
 
#config(noreplace) %{_datadir}/mythtv/mysql.txt
 
%{_datadir}/mythtv/*.xml
 
%{_bindir}/mythfrontend
 
%{_bindir}/mythtv
 
#%{_bindir}/mythepg
 
#%{_bindir}/mythprogfind
 
%{_bindir}/mythlcdserver
 
%{_bindir}/mythshutdown
 
%{_bindir}/mythwelcome
 
%{_bindir}/mythcommflag
 
%{_bindir}/mythtranscode
 
%{_bindir}/mythtvosd
 
%{_libdir}/mythtv/filters
 
%{_libdir}/mythtv/plugins
 
%{_datadir}/mythtv/*.ttf
 
%{_datadir}/mythtv/i18n
 
%{_datadir}/applications/*myth*.desktop
 
%{_datadir}/pixmaps/myth*.png
 
%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
 
* 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.