Fedora 8 - Package Dependencies
Outdated: The information on this page may no longer be relevant to the current release of MythTV, 34.0. Please consider helping to update it. This page was last modified on 2010-01-05.
I was going to write an article, but I already had a script, so I just cleaned it up, instead.
Updated 2008-08-25 to adjust for changes in SNV trunk, and fedora. This should work for Fedora 9 without too many changes, but NOTE: 'qt4' is now just 'qt' and 'qt' is 'qt3'.
Further updated 2008-09-25. There have been further changes to SVN for MythWeb. If configure throws an error referring to missing Qt_WebKit headers then you need the new package. The new package is, of course, called WebKit-qt and is available in Fedora 8 updates, and is standard in Fedora 9. Updated or recent versions of other packages are also needed. The repo is at http://mirrors.kernel.org/fedora/updates/8/i386.newkey/.
The updated packages are:
WebKit-qt WebKit-qt-devel boost boost-devel gperf libicu libicu-devel libxslt libxslt-devel
When you are done here, go to:
[Installing MYTHTV SVN on Fedora]
for instructions on downloading SVN and building mythv.
Geoff 19:15, 2 April 2008 (UTC)
#!/bin/bash
#*********************************************
# Quick dependency fulfillment script for mythtv for *FEDORA 8*
# NOTE: Package names are different for Fedora 9: generally 'qt' becomes 'qt-3' and 'qt4' becomes 'qt'.
# For SVN trunk (using qt4) plus mytharchive and mythdvd plugins (plus some extras)
# May not include all of the requirements for other plugins, although mytharchive, mythvideo and mythmusic should be covered
# Now includes WebKit to avoid a 'configure' failure (from about SVN 18300 or so).
# If configure fails with an error '...QtWebKit headers not found'
# then change lines 2678-9 from:
# #
# check_header QtWebKit/QWebView -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtWebKit
# disabled QtWebKit_QWebView && echo "Warning! QtWebkit headers not found, MythBrowser will not work."
# to
# check_header QtWebKit -I/usr/include/QtWebKit -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtWebKit
# disabled QtWebKit && echo "Warning! QtWebkit headers not found, MythBrowser will not work."
#
# and change all references to "QtWebKit_QWebView" to "QtWebKit" (there is one reference at about line 1060)
# #
# Uses the atrpms and livna repos and assumes those repos are installed in /etc/yum.repos.d
#
# Assumes you need ivtv, lirc and firewire: DOES NOT SET THEM UP!
# Presumes you are starting from a 'bare metal' install of Fedora 8
# and adds necessary headers and libraries.
#
# Can be run multiple times without problem.
# Presumes that your yum fedora.repo points to ' ../releases/8/Everything/i386/os/packages'
# and '....fedora/updates/8/i386.newkey/'
# Presumes that you have *already* run 'yum -y update' following the base install
# Presumes that you have *already* run 'yum -y update' after the base install
# Where a library is required, you will also require the '*-devel' rpm.
#
# WARNING: This setup prefers atrpms over fedora for libraries.
# WARNING: Needed only for compiling myth from source!
# WARNING You have rebooted after the update?
echo " ********************************* "
echo ""
echo ""
echo " WARNING: Did you reboot after doing your update?"
echo ""
echo " Use control-C now to exit now."
echo ""
echo ""
export KVER=`uname -r` # Those are back-ticks, not quotes
Move atrpms, livna (and freshmeat) out of the way
echo " ********************************* "
echo ""
echo " Move atrpms, livna (and freshmeat, if installed), out of the way"
echo ""
mkdir /etc/yum.repos.d/hold
echo " You can ignore any 'File exists' error"
echo ""
mv -f /etc/yum.repos.d/atrpms* /etc/yum.repos.d/hold
mv -f /etc/yum.repos.d/livna* /etc/yum.repos.d/hold
mv -f /etc/yum.repos.d/fresh* /etc/yum.repos.d/hold
# To fix a problem where an i686 kernel gets downgraded to i586
# when installing kernel source
echo "exclude= *i586*" >> /etc/yum.conf
# Now install files from fedora repos
echo " ********************************* "
echo ""
echo " Install kernel sources"
echo ""
yum -y install kernel-devel kernel-headers
echo " Install needed extra development headers "
echo ""
yum -y install glibc glibc-common glibc-devel glibc-headers glibc-utils
yum -y install libXxf86vm libXxf86vm-devel
echo ""
echo " ********************************* "
echo ""
echo " Update to qt4: does NOT install the 15 Meg of qt4-docs"
echo " Note that these file names are case sensitive"
echo ""
yum -y install qt qt-devel qt-MySQL qt4 qt4-devel qt4-mysql qt4-x11
echo " Add the libmysqlclient libraries to LDPATH through ld.so.conf"
echo "/usr/lib/mysql" >> /etc/ld.so.conf
ldconfig
echo ""
echo " Otherwise you get the error: QSqlDatabase: QMYSQL3 driver not loaded"
echo " when myth tries to contact the database, as the client library is not found."
echo " ********************************* "
echo ""
echo " Now for the files mythtv needs"
echo ""
yum -y install alsa-lib alsa-lib-devel alsa-utils \
cdparanoia cdparanoia-devel cdparanoia-libs \
libdvdread libdvdread-devel \
libtheora libtheora-devel \
libexif libexif-devel \
libtiff libtiff-devel \
libvorbis libvorbis-devel nasm \
SDL SDL-devel
echo " ********************************* "
echo ""
echo " Add Firewire capabilies"
yum -y install libiec61883 libiec61883-devel libavc1394 libavc1394-devel
echo " ********************************* "
echo ""
echo " Now bring atrpms into scope"
echo ""
mv /etc/yum.repos.d/hold/atrpms* /etc/yum.repos.d/
echo " ********************************* "
echo ""
echo " Install ivtv including firmware for PVR150/250/350/500"
echo ""
yum -y install ivtv ivtv-devel ivtv-kmdl-$KVER ivtv-firmware
echo " ********************************* "
echo ""
echo " Install lirc: you will have to deal with modprobe.conf manually"
echo ""
yum -y install lirc lirc-lib lirc-lib-devel lirc-devices \
lirc-kmdl-$KVER
echo " ********************************* "
echo ""
echo " Substitute the atrpms libraw1394 for the fedora version"
echo ""
yum -y update libraw1394 # substitutes atrpms version for fedora
echo " ********************************* "
echo ""
echo " Now for the majority of the install"
echo " You should raid the fridge or make a coffee....."
echo " Note that some rpms have a name different from the library."
echo " I.e the rpm is called libmp3lame0 while the "
echo " library is called libmp3lame "
echo ""
echo " First firewire: a dependency of other stuff "
yum -y install libdc1394 libdc1394-devel \
libraw1394-devel libraw1394_8
echo ""
echo " Now a big bundle of stuff "
echo ""
yum -y install a52dec a52dec-devel liba52_0 \
alsa-driver alsa-driver-devel alsa-kmdl-$KVER \
faac faac-devel libfaac0 faad2 faad2-devel \
libfaac libmp4v2 ffmpeg ffmpeg-devel \
fftw fftw-devel fftw2 fftw2-devel \
flac flac-devel \
lame lame-devel libmp3lame0 \
libcdaudio libcdaudio-devel \
libdca libdca-devel libdca0 \
libdvdnav libdvdnav-devel \
libfame libfame-devel \
libmad libmad0 libmad-devel \
libXvMCW-devel nasm \
mjpegtools mjpegtools-devel \
mplayer mplayerplug-in \
SDL-devel taglib taglib-devel \
transcode xvidcore xvidcore-devel
echo " ********************************* "
echo ""
echo " Now hide atrpms and bring livna into scope."
echo " The Livna repo has duplicates of many atrpms files,"
echo " but generally not as new. "
echo " We use it only for specific files."
echo " Do NOT run 'yum update' with livna enabled!"
echo ""
mv -f /etc/yum.repos.d/hold/livna* /etc/yum.repos.d/
mv -f /etc/yum.repos.d/atrpms* /etc/yum.repos.d/hold
echo " ********************************* "
echo ""
echo " Install files from Livna"
yum -y install libdvdcss libdvdcss-devel \
libdvdplay libdvdplay-devel
echo " Almost done!"
echo " Some cleanup...."
mv -vf /etc/yum.repos.d/livna* /etc/yum.repos.d/hold
depmod -ae
ldconfig
echo " ********************************* "
echo ""
echo " Done!"
echo " "
echo " Note that you can run this as many times as you like."
echo " The only effect, besides installing (or reporting "Nothing to do")
echo " will be to add a line ("exclude = *i586*) to /etc/yum.conf, "
echo " and add a line ("usr/lib/mysql" to /etc/ld.so.conf each time it is run."
echo ""
echo ""
echo ""