* [oe] [meta-networking] [PATCH v2 1/2] mctp: split mctp tools and mctpd into separate recipes
@ 2026-08-11 7:25 James Lee
2026-08-11 7:25 ` [oe] [meta-networking] [PATCH v2 2/2] mctp: upgrade 2.5 -> 2.6 James Lee
0 siblings, 1 reply; 2+ messages in thread
From: James Lee @ 2026-08-11 7:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: andrew, jk
The current mctp recipe relies on the upstream's conditional build and
install of the mctpd binary if systemd is present, only building the
mctp utility otherwise. Future upstream changes allowing running as
non-root require more control over the build process. We will need to
add a new system user when mctpd is built.
Adding a user requires inheriting useradd, which assumes at least one
user will be created, failing the recipe otherwise. Building without
mctpd would then cause the recipe to fail as conditionally inheriting
useradd seems infeasible.
To make useradd available for the new upstream release, split the recipe
into "mctp" for the utilities and "mctpd" for the daemon, isolating the
systemd dependency to "mctpd".
This makes the two parts of the source explicitly selectable from user
choice, rather than auto-detecting based on the presence of systemd. It
will also let us express the useradd rules only when they're needed for
the mctpd installation in the upcoming version bump.
Signed-off-by: James Lee james@codeconstruct.com.au
---
meta-networking/recipes-support/mctp/mctp.inc | 11 +++++
.../recipes-support/mctp/mctp_2.5.bb | 46 ++-----------------
.../recipes-support/mctp/mctpd_2.5.bb | 28 +++++++++++
3 files changed, 42 insertions(+), 43 deletions(-)
create mode 100644 meta-networking/recipes-support/mctp/mctp.inc
create mode 100644 meta-networking/recipes-support/mctp/mctpd_2.5.bb
diff --git a/meta-networking/recipes-support/mctp/mctp.inc b/meta-networking/recipes-support/mctp/mctp.inc
new file mode 100644
index 0000000000..98225cffea
--- /dev/null
+++ b/meta-networking/recipes-support/mctp/mctp.inc
@@ -0,0 +1,11 @@
+HOMEPAGE = "http://www.github.com/CodeConstruct/mctp"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21"
+
+SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https;tag=v${PV}"
+SRCREV = "07c7a5d526f686da89bc9ae9cad917e46652b272"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dtests=false"
diff --git a/meta-networking/recipes-support/mctp/mctp_2.5.bb b/meta-networking/recipes-support/mctp/mctp_2.5.bb
index a8787d3f2b..5811495c66 100644
--- a/meta-networking/recipes-support/mctp/mctp_2.5.bb
+++ b/meta-networking/recipes-support/mctp/mctp_2.5.bb
@@ -1,45 +1,5 @@
-SUMMARY = "Management Component Control Protocol utilities"
-HOMEPAGE = "http://www.github.com/CodeConstruct/mctp"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
+require mctp.inc
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21"
+SUMMARY = "Management Component Transport Protocol (MCTP) utilities"
-SRCREV = "07c7a5d526f686da89bc9ae9cad917e46652b272"
-
-SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https;tag=v${PV}"
-
-
-inherit meson pkgconfig systemd
-
-EXTRA_OEMESON = " \
- -Dtests=false \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-
-# mctpd will only be built if pkg-config detects libsystemd; in which case
-# we'll want to declare the dep and install the service.
-PACKAGECONFIG[systemd] = ",,systemd,libsystemd"
-SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target"
-SYSTEMD_AUTO_ENABLE:${PN} = "enable"
-
-do_install:append () {
- if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/conf/mctpd.service \
- ${D}${systemd_system_unitdir}/mctpd.service
- install -m 0644 ${S}/conf/*.target \
- ${D}${systemd_system_unitdir}/
- install -d ${D}${datadir}/dbus-1/system.d
- install -m 0644 ${S}/conf/mctpd-dbus.conf \
- ${D}${datadir}/dbus-1/system.d/mctpd.conf
- fi
-}
-
-FILES:${PN} += " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', \
- '${datadir}/dbus-1/system.d/mctpd.conf', '', d)} \
-"
+MESON_TARGET = "mctp mctp-client"
diff --git a/meta-networking/recipes-support/mctp/mctpd_2.5.bb b/meta-networking/recipes-support/mctp/mctpd_2.5.bb
new file mode 100644
index 0000000000..f049be646b
--- /dev/null
+++ b/meta-networking/recipes-support/mctp/mctpd_2.5.bb
@@ -0,0 +1,28 @@
+require mctp.inc
+
+SUMMARY = "Management Component Transport Protocol (MCTP) control protocol daemon"
+
+inherit systemd
+
+do_install:append () {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/conf/mctpd.service \
+ ${D}${systemd_system_unitdir}/mctpd.service
+ install -m 0644 ${S}/conf/*.target \
+ ${D}${systemd_system_unitdir}/
+ install -d ${D}${datadir}/dbus-1/system.d
+ install -m 0644 ${S}/conf/mctpd-dbus.conf \
+ ${D}${datadir}/dbus-1/system.d/mctpd.conf
+}
+
+SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target"
+
+DEPENDS += "systemd"
+
+# Meson adds mctp utility binaries to FILES and do_install(), which cannot be
+# overriden by MESON_TARGET. Override FILES and remove binaries to correct.
+FILES:${PN} = "${datadir}/dbus-1/system.d/mctpd.conf ${sbindir}/mctpd"
+
+do_install:append () {
+ rm -r ${D}${bindir}
+}
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread* [oe] [meta-networking] [PATCH v2 2/2] mctp: upgrade 2.5 -> 2.6
2026-08-11 7:25 [oe] [meta-networking] [PATCH v2 1/2] mctp: split mctp tools and mctpd into separate recipes James Lee
@ 2026-08-11 7:25 ` James Lee
0 siblings, 0 replies; 2+ messages in thread
From: James Lee @ 2026-08-11 7:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: andrew, jk
Bumped mctp and mctp-daemon version to 2.6, and added the new system
user to own mctpd's service.
Signed-off-by: James Lee <james@codeconstruct.com.au>
---
meta-networking/recipes-support/mctp/mctp.inc | 2 +-
.../recipes-support/mctp/{mctp_2.5.bb => mctp_2.6.bb} | 0
.../recipes-support/mctp/{mctpd_2.5.bb => mctpd_2.6.bb} | 5 ++++-
3 files changed, 5 insertions(+), 2 deletions(-)
rename meta-networking/recipes-support/mctp/{mctp_2.5.bb => mctp_2.6.bb} (100%)
rename meta-networking/recipes-support/mctp/{mctpd_2.5.bb => mctpd_2.6.bb} (89%)
diff --git a/meta-networking/recipes-support/mctp/mctp.inc b/meta-networking/recipes-support/mctp/mctp.inc
index 98225cffea..c8fc98f63a 100644
--- a/meta-networking/recipes-support/mctp/mctp.inc
+++ b/meta-networking/recipes-support/mctp/mctp.inc
@@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21"
SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https;tag=v${PV}"
-SRCREV = "07c7a5d526f686da89bc9ae9cad917e46652b272"
+SRCREV = "31ac0e86b0e23d32abf34d191653a87a47f3c9a7"
inherit meson pkgconfig
diff --git a/meta-networking/recipes-support/mctp/mctp_2.5.bb b/meta-networking/recipes-support/mctp/mctp_2.6.bb
similarity index 100%
rename from meta-networking/recipes-support/mctp/mctp_2.5.bb
rename to meta-networking/recipes-support/mctp/mctp_2.6.bb
diff --git a/meta-networking/recipes-support/mctp/mctpd_2.5.bb b/meta-networking/recipes-support/mctp/mctpd_2.6.bb
similarity index 89%
rename from meta-networking/recipes-support/mctp/mctpd_2.5.bb
rename to meta-networking/recipes-support/mctp/mctpd_2.6.bb
index f049be646b..f4c5bb976c 100644
--- a/meta-networking/recipes-support/mctp/mctpd_2.5.bb
+++ b/meta-networking/recipes-support/mctp/mctpd_2.6.bb
@@ -2,7 +2,7 @@ require mctp.inc
SUMMARY = "Management Component Transport Protocol (MCTP) control protocol daemon"
-inherit systemd
+inherit systemd useradd
do_install:append () {
install -d ${D}${systemd_system_unitdir}
@@ -17,6 +17,9 @@ do_install:append () {
SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target"
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-r -U -s /bin/false mctpd"
+
DEPENDS += "systemd"
# Meson adds mctp utility binaries to FILES and do_install(), which cannot be
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-11 7:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 7:25 [oe] [meta-networking] [PATCH v2 1/2] mctp: split mctp tools and mctpd into separate recipes James Lee
2026-08-11 7:25 ` [oe] [meta-networking] [PATCH v2 2/2] mctp: upgrade 2.5 -> 2.6 James Lee
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.