Fedora 8 - Package Dependencies

From MythTV Official Wiki
Jump to: navigation, search

Time.png Outdated: The information on this page may no longer be relevant to the current release of MythTV, 0.27.4. Please consider helping to update it.

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 ""