diff mbox series

[PATCHv2] util-linux: Improve the package licenses

Message ID 20250603102320.2344115-1-pkj@axis.com
State New
Headers show
Series [PATCHv2] util-linux: Improve the package licenses | expand

Commit Message

Peter Kjellerstedt June 3, 2025, 10:23 a.m. UTC
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>
---

PATCHv2: Add more specific licenses for util-linux-bash-completion and
         util-linux-dev.

 meta/recipes-core/util-linux/util-linux.inc   | 43 ++++++++++++++++---
 .../util-linux/util-linux_2.41.bb             |  3 ++
 2 files changed, 40 insertions(+), 6 deletions(-)

Comments

Mathieu Dubois-Briand June 3, 2025, 9:12 p.m. UTC | #1
On Tue Jun 3, 2025 at 12:23 PM CEST, 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>
> ---
>

Hi Peter,

Thanks for your patch, but I believe we have some issue with the
licenses. Here is the error on the autobuilder:

ERROR: util-linux-libuuid-2.41-r0 do_package_qa: QA Issue: LICENSE:util-linux-libuuid-dev includes licenses (LGPL-2.1-or-later MIT BSD-2-Clause) that are not listed in LICENSE [unlisted-pkg-lics]

https://autobuilder.yoctoproject.org/valkyrie/#/builders/3/builds/1814

Can you have a look at the issue please?
Peter Kjellerstedt June 5, 2025, 9:35 p.m. UTC | #2
> -----Original Message-----
> From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
> Sent: den 3 juni 2025 23:12
> To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>; openembedded-
> core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCHv2] util-linux: Improve the package licenses
> 
> [You don't often get email from mathieu.dubois-briand@bootlin.com. Learn
> why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> On Tue Jun 3, 2025 at 12:23 PM CEST, 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>
> > ---
> >
> 
> Hi Peter,
> 
> Thanks for your patch, but I believe we have some issue with the
> licenses. Here is the error on the autobuilder:
> 
> ERROR: util-linux-libuuid-2.41-r0 do_package_qa: QA Issue: LICENSE:util-
> linux-libuuid-dev includes licenses (LGPL-2.1-or-later MIT BSD-2-Clause)
> that are not listed in LICENSE [unlisted-pkg-lics]
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/3/builds/1814
> 
> Can you have a look at the issue please?
> 
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

I have sent an updated patch series that takes care of the fact 
that util-linux and util-linux-libuuid really don't share license 
information and thus there is no point in having it in the common 
util-linux.inc file.

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index b0f2a9d497..d41e3991a5 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -6,14 +6,45 @@  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"
+LICENSE:${PN}-bash-completion = "GPL-2.0-or-later"
+LICENSE:${PN}-dev = "${LIBCOMMON_LICENSES}"
+# 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):