public inbox for buildroot@busybox.net
 help / color / mirror / Atom feed
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

  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