mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-09 17:03:35 -09:00
package/ndctl: new package
A "device memory" enabling project encompassing tools and libraries for CXL, NVDIMMs, DAX, memory tiering and other platform memory device topics. ndctl is using __struct_group() [1] which was introduced in kernel headers in upstream commit [2], first included in v5.16. The commit [2] was backported in v5.15.54 in [3] and v5.10.156 in [4]. Therefore, this commits sets the minimal toolchain headers version requirement to 5.10. [1] https://github.com/pmem/ndctl/blob/v83/cxl/fwctl/features.h#L108 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=50d7bd38c3aafc4749e05e8d7fcb616979143602 [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d57ab893cdf8046cbe4d49746f9418020f788b1f [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9fd7bdaffe0e89833f4b1c1d3abd43023e951ec1 Signed-off-by: Chen Pei <cp0613@linux.alibaba.com> [Julien: - add commit log info about __struct_group() - add __struct_group() comment in Config.in - relax toolchain headers requirements to 5.10 - sort BR2_PACKAGE_ blocks in .mk alphabetically ] Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
@@ -2838,6 +2838,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"
|
||||
|
||||
25
package/ndctl/Config.in
Normal file
25
package/ndctl/Config.in
Normal file
@@ -0,0 +1,25 @@
|
||||
config BR2_PACKAGE_NDCTL
|
||||
bool "ndctl"
|
||||
depends on BR2_PACKAGE_HAS_UDEV
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 # __struct_group()
|
||||
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.10"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_PACKAGE_HAS_UDEV \
|
||||
|| !BR2_TOOLCHAIN_HAS_THREADS \
|
||||
|| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10
|
||||
7
package/ndctl/ndctl.hash
Normal file
7
package/ndctl/ndctl.hash
Normal file
@@ -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
|
||||
51
package/ndctl/ndctl.mk
Normal file
51
package/ndctl/ndctl.mk
Normal file
@@ -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_LIBTRACEFS)$(BR2_PACKAGE_LIBTRACEEVENT),yy)
|
||||
NDCTL_CONF_OPTS += -Dlibtracefs=enabled
|
||||
NDCTL_DEPENDENCIES += libtraceevent libtracefs
|
||||
else
|
||||
NDCTL_CONF_OPTS += -Dlibtracefs=disabled
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
||||
NDCTL_CONF_OPTS += -Dsystemd=enabled
|
||||
NDCTL_DEPENDENCIES += systemd
|
||||
else
|
||||
NDCTL_CONF_OPTS += -Dsystemd=disabled
|
||||
endif
|
||||
|
||||
$(eval $(meson-package))
|
||||
Reference in New Issue
Block a user