From: cp0613@linux.alibaba.com
To: buildroot@buildroot.org
Cc: ju.o@free.fr, Chen Pei <cp0613@linux.alibaba.com>
Subject: [Buildroot] [PATCH v2 1/2] package/ndctl: new package
Date: Tue, 10 Mar 2026 16:18:49 +0800 [thread overview]
Message-ID: <20260310081850.33001-2-cp0613@linux.alibaba.com> (raw)
In-Reply-To: <20260310081850.33001-1-cp0613@linux.alibaba.com>
From: Chen Pei <cp0613@linux.alibaba.com>
A "device memory" enabling project encompassing tools and
libraries for CXL, NVDIMMs, DAX, memory tiering and other
platform memory device topics.
Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
---
package/Config.in | 1 +
package/ndctl/Config.in | 25 ++++++++++++++++++++
package/ndctl/ndctl.hash | 7 ++++++
package/ndctl/ndctl.mk | 51 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 84 insertions(+)
create mode 100644 package/ndctl/Config.in
create mode 100644 package/ndctl/ndctl.hash
create mode 100644 package/ndctl/ndctl.mk
diff --git a/package/Config.in b/package/Config.in
index fab482c52f..d56b882db5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2836,6 +2836,7 @@ menu "System tools"
source "package/monit/Config.in"
source "package/multipath-tools/Config.in"
source "package/ncdu/Config.in"
+ source "package/ndctl/Config.in"
source "package/nerdctl/Config.in"
source "package/netifrc/Config.in"
source "package/numactl/Config.in"
diff --git a/package/ndctl/Config.in b/package/ndctl/Config.in
new file mode 100644
index 0000000000..ef7cec6962
--- /dev/null
+++ b/package/ndctl/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_NDCTL
+ bool "ndctl"
+ depends on BR2_PACKAGE_HAS_UDEV
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU
+ select BR2_PACKAGE_INIPARSER
+ select BR2_PACKAGE_JSON_C
+ select BR2_PACKAGE_KEYUTILS
+ select BR2_PACKAGE_KMOD
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBS
+ select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ help
+ A "device memory" enabling project encompassing tools and
+ libraries for CXL, NVDIMMs, DAX, memory tiering and other
+ platform memory device topics.
+
+ https://github.com/pmem/ndctl
+
+comment "ndctl needs udev /dev management, a toolchain headers >= 5.16"
+ depends on BR2_USE_MMU
+ depends on !BR2_PACKAGE_HAS_UDEV \
+ || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16
diff --git a/package/ndctl/ndctl.hash b/package/ndctl/ndctl.hash
new file mode 100644
index 0000000000..f731fb7263
--- /dev/null
+++ b/package/ndctl/ndctl.hash
@@ -0,0 +1,7 @@
+# locally computed
+sha256 dd4b9b9a9dc0a15e980670b6f889e910a80ad60f2309e03bfd9cc6071d14dd30 ndctl-83.tar.gz
+sha256 1334f22048052d69647860fe9fb24997dc3b33737cb494297d68949f589fa1cf COPYING
+sha256 5c37e41135091a39821cfb306ad8516625b0bb49510ce56ad85c347bbc46df29 LICENSES/other/CC0-1.0
+sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSES/other/MIT
+sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSES/preferred/GPL-2.0
+sha256 9397d01be0ec93d29384447ba18e532ab7b01af8c8b582ece9f10ad45b9568db LICENSES/preferred/LGPL-2.1
diff --git a/package/ndctl/ndctl.mk b/package/ndctl/ndctl.mk
new file mode 100644
index 0000000000..2f631c946c
--- /dev/null
+++ b/package/ndctl/ndctl.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# ndctl
+#
+################################################################################
+
+NDCTL_VERSION = 83
+NDCTL_SITE = $(call github,pmem,ndctl,v$(NDCTL_VERSION))
+NDCTL_LICENSE = \
+ CC0-1.0 (helper routines), \
+ GPL-2.0+ (tools), \
+ LGPL-2.1+ (libraries), \
+ MIT (helper routines)
+NDCTL_LICENSE_FILES = \
+ COPYING \
+ LICENSES/other/CC0-1.0 \
+ LICENSES/other/MIT \
+ LICENSES/preferred/GPL-2.0 \
+ LICENSES/preferred/LGPL-2.1
+
+NDCTL_DEPENDENCIES = \
+ iniparser \
+ json-c \
+ keyutils \
+ kmod \
+ udev \
+ util-linux-libs
+
+# Currently, disabling keyutils or fwctl support will cause builds to
+# fail. Therefore, always pass the -Dfwctl=enabled and -Dkeyutils=enabled.
+NDCTL_CONF_OPTS = \
+ -Ddocs=disabled \
+ -Dfwctl=enabled \
+ -Dkeyutils=enabled \
+ -Diniparserdir=$(STAGING_DIR)/usr/include/iniparser
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+NDCTL_CONF_OPTS += -Dsystemd=enabled
+NDCTL_DEPENDENCIES += systemd
+else
+NDCTL_CONF_OPTS += -Dsystemd=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBTRACEFS)$(BR2_PACKAGE_LIBTRACEEVENT),yy)
+NDCTL_CONF_OPTS += -Dlibtracefs=enabled
+NDCTL_DEPENDENCIES += libtraceevent libtracefs
+else
+NDCTL_CONF_OPTS += -Dlibtracefs=disabled
+endif
+
+$(eval $(meson-package))
--
2.50.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-03-10 8:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-10 8:18 [Buildroot] [PATCH v2 0/2] package/ndctl: new package cp0613
2026-03-10 8:18 ` cp0613 [this message]
2026-03-19 20:51 ` [Buildroot] [PATCH v2 1/2] " Julien Olivain via buildroot
2026-03-27 12:57 ` cp0613
2026-03-27 18:34 ` Julien Olivain via buildroot
2026-03-10 8:18 ` [Buildroot] [PATCH v2 2/2] DEVELOPERS: Add Chen Pei to ndctl cp0613
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=20260310081850.33001-2-cp0613@linux.alibaba.com \
--to=cp0613@linux.alibaba.com \
--cc=buildroot@buildroot.org \
--cc=ju.o@free.fr \
/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