Merge of vpd_manager meson script with repo meson
This commit merges meson script of vpd-manager app
into the meson script for openpower-vpd-parser repo.
vpd-manager needs to be build only if we are building
ibm-read-vpd exe.
To enable build of vpd-manager the flag needs to
be enabled.
Test Command:
meson -Dibm-parser=enabled -Dvpd-manager=enabled builddir
ninja -C builddir
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: Ib9c8229e54c37c55654b070adb3df616d105af23
diff --git a/vpd-manager/editor_impl.cpp b/vpd-manager/editor_impl.cpp
index c9e9847..70eb453 100644
--- a/vpd-manager/editor_impl.cpp
+++ b/vpd-manager/editor_impl.cpp
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "editor_impl.hpp"
#include "parser.hpp"
@@ -253,8 +255,9 @@
const std::variant<T>& data)
{
auto bus = sdbusplus::bus::new_default();
- auto properties = bus.new_method_call(
- service, object.c_str(), "org.freedesktop.DBus.Properties", "Set");
+ auto properties =
+ bus.new_method_call(INVENTORY_MANAGER_SERVICE, object.c_str(),
+ "org.freedesktop.DBus.Properties", "Set");
properties.append(interface);
properties.append(property);
properties.append(data);
@@ -284,9 +287,9 @@
std::string kwdData(thisRecord.kwdUpdatedData.begin(),
thisRecord.kwdUpdatedData.end());
- makeDbusCall<std::string>(
- (VPD_OBJ_PATH_PREFIX + objectPath),
- commonInterface.key(), ciPropertyList.key(), kwdData);
+ makeDbusCall<std::string>((INVENTORY_PATH + objectPath),
+ commonInterface.key(),
+ ciPropertyList.key(), kwdData);
}
}
}
@@ -313,8 +316,8 @@
std::string kwdData(thisRecord.kwdUpdatedData.begin(),
thisRecord.kwdUpdatedData.end());
makeDbusCall<std::string>(
- (VPD_OBJ_PATH_PREFIX + objPath),
- extraInterface.key(), eiPropertyList.key(),
+ (INVENTORY_PATH + objPath), extraInterface.key(),
+ eiPropertyList.key(),
encodeKeyword(kwdData, eiPropertyList.value().value(
"encoding", "")));
}
@@ -344,9 +347,9 @@
{
// update com interface
makeDbusCall<Binary>(
- (VPD_OBJ_PATH_PREFIX +
+ (INVENTORY_PATH +
singleInventory["inventoryPath"].get<std::string>()),
- (COM_INTERFACE_PREFIX + (std::string) "." + thisRecord.recName),
+ (IPZ_INTERFACE + (std::string) "." + thisRecord.recName),
thisRecord.recKWd, thisRecord.kwdUpdatedData);
// process Common interface
diff --git a/vpd-manager/meson.build b/vpd-manager/meson.build
index da736d7..44b34aa 100644
--- a/vpd-manager/meson.build
+++ b/vpd-manager/meson.build
@@ -1,25 +1,6 @@
-project('vpd-manager',
- 'cpp',
- 'c',
- default_options : ['cpp_std=c++17'],
- version : '1.0')
-sdbusplus = dependency('sdbusplus')
-phosphor_logging = dependency('phosphor-logging')
systemd = dependency('libsystemd', version : '>= 221')
phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
-compiler = meson.get_compiler('cpp')
-compiler.has_header('nlohmann/json.hpp')
-
-configure_file( output: 'config.h',
- configuration: {
- 'BUSNAME' : '"' + get_option('BUSNAME') + '"',
- 'OBJPATH' : '"' + get_option('OBJPATH') + '"',
- 'IFACE' : '"' + get_option('IFACE') + '"',
- 'INVENTORY_JSON' : '"' + get_option('INVENTORY_JSON') + '"'
- }
- )
-
configuration_inc = include_directories('.', '../')
vpd_manager_SOURCES =[
@@ -31,16 +12,20 @@
'../impl.cpp',
'../parser.cpp',
'../utils.cpp',
- '../vpdecc/vpdecc.c'
+ '../vpdecc/vpdecc.c',
+ '../vpdecc/vpdecc_support.c'
]
+vpd_manager_dependencies =[sdbusplus,
+ phosphor_logging,
+ systemd,
+ phosphor_dbus_interfaces,
+ ]
+
vpd_manager_exe = executable('vpd-manager',
- vpd_manager_SOURCES,
- include_directories : configuration_inc,
- dependencies :[
- sdbusplus,
- phosphor_logging,
- systemd,
- phosphor_dbus_interfaces,
- ],
- )
+ vpd_manager_SOURCES,
+ include_directories : configuration_inc,
+ dependencies :[vpd_manager_dependencies,
+ ],
+ install: true
+ )