From: Peter Kjellerstedt <pkj@axis.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH] util-linux: Improve the package licenses
Date: Tue, 3 Jun 2025 05:14:25 +0200 [thread overview]
Message-ID: <20250603031425.2206714-1-pkj@axis.com> (raw)
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):
next reply other threads:[~2025-06-03 3:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-03 3:14 Peter Kjellerstedt [this message]
2025-06-03 9:27 ` [OE-core] [PATCH] util-linux: Improve the package licenses Quentin Schulz
2025-06-03 10:07 ` Peter Kjellerstedt
2025-06-03 10:12 ` Quentin Schulz
2025-06-03 10:32 ` Peter Kjellerstedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250603031425.2206714-1-pkj@axis.com \
--to=pkj@axis.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox