From: Stuart Henderson Subject: Re: UPDATE: FFmpeg 4.4.5 To: José Maldonado , ports Date: Wed, 31 Jul 2024 14:38:51 +0100 On 2024/07/31 12:02, Lucas Gabriel Vuotto wrote: > On Wed, Jul 31, 2024 at 12:05:36AM GMT, José Maldonado wrote: > > Hi Brad! Two questions you might be able to answer: > > > > What downstream projects haven't switched to at least ffmpeg 6 yet? > > > > What OpenBSD projects do we have that depend on ffmpeg? > > # pkg_add sqlports > $ show-reverse-deps graphics/ffmpeg > > Then you can check the downstream yourself. Take into consideration > that ffmpeg might not be the only thing blocking the update of a > downstream. show-reverse-deps is quite 'greedy' and will pull in many ports that only use ffmpeg as part of the chain for TEST_DEPENDS etc. It's good for counting "how many ports will break - including tests - if this port fails to build" but is usually overkill for "what might be affected if API changes". Another consideration is that sometimes the ffmpeg libraries are used (usually in this case graphics/ffmpeg would be in LIB_DEPENDS) - those are the ports where API changes will show up at build time. Other times the command-line tools are used - the interface for these changes less so things will usually be ok, but in the case they're not, that probably won't show up until run time. So here's a rough estimation that will be closer to the mark - it's too hot here for sql, so let's do it the dirty way - "pkg_add portslist" and... $ cut -d'|' -f2,8 /usr/local/share/ports-INDEX | grep -w graphics/ffmpeg | cut -d'|' -f1 audio/aqualung audio/audacious/plugins audio/audacity audio/cantata audio/chromaprint audio/cmus,-ffmpeg audio/deadbeef audio/moc audio/mpd audio/musikcube audio/pianobar audio/potamus audio/squeezelite audio/xmms2 devel/kf5/kfilemetadata devel/kf6/kfilemetadata emulators/citra emulators/dolphin emulators/dolphin,-nogui emulators/dosbox-x emulators/es-de emulators/fceux emulators/mgba emulators/mgba,-qt emulators/ppsspp emulators/retroarch games/alephone/alephone games/chiaki games/corsixth games/fs2open games/moonlight-qt games/openmw games/renpy games/stepmania games/vcmi graphics/arcan graphics/blender graphics/digikam graphics/ffmpeg graphics/ffmpegthumbnailer graphics/opencv graphics/openimageio graphics/openscenegraph multimedia/dvdstyler multimedia/gstreamer1/plugins-libav multimedia/handbrake multimedia/lebiniou multimedia/libde265,-tools multimedia/minidlna multimedia/mlt7 multimedia/motion multimedia/motion,mysql multimedia/motion,pgsql multimedia/mpv multimedia/xine-lib net/guacamole/server net/tdesktop net/tg_owt print/unpaper telephony/baresip/baresip telephony/iaxclient telephony/iaxclient,-tcl telephony/linphone/mediastreamer2 textproc/goldendict-ng x11/freerdp x11/kde-applications/ffmpegthumbs x11/kde-plasma/kpipewire x11/mplayer x11/qt6/qtmultimedia x11/qt6/qtwebengine x11/tigervnc x11/vlc x11/wxSVG For build testing, you can write that list of pkgpaths to a file, and use a command like "cd /usr/ports; SUBDIRLIST=/path/to/file make [...]" to build a whole load of ports in one run - check bsd.port.mk(5) and ports(7) for more info - things like this are useful SUBDIRLIST=... make fetch SUBDIRLIST=... make prepare FETCH_PACKAGES= Those SUBDIRLIST builds will stop partway if anything fails, you can use 'REPORT_PROBLEM' or 'REPORT_PROBLEM_LOGFILE' to do something (or nothing) when a build fails and move on to the next automatically (handy if you want to leave it going and then review results later)