* [PATCH] util-linux: Improve the package licenses
@ 2025-06-03 3:14 Peter Kjellerstedt
2025-06-03 9:27 ` [OE-core] " Quentin Schulz
0 siblings, 1 reply; 5+ messages in thread
From: Peter Kjellerstedt @ 2025-06-03 3:14 UTC (permalink / raw)
To: openembedded-core
The default license for util-linux is GPL-2.0-or-later.
Most of the applications and the libraries are also linked with
libcommon.la, which uses these licenses:
LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
Set the above licenses for all dynamic packages, unless explicitly
specified.
In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
packages where they do not belong.
License-Update: See above
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++++---
.../util-linux/util-linux_2.41.bb | 3 ++
2 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index b0f2a9d497..bd7ad10035 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -6,14 +6,43 @@ disk partitioning, kernel message management, filesystem creation, and system lo
SECTION = "base"
+# Most of the applications and the libraries are linked with libcommon.la,
+# which uses these licenses
+LIBCOMMON_LICENSES = "LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT"
+
+# The default license is GPL-2.0-or-later
+DEFAULT_LICENSES = "GPL-2.0-or-later & ${LIBCOMMON_LICENSES}"
+
LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT & EUPL-1.2"
+# All dynamic packages use ${DEFAULT_LICENSES} with the following exceptions
+LICENSE:${PN}-cal = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-col = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-colcrt = "BSD-4-Clause-UC"
+LICENSE:${PN}-colrm = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-column = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-coresched = "EUPL-1.2 & ${LIBCOMMON_LICENSES}"
LICENSE:${PN}-fcntl-lock = "MIT"
-LICENSE:${PN}-fdisk = "GPL-1.0-or-later"
-LICENSE:${PN}-libblkid = "LGPL-2.1-or-later"
-LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later"
-LICENSE:${PN}-libmount = "LGPL-2.1-or-later"
-LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later"
-LICENSE:${PN}-coresched = "EUPL-1.2"
+LICENSE:${PN}-fdisk = "GPL-1.0-or-later & ${DEFAULT_LICENSES}"
+LICENSE:${PN}-fsfreeze = "GPL-1.0-or-later"
+LICENSE:${PN}-hexdump = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-kill = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-libblkid = "${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-libfdisk = "${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-libmount = "${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-libsmartcols = "${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-logger = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-look = "BSD-4-Clause-UC"
+LICENSE:${PN}-lscpu = "GPL-2.0-only & ${DEFAULT_LICENSES}"
+LICENSE:${PN}-mesg = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-nsenter = "GPL-2.0-only & ${DEFAULT_LICENSES}"
+LICENSE:${PN}-renice = "BSD-4-Clause-UC"
+LICENSE:${PN}-rev = "BSD-4-Clause-UC"
+LICENSE:${PN}-script = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-ul = "BSD-4-Clause-UC"
+LICENSE:${PN}-vipw = "BSD-4-Clause-UC & ${DEFAULT_LICENSES}"
+LICENSE:${PN}-wall = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-whereis = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
+LICENSE:${PN}-write = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
LIC_FILES_CHKSUM = "file://README.licensing;md5=55e895a80bdd4ffc65e167a76d2e7569 \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
diff --git a/meta/recipes-core/util-linux/util-linux_2.41.bb b/meta/recipes-core/util-linux/util-linux_2.41.bb
index 00036e8a68..6cc7708e06 100644
--- a/meta/recipes-core/util-linux/util-linux_2.41.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.41.bb
@@ -11,6 +11,9 @@ python util_linux_binpackages () {
pn = d.getVar('PN')
d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg)
+ if not d.getVar('LICENSE:' + pkg):
+ d.setVar('LICENSE:' + pkg, '${DEFAULT_LICENSES}')
+
if d.getVar('ALTERNATIVE:' + pkg):
return
if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] util-linux: Improve the package licenses
2025-06-03 3:14 [PATCH] util-linux: Improve the package licenses Peter Kjellerstedt
@ 2025-06-03 9:27 ` Quentin Schulz
2025-06-03 10:07 ` Peter Kjellerstedt
0 siblings, 1 reply; 5+ messages in thread
From: Quentin Schulz @ 2025-06-03 9:27 UTC (permalink / raw)
To: peter.kjellerstedt, openembedded-core
Hi Peter,
On 6/3/25 5:14 AM, Peter Kjellerstedt via lists.openembedded.org wrote:
> The default license for util-linux is GPL-2.0-or-later.
>
> Most of the applications and the libraries are also linked with
> libcommon.la, which uses these licenses:
> LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
>
> Set the above licenses for all dynamic packages, unless explicitly
> specified.
>
> In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
> packages where they do not belong.
>
> License-Update: See above
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
> meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++++---
> .../util-linux/util-linux_2.41.bb | 3 ++
> 2 files changed, 38 insertions(+), 6 deletions(-)
>
> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
> index b0f2a9d497..bd7ad10035 100644
> --- a/meta/recipes-core/util-linux/util-linux.inc
> +++ b/meta/recipes-core/util-linux/util-linux.inc
> @@ -6,14 +6,43 @@ disk partitioning, kernel message management, filesystem creation, and system lo
>
> SECTION = "base"
>
> +# Most of the applications and the libraries are linked with libcommon.la,
> +# which uses these licenses
Is this something we can detect directly within the binaries in a
package, so that we could simply add those licenses dynamically to
LICENSE:${PN}-x instead of having to list them by hand?
Packages without a package-specific LICENSE will take the recipe's
LICENSE I believe, considering that *.la is part of the -dev package
should the -dev package have a "more precise" license than the recipe's
default?
Cheers,
Quentin
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [OE-core] [PATCH] util-linux: Improve the package licenses
2025-06-03 9:27 ` [OE-core] " Quentin Schulz
@ 2025-06-03 10:07 ` Peter Kjellerstedt
2025-06-03 10:12 ` Quentin Schulz
0 siblings, 1 reply; 5+ messages in thread
From: Peter Kjellerstedt @ 2025-06-03 10:07 UTC (permalink / raw)
To: Quentin Schulz, openembedded-core@lists.openembedded.org
> -----Original Message-----
> From: Quentin Schulz <quentin.schulz@cherry.de>
> Sent: den 3 juni 2025 11:27
> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] util-linux: Improve the package licenses
>
> Hi Peter,
>
> On 6/3/25 5:14 AM, Peter Kjellerstedt via lists.openembedded.org wrote:
> > The default license for util-linux is GPL-2.0-or-later.
> >
> > Most of the applications and the libraries are also linked with
> > libcommon.la, which uses these licenses:
> > LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
> >
> > Set the above licenses for all dynamic packages, unless explicitly
> > specified.
> >
> > In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
> > packages where they do not belong.
> >
> > License-Update: See above
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > ---
> > meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++++---
> > .../util-linux/util-linux_2.41.bb | 3 ++
> > 2 files changed, 38 insertions(+), 6 deletions(-)
> >
> > diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
> > index b0f2a9d497..bd7ad10035 100644
> > --- a/meta/recipes-core/util-linux/util-linux.inc
> > +++ b/meta/recipes-core/util-linux/util-linux.inc
> > @@ -6,14 +6,43 @@ disk partitioning, kernel message management, filesystem creation, and system lo
> >
> > SECTION = "base"
> >
> > +# Most of the applications and the libraries are linked with libcommon.la,
> > +# which uses these licenses
>
> Is this something we can detect directly within the binaries in a
> package, so that we could simply add those licenses dynamically to
> LICENSE:${PN}-x instead of having to list them by hand?
I doubt that is possible.
> Packages without a package-specific LICENSE will take the recipe's
> LICENSE I believe, considering that *.la is part of the -dev package
> should the -dev package have a "more precise" license than the recipe's
> default?
Sounds like a good idea. I'll send an updated patch.
>
> Cheers,
> Quentin
//Peter
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH] util-linux: Improve the package licenses
2025-06-03 10:07 ` Peter Kjellerstedt
@ 2025-06-03 10:12 ` Quentin Schulz
2025-06-03 10:32 ` Peter Kjellerstedt
0 siblings, 1 reply; 5+ messages in thread
From: Quentin Schulz @ 2025-06-03 10:12 UTC (permalink / raw)
To: Peter Kjellerstedt, openembedded-core@lists.openembedded.org
Hi Peter,
On 6/3/25 12:07 PM, Peter Kjellerstedt wrote:
>> -----Original Message-----
>> From: Quentin Schulz <quentin.schulz@cherry.de>
>> Sent: den 3 juni 2025 11:27
>> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org
>> Subject: Re: [OE-core] [PATCH] util-linux: Improve the package licenses
>>
>> Hi Peter,
>>
>> On 6/3/25 5:14 AM, Peter Kjellerstedt via lists.openembedded.org wrote:
>>> The default license for util-linux is GPL-2.0-or-later.
>>>
>>> Most of the applications and the libraries are also linked with
>>> libcommon.la, which uses these licenses:
>>> LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
>>>
>>> Set the above licenses for all dynamic packages, unless explicitly
>>> specified.
>>>
>>> In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
>>> packages where they do not belong.
>>>
>>> License-Update: See above
>>> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
>>> ---
>>> meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++++---
>>> .../util-linux/util-linux_2.41.bb | 3 ++
>>> 2 files changed, 38 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
>>> index b0f2a9d497..bd7ad10035 100644
>>> --- a/meta/recipes-core/util-linux/util-linux.inc
>>> +++ b/meta/recipes-core/util-linux/util-linux.inc
>>> @@ -6,14 +6,43 @@ disk partitioning, kernel message management, filesystem creation, and system lo
>>>
>>> SECTION = "base"
>>>
>>> +# Most of the applications and the libraries are linked with libcommon.la,
>>> +# which uses these licenses
>>
>> Is this something we can detect directly within the binaries in a
>> package, so that we could simply add those licenses dynamically to
>> LICENSE:${PN}-x instead of having to list them by hand?
>
> I doubt that is possible.
>
Fair enough, was just a random thought I had :)
>> Packages without a package-specific LICENSE will take the recipe's
>> LICENSE I believe, considering that *.la is part of the -dev package
>> should the -dev package have a "more precise" license than the recipe's
>> default?
>
> Sounds like a good idea. I'll send an updated patch.
>
I don't know the content of the dev package, so maybe that isn't the
best suggestion and the default would work fine?
After all, the LIBCOMMON_LICENSE is part of the recipe's LICENSE so it
would be covered at the very least (albeit not necessarily proper).
Cheers,
Quentin
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [OE-core] [PATCH] util-linux: Improve the package licenses
2025-06-03 10:12 ` Quentin Schulz
@ 2025-06-03 10:32 ` Peter Kjellerstedt
0 siblings, 0 replies; 5+ messages in thread
From: Peter Kjellerstedt @ 2025-06-03 10:32 UTC (permalink / raw)
To: Quentin Schulz, openembedded-core@lists.openembedded.org
> -----Original Message-----
> From: Quentin Schulz <quentin.schulz@cherry.de>
> Sent: den 3 juni 2025 12:12
> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] util-linux: Improve the package licenses
>
> Hi Peter,
>
> On 6/3/25 12:07 PM, Peter Kjellerstedt wrote:
> >> -----Original Message-----
> >> From: Quentin Schulz <quentin.schulz@cherry.de>
> >> Sent: den 3 juni 2025 11:27
> >> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-core@lists.openembedded.org
> >> Subject: Re: [OE-core] [PATCH] util-linux: Improve the package licenses
> >>
> >> Hi Peter,
> >>
> >> On 6/3/25 5:14 AM, Peter Kjellerstedt via lists.openembedded.org wrote:
> >>> The default license for util-linux is GPL-2.0-or-later.
> >>>
> >>> Most of the applications and the libraries are also linked with
> >>> libcommon.la, which uses these licenses:
> >>> LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
> >>>
> >>> Set the above licenses for all dynamic packages, unless explicitly
> >>> specified.
> >>>
> >>> In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
> >>> packages where they do not belong.
> >>>
> >>> License-Update: See above
> >>> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> >>> ---
> >>> meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++++---
> >>> .../util-linux/util-linux_2.41.bb | 3 ++
> >>> 2 files changed, 38 insertions(+), 6 deletions(-)
> >>>
> >>> diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
> >>> index b0f2a9d497..bd7ad10035 100644
> >>> --- a/meta/recipes-core/util-linux/util-linux.inc
> >>> +++ b/meta/recipes-core/util-linux/util-linux.inc
> >>> @@ -6,14 +6,43 @@ disk partitioning, kernel message management, filesystem creation, and system lo
> >>>
> >>> SECTION = "base"
> >>>
> >>> +# Most of the applications and the libraries are linked with libcommon.la,
> >>> +# which uses these licenses
> >>
> >> Is this something we can detect directly within the binaries in a
> >> package, so that we could simply add those licenses dynamically to
> >> LICENSE:${PN}-x instead of having to list them by hand?
> >
> > I doubt that is possible.
>
> Fair enough, was just a random thought I had :)
>
> >> Packages without a package-specific LICENSE will take the recipe's
> >> LICENSE I believe, considering that *.la is part of the -dev package
> >> should the -dev package have a "more precise" license than the recipe's
> >> default?
> >
> > Sounds like a good idea. I'll send an updated patch.
>
> I don't know the content of the dev package, so maybe that isn't the
> best suggestion and the default would work fine?
It only contains stuff related to the libraries that util-linux provides
so it seems reasonable to set its license to ${LIBCOMMON_LICENSE}.
>
> After all, the LIBCOMMON_LICENSE is part of the recipe's LICENSE so it
> would be covered at the very least (albeit not necessarily proper).
The problem is when some irrelevant licenses are set and those licenses
are "problematic", such as BSD-4-Clause. At least for us that means we
have to go through extra hoops if we want to include such a package in
an image. Thus having the licenses as correct as possible helps a lot.
Now, we don't include -dev packages in our images, but still, it does
not hurt.
>
> Cheers,
> Quentin
//Peter
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-06-03 10:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-03 3:14 [PATCH] util-linux: Improve the package licenses Peter Kjellerstedt
2025-06-03 9:27 ` [OE-core] " Quentin Schulz
2025-06-03 10:07 ` Peter Kjellerstedt
2025-06-03 10:12 ` Quentin Schulz
2025-06-03 10:32 ` Peter Kjellerstedt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.