> -----Original Message-----
> From: Jose Quaresma <[email protected]>
> Sent: den 17 februari 2022 00:28
> To: [email protected]
> Cc: Peter Kjellerstedt <[email protected]>; Jose Quaresma 
> <[email protected]>
> Subject: [PATCH] gstreamer1.0: update licences of all modules
> 
> Since all gstreamer modules uses LGPLv2.1 with exceptions
> for some plugins in bad and ugly modules that has GPLv2+.
> 
> For the GPLv2+ this patch set the licence only for each plugin
> that is affected by this licence. The commercial LICENSE_FLAGS
> is enabled if any of the previous plugins is builded.
> 
> Signed-off-by: Jose Quaresma <[email protected]>
> Cc: Peter Kjellerstedt <[email protected]>
> ---
>  .../gstreamer/gst-devtools_1.20.0.bb                   |  2 +-
>  .../gstreamer/gstreamer1.0-libav_1.20.0.bb             |  2 +-
>  .../gstreamer/gstreamer1.0-omx_1.20.0.bb               |  2 +-
>  .../gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb       |  7 ++++++-
>  .../gstreamer/gstreamer1.0-plugins-base_1.20.0.bb      |  2 +-
>  .../gstreamer/gstreamer1.0-plugins-good_1.20.0.bb      |  2 +-
>  .../gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb      | 10 ++++++++--
>  .../gstreamer/gstreamer1.0-python_1.20.0.bb            |  2 +-
>  .../gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb       |  2 +-
>  .../gstreamer/gstreamer1.0-vaapi_1.20.0.bb             |  2 +-
>  .../gstreamer/gstreamer1.0_1.20.0.bb                   |  2 +-
>  11 files changed, 23 insertions(+), 12 deletions(-)

[cut]

> diff --git 
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb 
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb
> index 915d4ec744..22288373ac 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb
> @@ -15,7 +15,7 @@ SRC_URI[sha256sum] =
> "015b8d4d9a395ebf444d40876867a2034dd3304b3ad48bc3a0dd0c1ee7
> 
>  S = "${WORKDIR}/gst-plugins-bad-${PV}"
> 
> -LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
> +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
> 
>  DEPENDS += "gstreamer1.0-plugins-base"
> @@ -98,6 +98,11 @@ PACKAGECONFIG[faad]            = 
> "-Dfaad=enabled,-Dfaad=disabled,faad2"
>  PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,- 
> Dresindvd=disabled,libdvdread libdvdnav"
>  PACKAGECONFIG[x265]            = "-Dx265=enabled,-Dx265=disabled,x265"
> 
> +LICENSE_FLAGS = "${@bb.utils.contains("PACKAGECONFIG", "gpl", "commercial", 
> "", d)}"

There shouldn't be any commercial limitations in these plugins. If there 
were, then they would be in -ugly instead.

> +LICENSE:${PN}-faad = "GPL-2.0-or-later"
> +LICENSE:${PN}-resindvd = "GPL-2.0-or-later"
> +LICENSE:${PN}-x265 = "GPL-2.0-or-later"

This is unfortunately not enough. It is actually more the opposite of 
what is needed. You need to set the license for all the other plugins 
that are only affected by LGPL-2.1-or-later since the default for a 
package is ${LICENSE} if no ${LICENSE:<package>} is defined.

It is likely that you can do something creative in 
split_gstreamer10_packages() and set the default license there for the 
plugin packages to "LGPL-2.1-or-later" and then the overrides above 
would be enough. You probably want to do something like this to avoid 
having to update the lists of plugin packages every time the recipes 
are updated to new versions as plugins have a tendency to come and go.

> +
>  EXTRA_OEMESON += " \
>      -Ddoc=disabled \
>      -Daes=enabled \

[cut]

> diff --git 
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb 
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb
> index 8128104319..6442fd4504 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb
> @@ -7,8 +7,7 @@ BUGTRACKER = 
> "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues
>  LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> 
> file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
> 
> -LICENSE = "GPLv2+ & LGPLv2.1+ & LGPLv2+"
> -LICENSE_FLAGS = "commercial"
> +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
> 
>  SRC_URI = " \
>              
> https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz
>  \
> @@ -37,6 +36,13 @@ PACKAGECONFIG[dvdread]  = 
> "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
>  PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
>  PACKAGECONFIG[x264]     = "-Dx264=enabled,-Dx264=disabled,x264"
> 
> +LICENSE_FLAGS = "${@bb.utils.contains("PACKAGECONFIG", "gpl", "commercial", 
> "", d)}"

I do not think making this conditional is correct. AFAIK the commercial 
flag is used in this recipe due to, e.g., patent limitations and not 
necessarily the actual code and its license. It affects all plugins in 
-ugly (it is the reason they are there in the first place and not in, 
e.g., -good or -bad).

> +LICENSE:${PN}-cdio = "GPL-2.0-or-later"
> +LICENSE:${PN}-a52dec = "GPL-2.0-or-later"
> +LICENSE:${PN}-dvdread = "GPL-2.0-or-later"
> +LICENSE:${PN}-mpeg2dec = "GPL-2.0-or-later"
> +LICENSE:${PN}-x264 = "GPL-2.0-or-later"

The same applies here as in -bad.

> +
>  EXTRA_OEMESON += " \
>      -Ddoc=disabled \
>      -Dsidplay=disabled \

//Peter
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161815): 
https://lists.openembedded.org/g/openembedded-core/message/161815
Mute This Topic: https://lists.openembedded.org/mt/89198428/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to