## Please edit system and help pages ONLY in the master wiki!
## For more information, please see MoinMoin:MoinDev/Translation.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl -All:write Default
#format wiki
#language en
== Important Dependency lists ==

<<TableOfContents(10)>>

=== Mass rebuild when bumping both so versions of x264 and ffmpeg ===

 * build x264 with bootstrap.
 * build ffmpeg
 * build gpac
 * build x264 without bootstrap (depends on gpac and ffmpeg ) 
 * build libquicktime (vlc, mjpegtools and mlt need it)
 * build what requires x264-libs.
 * build what requires ffmpeg-libs.

dnf --disablerepo='*' --enablerepo=rpmfusion-{non,}free-rawhide repoquery --available --whatrequires x264-libs --alldeps --qf "%{sourcerpm}" --quiet | sed 's|\(-[^-]\+\)\{2\}src.rpm||' | sort -u

  List what requires x264:
(build in first place)
  * ffmpeg
  * libquicktime 

(others)
  * avidemux
  * mplayer
  * ffmpeg-compat
  * gstreamer1-plugins-ugly
  * gstreamer-plugins-ugly
  * mythtv
  * vlc
    
dnf --disablerepo='*' --enablerepo=rpmfusion-{non,}free-rawhide repoquery --available --whatrequires ffmpeg-libs --alldeps --qf "%{sourcerpm}" --quiet | sed 's|\(-[^-]\+\)\{2\}src.rpm||' | sort -u   

  List what requires ffmpeg: 
(special when both so bumps need it for x264 without bootstrap)
  * gpac
(this group also depends on x264) 
  * x264
  * mplayer 
  * libquicktime
  * vlc
(others)
  * acoustid-fingerprinter
  * alsa-plugins-freeworld
  * audacious-plugins-freeworld
  * bino
  * bombono-dvd
  * chromaprint-tools
  * dvbcut
  * dvdstyler
  * ffmpegthumbnailer
  * ffmpegthumbs
  * guvcview
  * k3b-extras-freeworld
  * kmediafactory
  * libvdpau-va-gl
  * lightspark
  * minidlna
  * mlt
  * moc
  * mpd
  * mpv
  * openmw
  * picard-freeworld (?) 
  * qmmp-plugins-freeworld
  * vdr-softhddevice
  * wxsvg
  * xbmc
  * xine-lib
  * xmms2-freeworld
 
=== some other deps that also should be considered ===
 * gpac and ffmpeg before x264 without bootstrap
 * vlc before k3b-extras-freeworld,  kdenlive and kmediafactory
 * libquicktime before vlc, mjpegtools and mlt
 * wxsvg before dvdstyler
 * mlt before kmediafactory 
 * mencoder (mplayer) before kmediafactory 
 * xine-lib before vdr-xineliboutput

=== faad2 ===
These need rebuild when bumping SO version:
 * avidemux
 * cmus (libavformat only)
 * gpac
 * gstreamer-plugins-bad
 * libquicktime
 * mpd
 * mplayer
 * mythtv
 * streamripper
 * vlc
 * xine-lib
 * xmms2-freeworld

=== only ffmpeg so bump ===
repoquery --disablerepo=* --enablerepo=rpmfusion-{non,}free-rawhide --whatrequires ffmpeg-libs --source --alldeps | perl -pe 's/-\d.*?-\d+(\..*)?\.fc\d+(\..*)?.src.rpm//' | sort -u | grep -Pv "^ffmpeg$"

  * acoustid-fingerprinter
  * alsa-plugins-freeworld
  * audacious-plugins-freeworld
  * bino
  * bombono-dvd
  * chromaprint-tools
  * cmus
  * dvbcut
  * dvdstyler
  * ffmpeg2theora
  * ffmpegthumbnailer
  * ffmpegthumbs
  * gpac
  * guvcview
  * k3b-extras-freeworld
  * kmediafactory
  * libquicktime
  * lightspark
  * minidlna
  * miro
  * mlt
  * mpd
  * mplayer
  * picard-freeworld
  * qmmp-plugins-freeworld
  * vlc
  * wxsvg
  * x264
  * xbmc
  * xine-lib
  * xmms2-freeworld

=== whatrequires ffmpeg binary ===
repoquery  --whatrequires ffmpeg --source | perl -pe 's/-\d.*?-\d+(\..*)?\.fc\d+(\..*)?.src.rpm//' | sort -u
  * bombono-dvd
  * devede
  * dvd95
  * dvd-slideshow
  * get_iplayer
  * imagination
  * kdenlive
  * kmediafactory
  * mjpegtools
  * moc
  * mythtv
  * vdrsync

 we need check if this packages still compatible 

=== only x265 so bump ===
dnf repoquery --disablerepo='*' --enablerepo=rpmfusion-{non,}free-rawhide --whatrequires x265-libs --alldeps --srpm --quiet | sed 's|\(-[^-]\+\)\{2\}$||' | sort | uniq | grep -v x265 

(build in first place)
  * ffmpeg
(others)
  * avidemux
  * gstreamer1-plugins-bad-freeworld
  * !HandBrake
  * vlc
  * xpra-codecs-freeworld

On a branch we need request a buildroot override with for example:   
{{{
    koji-rpmfusion tag-build f27-free-override  x265-2.5-1.fc27
    koji-rpmfusion wait-repo f27-free-build --build=x265-2.5-1.fc27
}}}  

Also you may / should build ffmpeg first and add it to buildroot before starting build others packages that also depend on ffmpeg   

{{{
    koji-rpmfusion tag-build f27-free-override ffmpeg-3.3.5-2.fc27  
    koji-rpmfusion wait-repo f27-free-build --build=ffmpeg-3.3.5-2.fc27
}}}

=== also others deps on binaries programs that we might be consider ===
repoquery  --whatrequires mplayer --source | perl -pe 's/-\d.*?-\d+(\..*)?\.fc\d+(\..*)?.src.rpm//' | sort -u 
  * devede
  * dvbcut
  * dvd95
  * DVDRipOMatic
  * get_iplayer
  * gmtk
  * k9copy
  * kmediafactory
  * kplayer
  * mplayer
  * nailer
  * ogmrip
  * smplayer
  * vdr-mp3
  * xmms-mplayer

repoquery  --whatrequires mencoder --source | perl -pe 's/-\d.*?-\d+(\..*)?\.fc\d+(\..*)?.src.rpm//' | sort -u 
  * devede
  * dvd95
  * DVDRipOMatic
  * gnome-mplayer
  * h264enc
  * k9copy
  * mjpegtools
  * mplayer
  * ogmrip