diff options
Diffstat (limited to 'meta-oe/recipes-core/ndctl')
4 files changed, 165 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch b/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch new file mode 100644 index 0000000000..486d6c07be --- /dev/null +++ b/meta-oe/recipes-core/ndctl/ndctl/0001-build-set-HAVE_STATEMENT_EXPR-var.patch @@ -0,0 +1,60 @@ +From b06d16ec2d4aefc4cf1675e9dd6314956bc32d69 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Thu, 7 Apr 2022 14:36:58 +0800 +Subject: [PATCH] build: set HAVE_STATEMENT_EXPR var + +The v73 version tries to build and run a test program at compile +time to check whether compiler supports sizeof and expression statements +and sets HAVE_STATEMENT_EXPR accordingly. This requires EXEWRAPPER_ENABLED +in meson.bbclass to be True and qemu-usermode to be working. + +In cases when EXEWRAPPER_ENABLED is False, build fails with error: + +| ../git/meson.build:213:0: ERROR: Can not run test applications in +this cross environment. + +We don't really need to do this as these have been supported since gcc3 and can set the configs to 1. + +The autotools implementation also used to set it to 1 so this doesn't change anything: + +https://github.com/pmem/ndctl/blob/v72.1/configure.ac#L70 + +Upstream-Status: Inappropriate + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + meson.build | 18 ++---------------- + 1 file changed, 2 insertions(+), 16 deletions(-) + +diff --git a/meson.build b/meson.build +index 42e11aa..e8d218b 100644 +--- a/meson.build ++++ b/meson.build +@@ -210,22 +210,8 @@ conf.set('ENABLE_DESTRUCTIVE', get_option('destructive').enabled()) + conf.set('ENABLE_LOGGING', get_option('logging').enabled()) + conf.set('ENABLE_DEBUG', get_option('dbg').enabled()) + +-typeof = cc.run(''' +- int main() { +- struct { +- char a[16]; +- } x; +- typeof(x) y; +- +- return sizeof(x) == sizeof(y); +- } +- ''' +-) +- +-if typeof.compiled() and typeof.returncode() == 1 +- conf.set('HAVE_TYPEOF', 1) +- conf.set('HAVE_STATEMENT_EXPR', 1) +-endif ++conf.set('HAVE_TYPEOF', 1) ++conf.set('HAVE_STATEMENT_EXPR', 1) + + if target_machine.endian() == 'big' + conf.set('HAVE_BIG_ENDIAN', 1) +-- +2.17.1 + diff --git a/meta-oe/recipes-core/ndctl/ndctl/0001-meson-Use-pkg-config-to-detect-iniparser.patch b/meta-oe/recipes-core/ndctl/ndctl/0001-meson-Use-pkg-config-to-detect-iniparser.patch new file mode 100644 index 0000000000..ee172c3a69 --- /dev/null +++ b/meta-oe/recipes-core/ndctl/ndctl/0001-meson-Use-pkg-config-to-detect-iniparser.patch @@ -0,0 +1,41 @@ +From 44516eee75696c84849c0f7aa632e2456b101813 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 26 Mar 2022 00:57:03 -0700 +Subject: [PATCH] meson: Use pkg-config to detect iniparser + +Add iniparser dependency to util subdir + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + meson.build | 2 +- + util/meson.build | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 42e11aa..4209320 100644 +--- a/meson.build ++++ b/meson.build +@@ -160,7 +160,7 @@ cc = meson.get_compiler('c') + + # keyutils and iniparser lack pkgconfig + keyutils = cc.find_library('keyutils', required : get_option('keyutils')) +-iniparser = cc.find_library('iniparser', required : true) ++iniparser = dependency('iniparser', required : true) + + conf = configuration_data() + check_headers = [ +diff --git a/util/meson.build b/util/meson.build +index 784b279..8e9ae9a 100644 +--- a/util/meson.build ++++ b/util/meson.build +@@ -12,5 +12,6 @@ util = static_library('util', [ + 'iomem.c', + ], + include_directories : root_inc, ++ dependencies : iniparser, + ) + util_dep = declare_dependency(link_with : util) +-- +2.35.1 + diff --git a/meta-oe/recipes-core/ndctl/ndctl/0001-util-Correct-path-to-iniparser.h.patch b/meta-oe/recipes-core/ndctl/ndctl/0001-util-Correct-path-to-iniparser.h.patch new file mode 100644 index 0000000000..fe2612ce94 --- /dev/null +++ b/meta-oe/recipes-core/ndctl/ndctl/0001-util-Correct-path-to-iniparser.h.patch @@ -0,0 +1,28 @@ +From c212d228c25cb583f52a6d31e9f0ec7bc1f9c506 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 26 Mar 2022 01:10:02 -0700 +Subject: [PATCH] util: Correct path to iniparser.h + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + util/parse-configs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/parse-configs.c b/util/parse-configs.c +index c834a07..1b7ffa6 100644 +--- a/util/parse-configs.c ++++ b/util/parse-configs.c +@@ -4,7 +4,7 @@ + #include <dirent.h> + #include <errno.h> + #include <fcntl.h> +-#include <iniparser.h> ++#include <iniparser/iniparser.h> + #include <sys/stat.h> + #include <util/parse-configs.h> + #include <util/strbuf.h> +-- +2.35.1 + diff --git a/meta-oe/recipes-core/ndctl/ndctl_v73.bb b/meta-oe/recipes-core/ndctl/ndctl_v73.bb new file mode 100644 index 0000000000..da649d578b --- /dev/null +++ b/meta-oe/recipes-core/ndctl/ndctl_v73.bb @@ -0,0 +1,36 @@ +SUMMARY = "libnvdimm utility library" +DESCRIPTION = "Utility library for managing the libnvdimm \ +(non-volatile memory device) sub-system in the Linux kernel. \ +The LIBNVDIMM subsystem provides support for three types of \ +NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \ +simultaneously support both PMEM and BLK mode access." +HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & MIT & CC0-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=74a614eac8b2657a4b8e6607421a0883" + +inherit meson pkgconfig bash-completion systemd + +SRCREV = "dd58d43458943d20ff063850670bf54a5242c9c5" +SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https \ + file://0001-util-Correct-path-to-iniparser.h.patch \ + file://0001-meson-Use-pkg-config-to-detect-iniparser.patch \ + file://0001-build-set-HAVE_STATEMENT_EXPR-var.patch" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>v\d+(\.\d+)*)" + +DEPENDS = "kmod udev json-c keyutils iniparser" + +S = "${WORKDIR}/git" + +EXTRA_OECONF += "-Ddestructive=enabled" + +PACKAGECONFIG ??= "tests ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" +PACKAGECONFIG[tests] = "-Dtest=enabled, -Dtest=disabled," +PACKAGECONFIG[docs] = "-Ddocs=enabled -Dasciidoctor=enabled,-Ddocs=disabled -Dasciidoctor=disabled, asciidoc-native" + +SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" +SYSTEMD_SERVICE:${PN} = "ndctl-monitor.service daxdev-reconfigure@.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +FILES:${PN} += "${datadir}/daxctl/daxctl.conf " |