diff --git a/package/Config.in b/package/Config.in index d7791bdd3d..b98a89abdb 100644 --- a/package/Config.in +++ b/package/Config.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" diff --git a/package/ndctl/Config.in b/package/ndctl/Config.in new file mode 100644 index 0000000000..9f7f5f1c9b --- /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_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 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..ceb01d633f --- /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_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))