Le mar. 23 mars 2021 à 18:27, Quentin Schulz
<[email protected]> a écrit :
>
> Hi all,
>
> On Tue, Mar 23, 2021 at 05:42:20PM +0100, Alexander Kanavin wrote:
> > Is it possible to further split the NONCOMMERCIAL_PACKAGECONFIGS into ones
> > that are enabled and disabled, and use the former in PACKAGECONFIG itself?
> >
> > Alex
> >
> > On Tue, 23 Mar 2021 at 17:38, Yann Dirson <[email protected]>
> > wrote:
> >
> > > From: Yann Dirson <[email protected]>
> > >
> > > The rationale here is that if the user can only whitelist "commercial"
> > > to use any part of ffmpeg, even it the list of features is carefully
> > > reviewed when switching the whitelisting on, there was nothing to
> > > guard from inadvertently activating a new feature that would not have
> > > been reviewed.
> > >
> > > This patch adds one LICENSE_FLAGS value for each feature, except for
> > > those that bring no codec, trying to be on the same level of legal
> > > safety - but then I may miss something.
> > >
> > > I tried to leave out of the safe NONCOMMERCIAL_PACKAGECONFIGS list
> > > anything that brings a codec, notably libavcodec. I also did not look
> > > at non-default features yet.
> > >
> > > There may still be a problem if any feature in ffmpeg gets activated
> > > by default upstream and not registed as a PACKAGECONFIG feature. At
> > > least any of those that depend on another lib would not be enabled,
> > > that could be seen as a sufficient safeguard.
> > > ---
> > > meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb | 12 +++++++++++-
> > > 1 file changed, 11 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
> > > b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
> > > index 08be38ca50..3a36c95151 100644
> > > --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
> > > +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb
> > > @@ -16,7 +16,17 @@ LICENSE_libavutil =
> > > "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGP
> > > LICENSE_libpostproc = "GPLv2+"
> > > LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl',
> > > 'GPLv2+', 'LGPLv2.1+', d)}"
> > > LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl',
> > > 'GPLv2+', 'LGPLv2.1+', d)}"
> > > -LICENSE_FLAGS = "commercial"
> > > +
> > > +# PACKAGECONFIG features that do not pull codecs
> > > +NONCOMMERCIAL_PACKAGECONFIGS = " \
> > > + alsa bzlib drm gpl lzma zlib xcb xv \
> > > + avdevice avfilter avformat swresample swscale postproc avresample \
> > > +"
> > > +# An ffmpeg feature not in NONCOMMERCIAL_PACKAGECONFIGS should be
> > > explicitly whitelisted.
> > > +# See https://ffmpeg.org/legal.html
> > > +LICENSE_FLAGS = "${@' '.join('commercial_' + cfg \
> > > + for cfg in '${PACKAGECONFIG}'.split() \
>
> I would at least make it commercial_ffmpeg- + cfg. To make it obvious
> that it belongs to ffmpeg recipe/packages.
Makes sense.
>
> I guess it breaks backward compatibility, which IMO is fine unless there
> is a possibility someone who blacklisted this commercial license in some
> way now has it enabled. I don't know enough about the inner workings of
> LICENSE_FLAGS so cannot say if this is covered or not.
You mean, that "commercial" would be whitelisted globally, but then
something would
exclude ffmpeg from that whitelist ? I'm not aware of a way to do that.
If someone whitelisted it, it should be with one of "commercial",
"commercial_ffmpeg",
or "commercial_ffmpeg_${PV}". It is likely hard to get the 3rd one to
work, but in any case
the compatibility breakage would result in an early build failure, so
I guess it will be
acceptable.
--
Yann Dirson <[email protected]>
Blade / Shadow -- http://shadow.techAFA
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#149838):
https://lists.openembedded.org/g/openembedded-core/message/149838
Mute This Topic: https://lists.openembedded.org/mt/81555357/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-