Le jeu. 25 mars 2021 à 14:44, Yann Dirson via lists.openembedded.org <yann.dirson=blade-group....@lists.openembedded.org> a écrit : > > Hi Alex, > > Le mar. 23 mars 2021 à 17:42, Alexander Kanavin > <alex.kana...@gmail.com> a écrit : > > > > Is it possible to further split the NONCOMMERCIAL_PACKAGECONFIGS into ones > > that are enabled and disabled, and use the former in PACKAGECONFIG itself? > > You mean something like this ? > > # PACKAGECONFIG features that do not pull codecs > NONCOMMERCIAL_DEFAULT_PACKAGECONFIGS = " \ > avdevice avfilter avformat swresample swscale postproc avresample \ > alsa bzlib drm gpl lzma pic pthreads shared zlib \ > ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \ > ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)} \ > " > NONCOMMERCIAL_NONDEFAULT_PACKAGECONFIGS = " \ > altivec bzlib gsm jack openssl sdl2 \ > " > > PACKAGECONFIG ??= "avcodec theora \ > ${NONCOMMERCIAL_DEFAULT_PACKAGECONFIGS}" > > I admit I'm not completely sure about every feature's status. > > I tend to think that if ffmpeg relies on a lib providing an > implementation, and there > are patent-related risks, it should that lib setting a LICENSE_FLAG. > Eg. x264 and others > already sets the "commercial" flag, so I'm tempted to not add a > duplicate flag in > ffmpeg (in the same spirit as my patches against gst-libav and mpv). > Would it be > good enough ?
On second thought, it appears the only PACKAGECONFIG feature bringing codecs and not backed by a lib is just "avcodec". Thus we could probably just use: LICENSE_FLAGS = "${@bb.utils.contains('PACKAGECONFIG', 'avcodec', 'commercial', '', d)}" We would possibly not even need to set EXCLUDE_FROM_WORLD on this one, since the default PACKAGECONFIG would still set the "commercial" flag, right ? > > > > > > > Alex > > > > On Tue, 23 Mar 2021 at 17:38, Yann Dirson <yann.dir...@blade-group.com> > > wrote: > >> > >> From: Yann Dirson <y...@blade-group.com> > >> > >> 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() \ > >> + if cfg not in > >> '${NONCOMMERCIAL_PACKAGECONFIGS}'.split())}" > >> > >> LIC_FILES_CHKSUM = > >> "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > >> > >> file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ > >> -- > >> 2.30.2 > >> > >> > >> > >> > > > -- > Yann Dirson <y...@blade-group.com> > Blade / Shadow -- http://shadow.tech > > > -- Yann Dirson <y...@blade-group.com> Blade / Shadow -- http://shadow.tech
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#149981): https://lists.openembedded.org/g/openembedded-core/message/149981 Mute This Topic: https://lists.openembedded.org/mt/81555357/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-