Bug 4258

Summary: Review request: libav - Audio and video processing libraries
Product: Package Reviews Reporter: A. Trande (sagitter) <trpost>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED WONTFIX    
Severity: enhancement CC: dominik, rosser.bjr, rpmfusion-package-review
Priority: P1    
Version: Current   
Hardware: All   
OS: GNU/Linux   
URL: https://libav.org/
namespace:

Description A. Trande (sagitter) 2016-09-15 11:46:25 CEST
SPEC: https://drive.google.com/open?id=0Bz6cHSZ6ZzsYQ3RHNE8xMmVJYlU
SRPM: https://drive.google.com/open?id=0Bz6cHSZ6ZzsYUDNnbjUwcTZpVEk

%description
Libav provides cross-platform tools and libraries to convert,
manipulate and stream a wide range of multimedia formats and protocols.

This package is not eligible on Fedora because it needs unavailable packages.

## rpmlint output
$ rpmlint libav-11.7-1.fc24.x86_64.rpm libav-debuginfo-11.7-1.fc24.x86_64.rpm libav-devel-11.7-1.fc24.x86_64.rpm libav-tools-11.7-1.fc24.x86_64.rpm ../../SRPMS/libav-11.7-1.fc24.src.rpm
libav-devel.x86_64: W: only-non-binary-in-usr-lib
libav-devel.x86_64: W: no-documentation
5 packages and 0 specfiles checked; 0 errors, 2 warnings.
Comment 1 A. Trande (sagitter) 2016-09-15 11:55:52 CEST
Scratch builds on f24-free:
http://koji.rpmfusion.org/koji/taskinfo?taskID=32497

There is a configuration problem by activating "opencv" support; i'm contacting upstream.
Comment 2 Nicolas Chauvet 2016-09-15 12:03:16 CEST
FYI, why do you need this library and not ffmpeg instead ?
You are using a build suffix, so it should co-install with ffmpeg-libs but then you cannot mix dependencies build with ffmpeg and thoses built with libva.


We probably need to adapt %{name}-enforcing_system_crypto_policies.patch for ffmpeg. Can you send your patch to ffmpeg upstream also (if needed).
Comment 3 A. Trande (sagitter) 2016-09-15 12:14:05 CEST
(In reply to Nicolas Chauvet from comment #2)
> FYI, why do you need this library and not ffmpeg instead ?
> You are using a build suffix, so it should co-install with ffmpeg-libs but
> then you cannot mix dependencies build with ffmpeg and thoses built with
> libva.
> 

I used ffmpeg too; 'libav' would be simply a (good?) alternative.
For example, 'devede' uses both 'ffmpeg' and 'avconv' (from libav).

> 
> We probably need to adapt %{name}-enforcing_system_crypto_policies.patch for
> ffmpeg. Can you send your patch to ffmpeg upstream also (if needed).

I followed instructions from Fedora guidelines. Let me see if i know how to patch 'ffmpeg'.
Comment 4 A. Trande (sagitter) 2016-09-16 17:05:48 CEST
'libav-11' looks incompatible with 'opencv-3.1.0', it's disabled on Fedora >24.
Package ready for reviewing.

SPEC: https://drive.google.com/open?id=0Bz6cHSZ6ZzsYN2NXSUdFSUdpUkU
SRPM: https://drive.google.com/open?id=0Bz6cHSZ6ZzsYbVdxcmhSX3ZYb1k
Comment 5 Ben Rosser 2016-09-16 18:23:29 CEST
Taken.
Comment 6 Dominik 'Rathann' Mierzejewski 2016-09-16 20:25:22 CEST
Is there any real need for this package in RPMFusion? FFmpeg is almost 100% backwards compatible with libav. The one package that I thought still used bundled libav (gstreamer1-libav) actually switched back to FFmpeg last year.

Most of the symbols in the provided libraries have the same names, so you'd have to be extremely careful not to end up with another package depending on both ffmpeg-libs and libav in the future. Since libvdpau-va-gl (the vaapi-to-vdpau bridge that's required to use Intel GPUs via vdpau) depends on ffmpeg-libs, this might be trickier than you think. Even renaming the libraries and their sonames won't help here. You'd have to rename the symbols, too.

So, I'm against including this package in RPMFusion because it introduces a world of potential trouble without any clear technical benefits.

But of course I'm open to any counter-arguments.
Comment 7 A. Trande (sagitter) 2016-09-16 22:09:02 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #6)
> Is there any real need for this package in RPMFusion? FFmpeg is almost 100%
> backwards compatible with libav. The one package that I thought still used
> bundled libav (gstreamer1-libav) actually switched back to FFmpeg last year.
> 
> Most of the symbols in the provided libraries have the same names, so you'd
> have to be extremely careful not to end up with another package depending on
> both ffmpeg-libs and libav in the future. Since libvdpau-va-gl (the
> vaapi-to-vdpau bridge that's required to use Intel GPUs via vdpau) depends
> on ffmpeg-libs, this might be trickier than you think. Even renaming the
> libraries and their sonames won't help here. You'd have to rename the
> symbols, too.
> 

We could set Conflicts tag to prevent 'libav' installation if FFmpeg is already installed (and viceversa).

I don't know which one is the better today, but upstream says that 'FFmpeg' and 'libav' are different especially at API level.

I think that if it's possible, we can provide both and leave the choice to the developers.
Comment 8 Nicolas Chauvet 2016-09-16 22:29:50 CEST
(In reply to Antonio Trande from comment #7)
...
> I think that if it's possible, we can provide both and leave the choice to
> the developers.
A very good quote about this:
http://www.islinuxaboutchoice.com/
Comment 9 A. Trande (sagitter) 2016-09-17 11:24:38 CEST
Package refused.
Thanks to all.