Subject: bug#43418: ffprobe/avprobe and ffmpeg/avconv should be added as dependencies of youtube-dl so it will function correctly

From: Mark H Weaver <[email-masked]>
Date: Wed, 16 Sep 2020 07:30:35 -0400

Hi Tobias,

Tobias Geerinckx-Rice <[email-masked]> writes:

> Mark H Weaver 写道：
>
>> I see two possible approaches: ffmpeg could be added to youtube-dl's
>> propagated-inputs, or it could be instead be added to 'inputs', and
>> we could substitute hardcoded paths to 'ffmpeg' in the built
>> 'youtube-dl'.  I generally tend to favor the latter approach, but
>> there are valid arguments for each approach and I don't feel strongly
>> about it.
>
> Which advantages does the former have?  I wasn't aware of any.

The former approach is arguably simpler, easier to maintain, and if the
user upgrades only 'ffmpeg' while leaving 'youtube-dl' unchanged, with
the latter approach 'youtube-dl' will continue using the old 'ffmpeg'
with its potential security holes, which users unfamiliar with Guix
might not expect.

I still generally prefer the latter approach for several reasons, most
notably because it means fewer dynamically-determined dependencies,
which are contrary to our goals for reproducible behavior, i.e. that if
the software in a given store item works today for your use case, it
will work the same way tomorrow.

However, it's worth noting that this property is less useful for a
program like 'youtube-dl', because a copy of 'youtube-dl' that works
today might well stop working tomorrow because of changes made on the
server side, regardless of our efforts.

      Mark