FS#55675 - [kodi] build with system ffmpeg

Attached to Project: Community Packages
Opened by Isaac David (isacdaavid) - Monday, 18 September 2017, 21:20 GMT
Last edited by Ike Devolder (BlackEagle) - Wednesday, 25 October 2017, 16:54 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Ike Devolder (BlackEagle)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

An ffmpeg copy is downloaded during build() (see https://github.com/xbmc/xbmc/blob/9e771c46d30efb43b9182625416e85222902b98f/tools/depends/target/ffmpeg/autobuild.sh#L114), unless one passes the -DWITH_FFMPEG="yes" option to cmake.

I apologize in advance if there's any reason for not using the system library.

Steps to reproduce:
1. cd kodi/ && makepkg
2. disable network after build() starts and watch the process fail
This task depends upon

Closed by  Ike Devolder (BlackEagle)
Wednesday, 25 October 2017, 16:54 GMT
Reason for closing:  Fixed
Additional comments about closing:  Was implemented in 17.4-6
Comment by Eli Schwartz (eschwartz) - Wednesday, 20 September 2017, 05:15 GMT
  • Field changed: Task Type (Feature Request → Bug Report)
  • Field changed: Status (Unconfirmed → Assigned)
  • Task assigned to Ike Devolder (BlackEagle)
Well, it looks like https://github.com/xbmc/xbmc/blob/17.4-Krypton/project/cmake/modules/FindFFMPEG.cmake tries to detect the system ffmpeg via pkg-config and only downloads an internal copy if it fails or if you use ENABLE_INTERNAL_FFMPEG. But it does need ffmpeg as a makedepends, which it doesn't seem to have...
Comment by Ike Devolder (BlackEagle) - Wednesday, 20 September 2017, 16:49 GMT
There have been issues where system ffmpeg could not playback some formats supported by kodi, and all was working fine with internal ffmpeg. Since then we always build with internal ffmpeg to avoid this sort of issues.
Comment by Eli Schwartz (eschwartz) - Wednesday, 20 September 2017, 17:13 GMT
That sounds quite weird, maybe the system ffmpeg package should be fixed!

But be that as it may, all sources used in a PKGBUILD should still be added to source=() and downloaded as part of makepkg itself then symlinked into the build directory as needed, rather than allowing the build system to download completely arbitrary and unauthenticated source code archives.
The fact that this allows offline builds is simply icing on the cake.

Also if you really want it to build with an internal ffmpeg copy, you should make this explicit in the build configuration, rather than relying on the fact that the *current* recursive makedepends graph doesn't include ffmpeg. This also helps other people realize when something is explicitly bundled rather than accidentally.
Comment by Levente Polyak (anthraxx) - Wednesday, 20 September 2017, 17:28 GMT
can we try to make system ffmpeg work? And figure out which format actually breaks and check why thats the case (compare internal and external ffmpeg).
I can provide debugging help if wanted
Comment by Isaac David (isacdaavid) - Friday, 22 September 2017, 17:54 GMT
> all sources used in a PKGBUILD should still be added to source=() and downloaded as part of makepkg itself

this sounds like the second best option, assuming there's a way to make kodi get along system ffmpeg (or the other way around). definitely more satisfactory than the current setup.
Comment by John (graysky) - Tuesday, 24 October 2017, 18:33 GMT
I noticed that there are other components that are downloaded upon building.

% grep 'download step' log
[ 2%] Performing download step (download, verify and extract) for 'crossguid'
[ 2%] Performing download step (download, verify and extract) for 'dvdcss'
[ 14%] Performing download step (download, verify and extract) for 'dvdread'
[ 15%] Performing download step (download, verify and extract) for 'dvdnav'

Is there a reason to want to use the system-provided versions of there corresponding packages as well? I will say that the change to including ffmpeg and ditching the internal version lead to breakage when ffmpeg was updated to 1:3.4-1 ( FS#56065 ) and also, the change pulls down all the ffmpeg deps which are sizable compared to having ffmpeg built into kodi and not pulling these down.

Loading...