Fedora 10 - Package Dependencies

From MythTV Official Wiki
Revision as of 14:54, 10 August 2009 by Newbury (talk | contribs)

Jump to: navigation, search

Updated dependency install script for Fedora 10 and SVN trunk This script should work for Fedora 11 as well, but there are some differences in the naming of the 'qt' packages.

Uses atrpms over rpmfusion.

As of March 13, 2009, the perl-Video-ivtv package and the perl-Video-Frequences package are missing from the atrpms fedora 10 repo. They may still be available in the atrpms fedora 9 repo tree at:

http://dl.atrpms.net/f9-i386/atrpms/stable/

Updated March 27, 2009, to download and install those packages using wget. In addition, it now installs 2 perl packages needed for the myth.rebuilddatabase.pl script, Time::Format and Time::Date.

Further updated May 1, 2009 to update package names and add some packages, including downloading and installing the 'essential' codecs package from mplayerhq.

Further updated August 10, 2009 to update package names, correct an error, and to add the xmltv packages at ATRPMS.

The notes on the 'Fedora 8 - Dependencies' page are still useful.

#!/bin/bash
#*********************************************
#               UPDATED FOR FEDORA 10
#  Updated March 27, 2009, May 1, 2009. August 11, 2009
#  Quick dependency fulfillment script for mythtv for *FEDORA 10* 
#  For SVN trunk (using qt4) plus mytharchive and mythdvd plugins
#  Does not necessarily include the requirements for other plugins
#  Uses atrpms and rpmfusion repos (livna no longer used for these files)
#  (assumes those repos are installed in /etc/yum.repos.d)
# 
#  Assumes you need ivtv, lirc and firewire: DOES NOT SETUP THEM UP!
#  Presumes you are starting from a 'bare metal' install of Fedora 10
#  Can be run multiple times without problem.
#  Presumes that your yum fedora.repo points to ' ../releases/10/Everything/i386/os/packages'
#  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. 
#
#  In order to avoid problems with digital sound, this script removes pulseaudio
#  
#  WARNING:  This setup prefers atrpms over fedora for libraries.
#  WARNING:  This setup basically ignores the rpmfusion repository.
#  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 "  WARNING:  This setup prefers atrpms over fedora for libraries."
 echo "  WARNING:  This setup basically ignores the rpmfusion repository."
 echo "  WARNING:  If you have used rpmfusion previously, this may not work."
 echo "  WARNING:  Needed only for compiling myth from source!"
 echo "  WARNING   You have rebooted after the update?"
 echo ""
 echo "         Any necessary downloads will be in /tmp. CD'ing to there now."

cd /tmp
 export KVER=`uname -r`    # Those are back-ticks, not quotes 

# Move all non-fedora repos: atrpms, livna and rpmfusion out of the way
 echo "          ********************************* "
 echo ""
 echo "   	Move all non-Fedora repos: atrpms, livna and rpmfusion 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/rpmfusion* /etc/yum.repos.d/hold
 mv -f /etc/yum.repos.d/fresh* /etc/yum.repos.d/hold

# Now install files from fedora repos
 echo "          ********************************* "
 echo ""
 echo "   	Update kernel and install kernel sources"
 echo ""
 yum update kernel
 yum -y --nogpgcheck install kernel-devel kernel-headers
 echo "         Install needed extra development headers "
 echo ""
 yum -y --nogpgcheck install \
	glibc glibc-common glibc-devel \
	glibc-headers glibc-utils \
	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 --nogpgcheck install \
	qt qt-devel qt-MySQL \
	qt4 qt4-devel qt4-mysql \
	qt4-x11 WebKit-qt WebKit-qt-devel
 
echo "          Add the libmysqlclient libraries to LDPATH through ld.so.conf"
 echo "/usr/lib/mysql" >> /etc/ld.so.conf
 echo "          Using echo /usr/lib/mysql >> /etc/ld.so.conf to add"
 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 remove pulse audio files mythtv does not need"
 echo ""
 echo "         Do NOT use 'remove pulseaudio*' as this will remove pulseaudio-libs"
 echo "         which will kill gdm and other core programs."
 echo ""
 yum -y remove pulseaudio alsa-plugins-pulseaudio pavucontrol \
               pulseaudio-utils gstreamer-plugins-pulse \
               pulseaudio-core-libs akode-pulseaudio 
 rm -rf /etc/pulse
 rm -rf /root/.pulse*
 rm -rf /home/mythtv/.pulse*
 echo ""
 echo "          ********************************* "
 echo ""
 echo "  	Now for the files mythtv needs"
 echo ""
 yum  -y --nogpgcheck install \
	alsa-lib alsa-lib-devel alsa-utils \
        cdparanoia cdparanoia-devel cdparanoia-libs \
        libdvdread libdvdread-devel \
        libtheora libtheora-devel
 yum -y --nogpgcheck install \
        libexif libexif-devel   \
        libtiff libtiff-devel  \
        libvorbis libvorbis-devel nasm \
        SDL SDL-devel libxcb libxcb-devel
 echo "          ********************************* "
 echo ""
 echo " 		Add Firewire capabilies"
 yum -y --nogpgcheck 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 dependencies of ivtv including"
 echo "          firmware for PVR150/250/350/500"
 echo ""
yum -y --nogpgcheck install atrpms

# needed for perl-Video-ivtv
wget http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/Video-Capture-V4l-0.902.tar.gz
tar zxvf Video-Capture-V4l-0.902.tar.gz
cd  Video-Capture-V4l-0.902
perl Makefile.PL
make && make install
cd /tmp
rm -rf Video-Capture*

echo "Install perl Video script rpm's from the Fedora 9 atrpms repo with wget"
wget http://dl.atrpms.net/all/perl-Video-Frequencies-0.03-4.fc9.noarch.rpm
rpm -Uvh perl-Video-Frequencies-0.03-4.fc9.noarch.rpm

wget http://dl.atrpms.net/all/perl-Video-ivtv-0.13-8.fc9.i386.rpm
rpm -Uvh perl-Video-ivtv-0.13-8.fc9.i386.rpm
rm -f perl-Video*

echo "           Ivtv is now included in the F10 kernel "

yum -y --nogpgcheck install ivtv-firmware

 echo "          ********************************* "
 echo ""
 echo "          Install lirc: you will have to deal with setup of lircrc manually"
 echo ""
 yum -y --nogpgcheck install \
	lirc lirc-devel lirc-libs lirc-devel \
	lirc-remotes lirc-devices
 echo "          ********************************* "
 echo ""
 echo "          Substitute the atrpms libraw1394 for the fedora version"
 echo ""
 yum -y --nogpgcheck 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 --nogpgcheck install \
	libdc1394 libdc1394-devel  \
        libraw1394-devel libraw1394_8
 echo ""
 echo "          Now a big bundle of stuff broken into five groups "
 echo ""
 yum -y --nogpgcheck install \
	a52dec a52dec-devel liba52_0 \
        alsa-driver alsa-driver-devel alsa-kmdl-$KVER \
        faac faac-devel libfaac0 faad2 faad2-devel \
        libmp4v2
 yum -y --nogpgcheck install \
        fftw fftw-devel fftw2 fftw2-devel \
        flac flac-devel \
        lame lame-devel libmp3lame0 \
        libcdaudio libcdaudio-devel
 yum -y --nogpgcheck install \
        libdca libdca-devel libdca0 \
	libdvdcss libdvdcss-devel \
	libdvdnav libdvdnav-devel \
        libfame libfame-devel
 yum -y --nogpgcheck install \
        libmad libmad0 libmad-devel \
        libmpeg3 libmpeg3-devel libmpeg3-utils \
        libXvMC libXvMCW-devel nasm \
        mjpegtools mjpegtools-devel

yum -y --nogpgcheck install \
        x264 x264-devel libx264* xmltv-gui \
        xmltv-grabbers perl-XMLTV

 yum -y --nogpgcheck install \
	ffmpeg ffmpeg-devel \
	libavcodec52 libavdevice52 libavformat52 \
	libquicktime libquicktime0 libquicktime-devel \
        mplayer mplayerplug-in mplayer-skins normalize \
        SDL-devel taglib taglib-devel \
        transcode xvidcore xvidcore-devel xmms-aac
 
 echo "          ********************************* "
 echo ""
 echo "          Now hide atrpms and bring rpmfusion into scope."
 echo "          Livna is no longer used."
 echo "          Do NOT run 'yum update' with atrpms, rpmfusion or livna enabled!"
 echo ""
 mv -f /etc/yum.repos.d/atrpms* /etc/yum.repos.d/hold
 echo "          ********************************* "
 echo "          The rpmfusion repo has duplicates of many atrpms files,"
 echo "          but generally not as new and some conflict with atrpms files."
 mv -f /etc/yum.repos.d/hold/rpmfusion* /etc/yum.repos.d/

 yum -y --nogpgcheck install libdvdplay libdvdplay-devel
 echo "              These two packages seem to have disappeared....."
 echo ""
 echo ""
 echo "          Install perl scripts needed by myth.rebuilddatabase.pl"
 echo "          Get Time::Format and install "
 echo ""
 echo ""

wget http://search.cpan.org/CPAN/authors/id/R/RO/ROODE/Time-Format-1.09.tar.gz

tar xzvf Time-Format-1.09.tar.gz
cd Time-Format-1.09
perl Makefile.PL
make && make install
 echo ""
 echo ""

cd /tmp
rm -rf Time-Format*

 echo "           Get Time::Date and install"

wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz

tar xzvf TimeDate-1.16.tar.gz
cd TimeDate-1.16
perl Makefile.PL
make && make install
cd /tmp
rm -rf TimeDate*
 echo ""
 echo ""
 echo " Almost done!"
 echo " Some cleanup...."
 mv -vf /etc/yum.repos.d/rpmfusion* /etc/yum.repos.d/hold
 depmod -ae
 ldconfig
 echo "          ********************************* "
 echo ""
 echo "          Amost Done!"
 echo "           Now to grab and install codecs from mplayerhq.hu "
 if [ -n /usr/lib/codecs ];
   then
    mkdir /usr/lib/codecs;
 fi;
 cd /usr/lib/codecs
 wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
 tar -xjvf essential-20071007.tar.bz2
 cd ./essential-20071007
 mv * ..
 cd /usr/lib/codecs
 rm -rf essential-20071007
 cd /tmp
 echo " "
 echo "          Note that you can run this as many times as you like."
 echo "          The only side-effect, besides installing packages, will be to "
 echo "          add one redundant repeated line to /etc/yum.conf each time, "
 echo "          and one redundant repeated line to /etc/ld.so.conf."
 echo ""
 echo ""