[PATCH] gstreamer1.0: update licences of all modules


Jose Quaresma
 

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 <quaresma.jose@...>
Cc: Peter Kjellerstedt <peter.kjellerstedt@...>
---
.../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(-)

diff --git a/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb
index 7a27d27b2e..e17f4ee09d 100644
--- a/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "A Tool to test GStreamer components"
HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html"
SECTION = "multimedia"

-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"

#S = "${WORKDIR}/gst-devtools-${PV}"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb
index 98b2650bb0..575e608d65 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb
@@ -6,7 +6,7 @@ SECTION = "multimedia"

# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
LICENSE_FLAGS = "commercial"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb
index 15f19e349e..94c5214a37 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as
HOMEPAGE = "http://gstreamer.freedesktop.org/"
SECTION = "multimedia"

-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-or-later"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://omx/gstomx.h;beginline=1;endline=21;md5=5c8e1fca32704488e76d2ba9ddfa935f"
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)}"
+LICENSE:${PN}-faad = "GPL-2.0-or-later"
+LICENSE:${PN}-resindvd = "GPL-2.0-or-later"
+LICENSE:${PN}-x265 = "GPL-2.0-or-later"
+
EXTRA_OEMESON += " \
-Ddoc=disabled \
-Daes=enabled \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb
index 455c9fc480..c9fbc599ae 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb
@@ -3,7 +3,7 @@ require gstreamer1.0-plugins-common.inc
DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
HOMEPAGE = "https://gstreamer.freedesktop.org/"
BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"

SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb
index da4d4a8ccb..17086bc3b8 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb
@@ -12,7 +12,7 @@ SRC_URI[sha256sum] = "2d119c15ab8c9e79f8cd3c6bf582ff7a050b28ccae52ab4865e1a14649

S = "${WORKDIR}/gst-plugins-good-${PV}"

-LICENSE = "GPLv2+ & LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"

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)}"
+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"
+
EXTRA_OEMESON += " \
-Ddoc=disabled \
-Dsidplay=disabled \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb
index 3399b6f9d7..29d7c55acb 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb
@@ -4,7 +4,7 @@ provided by python-gi) "
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
SECTION = "multimedia"

-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"

SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb
index 66764f0880..be81f87616 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "A library on top of GStreamer for building an RTSP server"
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
SECTION = "multimedia"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"

DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb
index ce7fbde0df..7ef8ae3138 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb
@@ -6,7 +6,7 @@ based plugins for GStreamer and helper libraries: `vaapidecode', \

REALPN = "gstreamer-vaapi"

-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"

SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb
index 243f99fee9..a84616cdd9 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb
@@ -4,7 +4,7 @@ It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime.
HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.1-or-later"

DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"

--
2.35.1


Peter Kjellerstedt
 

-----Original Message-----
From: Jose Quaresma <quaresma.jose@...>
Sent: den 17 februari 2022 00:28
To: openembedded-core@...
Cc: Peter Kjellerstedt <peter.kjellerstedt@...>; Jose Quaresma <quaresma.jose@...>
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 <quaresma.jose@...>
Cc: Peter Kjellerstedt <peter.kjellerstedt@...>
---
.../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


Jose Quaresma
 

Hi Peter,

It's not as simple as I was thinking, I'll need more time.

Jose

Peter Kjellerstedt <peter.kjellerstedt@...> escreveu no dia quinta, 17/02/2022 à(s) 14:34:

> -----Original Message-----
> From: Jose Quaresma <quaresma.jose@...>
> Sent: den 17 februari 2022 00:28
> To: openembedded-core@...
> Cc: Peter Kjellerstedt <peter.kjellerstedt@...>; Jose Quaresma <quaresma.jose@...>
> 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 <quaresma.jose@...>
> Cc: Peter Kjellerstedt <peter.kjellerstedt@...>
> ---
>  .../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


--
Best regards,

José Quaresma


Richard Purdie
 

On Thu, 2022-02-17 at 23:08 +0000, Jose Quaresma wrote:
It's not as simple as I was thinking, I'll need more time.
Perhaps split the patch so the main change to LICENSE can be resolved, then the
remaining later patches focus on the harder bit?

Cheers,

Richard


Jose Quaresma
 



Richard Purdie <richard.purdie@...> escreveu no dia quinta, 17/02/2022 à(s) 23:50:
On Thu, 2022-02-17 at 23:08 +0000, Jose Quaresma wrote:
> It's not as simple as I was thinking, I'll need more time.

Perhaps split the patch so the main change to LICENSE can be resolved, then the
remaining later patches focus on the harder bit?

I sent a v2 with that.

Jose


Cheers,

Richard



--
Best regards,

José Quaresma