[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#923494: Please Recommend and dlopen libsdl2 rather than depending on it



Hi,

On 12/03/2019 12:44, Reinhard Tartler wrote:
> On Tue, Mar 12, 2019 at 8:36 AM Carl Eugen Hoyos <ceffmpeg@gmail.com
> <mailto:ceffmpeg@gmail.com>> wrote:
> 
>     Please show the dependencies of (at least) libavutil and libavcodec
>     with your approach and maybe compare them to what sdl needs: While the
>     list may become smaller I wonder if it this would really solve the
>     described issue.
> 
> Sure thing, please find the full build log attached to this email.
> It details the full metadata at the end of the log.

I've been on a rather long haitus from Debian stuff for a while, t I now
have some time to do more so I'm going to get FFmpeg 4.1.4 uploaded next
(and by the looks of things 4.2 is just around the corner...)

I see a "fix" for this in the git history, but I think it's broken:

* There is an obvious typo in the d/rules file which prevents the option
to disable the SDL output device from taking effect. You can see from
the build log attached to this bug report that we still have an SDL
dependency.

* Even after fixing that, the dependency remains. I think the "opengl"
device backend has a dependency on SDL as well. Disabling that is
probably a greater loss?

* With the above two changes (disabling both sdl and opengl), I ran the
final packages through dose and compared the dependencies. This is the
list of transitive dependencies that no longer need installing after
this change:

 libsdl2-2.0-0
 libwayland-client0
 libwayland-cursor0
 libwayland-egl1
 libxcursor1
 libxinerama1
 libxkbcommon0
 libxrandr2
 libxss1
 xkb-data

Notice that all of OpenGL, all xcb and core x11 libraries are still
required.

The total uncompressed size of these packages is around 8M, with
libsdl2-2.0-0 and xkb-data being the only significant packages (the rest
are < 100k). Note that xkb-data is installed by default so that saving
is probably only relevant for stripped down containers. For comparison,
if I install ffmpeg in a build chroot, apt says it will use 418M of
extra space.

In conclusion, I don't think the savings this change gives us are worth
it, and I don't like disabling features in FFmpeg :)

I think what you really want is an "ffmpeg-nox" package containing a
build of the frontend ffmpeg tool with libavdevice completely disabled.
I haven't run this in dose, but by dropping this dependency I would
expect all the GL / X11 / etc dependencies to also go which would give
much better space savings. Probably needs a little more thinking about
the way this would be implemented though (and it's relationship with the
normal ffmpeg package).

James

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: