History log of /openbmc/dbus-sensors/meson.build (Results 1 – 25 of 38)
Revision Date Author Comments
# 77ae514b 21-Jul-2023 Patrick Williams <patrick@stwcx.xyz>

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: Id155ce5591163912ec496

build: upgrade to C++23

Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of
the standard has been implemented. Upgrade the build to leverage it.

Change-Id: Id155ce5591163912ec496cb9afa3ca34343c3f8c
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 495aba1f 07-Feb-2024 Patrick Williams <patrick@stwcx.xyz>

meson: remove Boost TS executors

BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT enables the older Networking TS
executors instead of the newer "Standard Executors" and is not
necessary for io_uring. Remove

meson: remove Boost TS executors

BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT enables the older Networking TS
executors instead of the newer "Standard Executors" and is not
necessary for io_uring. Remove this option to use the newer execution
model.

Tested:

Confirmed the io_uring interfaces are still being used.
```
(gdb) bt
#0 0x00007ffff7dfba47 in ?? () from /usr/lib64/liburing.so.2
#1 0x00007ffff7dfbca2 in __io_uring_get_cqe () from /usr/lib64/liburing.so.2
#2 0x000055555556dd72 in io_uring_wait_cqe_nr (ring=0x555555807c30, cqe_ptr=0x7fffffffd9f0, wait_nr=1)
at /usr/include/liburing.h:1175
#3 0x000055555556df08 in io_uring_wait_cqe (ring=0x555555807c30, cqe_ptr=0x7fffffffd9f0)
at /usr/include/liburing.h:1248
#4 0x000055555557ff4f in boost::asio::detail::io_uring_service::run (this=0x555555807bf0, usec=-1, ops=...)
at ../subprojects/boost_1_83_0/boost/asio/detail/impl/io_uring_service.ipp:437
#5 0x000055555557e7a4 in boost::asio::detail::scheduler::do_run_one (this=0x555555806020, lock=...,
this_thread=..., ec=...) at ../subprojects/boost_1_83_0/boost/asio/detail/impl/scheduler.ipp:477
#6 0x000055555557e27a in boost::asio::detail::scheduler::run (this=0x555555806020, ec=...)
at ../subprojects/boost_1_83_0/boost/asio/detail/impl/scheduler.ipp:210
#7 0x0000555555581725 in boost::asio::io_context::run (this=0x7fffffffdc90)
at ../subprojects/boost_1_83_0/boost/asio/impl/io_context.ipp:64
#8 0x0000555555573af0 in main () at ../src/HwmonTempMain.cpp:643
```

Ran QEMU for Bletchley and observed HwmonTempSensor still works:
```
root@bletchley:~# busctl introspect xyz.openbmc_project.HwmonTempSensor /xyz/openbmc_project/sensors/temperature/SLED1_THERM_LOCAL xyz.openbmc_project.Sensor.Value
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.MaxValue property d 127 emits-change
.MinValue property d -128 emits-change
.Unit property s "xyz.openbmc_project.Sensor.Value.Uni... emits-change
.Value property d 0 emits-change writable
```

Checking strace yields lots of io_uring related calls:
```
root@bletchley:~# strace -p 960
strace: Process 960 attached
io_uring_enter(4, 0, 1, IORING_ENTER_GETEVENTS, NULL, 8) = 0
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=240, tv_nsec=810659232}) = 0
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=240, tv_nsec=813407042}) = 0
io_uring_enter(4, 2, 0, 0, NULL, 8) = 2
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=240, tv_nsec=816897328}) = 0
io_uring_enter(4, 0, 1, IORING_ENTER_GETEVENTS, NULL, 8) = 0
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=240, tv_nsec=822788059}) = 0
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=240, tv_nsec=824535222}) = 0
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I0eb1d732a9bc3bb25e625b9f8fe3eeeaf8ae3143

show more ...


# a47e082e 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

subprojects: Bump boost to 1.83

Bump to avoid issues such as the following:

```
In file included from ../src/Utils.hpp:3,
from ../src/Thresholds.hpp:3,
from ../src

subprojects: Bump boost to 1.83

Bump to avoid issues such as the following:

```
In file included from ../src/Utils.hpp:3,
from ../src/Thresholds.hpp:3,
from ../src/sensor.hpp:6,
from ../src/PwmSensor.hpp:3,
from ../src/PwmSensor.cpp:17:
../src/VariantVisitors.hpp:18:10: fatal error: boost/type_index.hpp: No such file or directory
18 | #include <boost/type_index.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~
```

1.83 is used by openbmc/openbmc@43471c8c565d346c1727ba2360db373035234c26

With the bump I can now successfully build dbus-sensors on Debian
Bookworm with `meson setup --cross-file=gcc-13 build`[1], even if boost
libraries and headers of varying version are installed via `apt`.

[1]: https://amboar.github.io/notes/2023/09/12/unstable-gcc-on-debian-stable.html

Change-Id: I43cb95167ede3271cc6ce6ea6ea5421911b575c0
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# e4f21f80 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Order dependencies as an approximate in-order tree traversal

meson appears to not be terribly fancy about resolving dependency
constraints. Dependencies appear to be evaluated in their order

meson: Order dependencies as an approximate in-order tree traversal

meson appears to not be terribly fancy about resolving dependency
constraints. Dependencies appear to be evaluated in their order of
declaration, as an in-order tree traversal. This ordering is problematic
for escalating version constraints.

As a concrete example, we currently declare `dependency('sdbusplus')`
before `dependency('boost')`. sdbusplus itself depends on boost, without
a version constraint. If boost is available on the build system then
this is selected. However, dbus-sensors' boost dependency may have a
version constraint of e.g. >=1.83.0. In this arrangement we hit the the
following error:

```
sdbusplus| Run-time dependency Boost found: YES 1.81.0 (/usr/include)
...
Dependency boost found: NO found 1.81.0 but need: '>=1.83.0' (cached)

meson.build:67:8: ERROR: Dependency 'boost' is required but not found.
```

Declare (common) dependencies as an approximate in-order traversal to
avoid conflicts.

Change-Id: I0277061f3ac36361495183018293a61163d70a36
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 1d7b4788 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Improve boost integration

Currently we hit the following:

```
$ meson setup --force-fallback-for=boost build
...
WARNING: Subproject 'boost' did not override 'boost' dependency and no variab

meson: Improve boost integration

Currently we hit the following:

```
$ meson setup --force-fallback-for=boost build
...
WARNING: Subproject 'boost' did not override 'boost' dependency and no variable name specified
Dependency boost from subproject subprojects/boost found: NO
meson.build:57: WARNING: include_directories sandbox violation!
The project is trying to access the directory 'subprojects/boost_1_79_0/' which belongs to a different
subproject. This is a problem as it hardcodes the relative paths of these two projects.
This makes it impossible to compile the project in any other directory layout and also
prevents the subproject from changing its own directory layout.

Instead of poking directly at the internals the subproject should be executed and
it should set a variable that the caller can then use. Something like:

# In subproject
some_dep = declare_dependency(include_directories: include_directories('include'))

# In subproject wrap file
[provide]
some = some_dep

# In parent project
some_dep = dependency('some')
executable(..., dependencies: [some_dep])

This warning will become a hard error in a future Meson release.

meson.build:57:14: ERROR: Include dir subprojects/boost_1_79_0/ does not exist.
```

Address the sandbox violation and reduce the amount of configuration
noise in meson.build by providing an appropriate wrap via packagefiles.

Change-Id: I4063764d2c3a00f58d3c83712092303538b64843
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# dc8012fc 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Clean up specification of sdbusplus dependency

The manual attempt at handling a fallback is unnecessary - let meson do
the work for us in the idiomatic way of deferring to a wrap of the same

meson: Clean up specification of sdbusplus dependency

The manual attempt at handling a fallback is unnecessary - let meson do
the work for us in the idiomatic way of deferring to a wrap of the same
name.

Change-Id: Ie7682771a96680a5093391bff2eaf9b4d16b6696
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 2673b9a5 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Clean up specification of liburing dependency

The manual attempt at handling a fallback is unnecessary - let meson do
the work for us in the idiomatic way of deferring to a wrap of the same
n

meson: Clean up specification of liburing dependency

The manual attempt at handling a fallback is unnecessary - let meson do
the work for us in the idiomatic way of deferring to a wrap of the same
name.

Change-Id: Iffe648e3edfa9155a7652e323f04cf762f1b0bf4
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 8a9ff14a 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Move unit-file-related definitions to service_files/meson.build

In the spirit of keeping-things-that-are-together-together, move the
dependency declaration to where it's used. We only declare

meson: Move unit-file-related definitions to service_files/meson.build

In the spirit of keeping-things-that-are-together-together, move the
dependency declaration to where it's used. We only declare the
dependency on systemd to grab the unit directory path.

Change-Id: I5bdda184ade023ee38b0d33dd1c5a9c118bf3b8a
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 771e5292 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Remove single-use build_tests variable

Change-Id: I186367f84c569a1ef1a2c32466d18fbbc33bfd65
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>


# 88a57e00 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Drop redundant `cpp` variable from build specification

Change-Id: I5a072ed7b73d18c7830ebe2fc464bdddc657eabb
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>


# 8eb514a4 03-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Require meson 1.1

Fixes the following warnings:

```
WARNING: Project specifies a minimum meson_version '>=0.58.0' but uses features which were added in newer versions:
* 0.59.0: {'feature_o

meson: Require meson 1.1

Fixes the following warnings:

```
WARNING: Project specifies a minimum meson_version '>=0.58.0' but uses features which were added in newer versions:
* 0.59.0: {'feature_option.allowed()'}
* 1.1: {'meson.options file'}
```

Additionally, with the bump, fix the following warning:

```
WARNING: Deprecated features used:
* 0.64.0: {'copy arg in configure_file'}
```

Change-Id: I3b678769674f64e9050b4aa85fe6775c556ea8f6
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# ab8b045e 10-Jan-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Format build files according to meson style guide

muon[1], an meson-compatible build system, provides a `fmt` subcommand
to format meson build files in accordance with the meson style guide[2

meson: Format build files according to meson style guide

muon[1], an meson-compatible build system, provides a `fmt` subcommand
to format meson build files in accordance with the meson style guide[2].

[1]: https://muon.build/
[2]: https://mesonbuild.com/Style-guide.html

Apply `muon fmt` using the following to provide consistent formatting:

```
for f in $(git ls-files | grep meson.build)
do
muon fmt $f | sponge $f
done
```

Change-Id: I7ef7693ddf964e9540b2e3e256cdf584fb8ac9cd
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# ab570a60 07-Dec-2023 Patrick Williams <patrick@stwcx.xyz>

meson: adjust nlohmann-json dependency

Simplify meson dependency logic and align wrap file name choice with
other repositories.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I53883

meson: adjust nlohmann-json dependency

Simplify meson dependency logic and align wrap file name choice with
other repositories.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I5388303c3a5227cfd3981878354cc62b90ebcb99

show more ...


# a0c6b5b7 06-Jun-2023 Zhikui Ren <zhikui.ren@intel.com>

Add uring_args for all build targets in package

io_uring backend is enabled with uring_args. Add them to package args.
All build targets including static libraries for utils and thresholds
and senso

Add uring_args for all build targets in package

io_uring backend is enabled with uring_args. Add them to package args.
All build targets including static libraries for utils and thresholds
and sensor services executables are built consistently.

Currently steady timer in utils.cpp fires right away for services build
with io_uring enabled like fansensor, hwmontempsensor.
https://github.com/openbmc/dbus-sensors/blob/master/src/Utils.cpp#L472

Tested:
Added debug print and verified the above timer handler is called 10
seconds after the timer is started as expected. intelcpusensor, which
does not use random_access_file with io_uring backend reads sensor
values successfully. Services use random_access_file read sensor data
successfully.

Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
Change-Id: I8cf3a9a0d1ffca459eb6c2c37e4e2220ce5100ac

show more ...


# e46b4444 12-Apr-2023 Patrick Williams <patrick@stwcx.xyz>

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig

meson: remove deprecated get_pkgconfig_variable

Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In
meson 0.58 the `get_variable` was enhanced to no longer require the
`pkgconfig` keyword argument. Ensure meson 0.58 is required and update
the usage of all `get_pkgconfig_variable` and `get_variable` to be the
modern variant.

Change-Id: Ifcccb5c41390dea284834ace0ec286b019a995d3
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 83db50ca 01-Mar-2023 Ed Tanous <edtanous@google.com>

Don't use deprecated asio functions

This code used a number of asio functions that have been deprecated.
This patch replaces them with their new equivalents, and enabled
BOOST_ASIO_NO_DEPRECATED.

C

Don't use deprecated asio functions

This code used a number of asio functions that have been deprecated.
This patch replaces them with their new equivalents, and enabled
BOOST_ASIO_NO_DEPRECATED.

Change-Id: I98bddba4c7d72a53ceca9455429828e60f06c5e0
Signed-off-by: Ed Tanous <edtanous@google.com>

show more ...


# e73bd0a1 24-Jan-2023 Andrew Jeffery <andrew@aj.id.au>

sensors: Align source structure away from anti-patterns

The anti-patterns document comments on source structure, specifically
on placing internal headers in a parallel subtree[1]. dbus-sensors is an

sensors: Align source structure away from anti-patterns

The anti-patterns document comments on source structure, specifically
on placing internal headers in a parallel subtree[1]. dbus-sensors is an
example of violating this anti-pattern, so fix it.

[1]: https://github.com/openbmc/docs/blob/master/anti-patterns.md#placing-internal-headers-in-a-parallel-subtree

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I50ecaddd53fa9c9b7a0441af9de5e60bd94e47c6

show more ...


# dabd48dd 03-Aug-2022 Zev Weiss <zev@bewilderbeest.net>

Add device-management infrastructure

We're moving toward having dbus-sensors take over sensor device
lifecycle management from entity-manager; this code (loosely based on
entity-manager's include/de

Add device-management infrastructure

We're moving toward having dbus-sensors take over sensor device
lifecycle management from entity-manager; this code (loosely based on
entity-manager's include/devices.hpp and src/overlay.cpp) provides some
general-purpose utilities for instantiating and destroying devices.

This also includes a variant of setupPropertiesChangedMatches() taking
an I2CDeviceTypeMap instead of a span of C strings, so that we can
support both existing sensor daemons and ones that get converted to use
that instead of the simple string arrays they currently employ.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: I39fcd0de2c70cd58b4d132cdcae5f82319732dbb

show more ...


# 16966b55 15-Sep-2021 Ed Tanous <edtanous@google.com>

Enable an io-uring build

There exists a bug where calls that we previously thought were
non-blocking, actually do block when used with hwmon or filesystem fds.
This causes high latencies on the dbus

Enable an io-uring build

There exists a bug where calls that we previously thought were
non-blocking, actually do block when used with hwmon or filesystem fds.
This causes high latencies on the dbus interfaces when lots of sensors
are used in a single daemon, as is the case in PSUSensor.

This patchset moves the PSUSensor code over to using io-uring, through
boost asio, using the random_access_file class. This helps with
performance in a number of ways, the largest of which being that sensor
reads are no longer blocking.

Tested:

Booted the sensor system on Tyan S7106; dbus-monitor shows sensors
scanning normally.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I654eafcfab5a24b65b89c204ab43d81c7ae064cf

show more ...


# 3f556a84 21-Mar-2022 Patrick Williams <patrick@stwcx.xyz>

meson: simplify dependencies

Leverage wrapfile `[provide]` directives to simplify the dependency
searching in the meson.build.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: If0797a

meson: simplify dependencies

Leverage wrapfile `[provide]` directives to simplify the dependency
searching in the meson.build.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: If0797ab803bbc5b254487e2050c69deceb829976

show more ...


# 73030639 14-Jan-2022 Ed Tanous <edtanous@google.com>

Enable cppcoreguidelines-avoid-goto checks

We've been pretty good about this one, the only usages seem to be in
nvme sensor and added recently. To move to more RAII compliant
containers, this commi

Enable cppcoreguidelines-avoid-goto checks

We've been pretty good about this one, the only usages seem to be in
nvme sensor and added recently. To move to more RAII compliant
containers, this commit creates a FileHandle class, which accepts either
a file path and a mode, or a direct file handle, to be handled via RAII.
Ideally we wouldn't have to create this ourselves, and could rely on
some library, but the alternatives all have compromises that are worse.

boost::asio::random_access_file requires iouring to be enabled, and
isn't available until boost 0.78, which we haven't rebased to yet.
https://www.boost.org/doc/libs/develop/doc/html/boost_asio/reference/random_access_file.html
Once available, this is what I would hope that a bunch of the nvme stuff
evolves into to be much simpler.

boost::iostream::file_descriptor requires linking against
boost::iostream, which would bloat our binary size for a lot of things
we don't use. There is a file_descriptor.cpp that we could compile
directly to solve this, but the existing yocto boost project (nor any
other distro project) installs these files for use, which would
complicate this solution

std::fstream doesn't allow direct access to the file handle, which would
be required for streaming operations.

https://www.boost.org/doc/libs/1_35_0/libs/iostreams/doc/installation.html
https://www.boost.org/doc/libs/1_78_0/libs/iostreams/doc/classes/file_descriptor.html#file_descriptor

A very similar class exists within ipmid here:
https://github.com/openbmc/phosphor-host-ipmid/blob/master/user_channel/file.hpp

This class differs in a couple minor ways, in that it throws exceptions
on open failures (similar to the boost classes), accepts the input by
std::filesystem::path, instead of string, and supports std::move, which
is required for the pipe usage.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I8be2419783e41e8f529030bb3d05c2e7aa890307

show more ...


# a771f6a7 14-Jan-2022 Ed Tanous <edtanous@google.com>

Enable cppcoreguidelines-init-variables

We try to enforce this rule, but clearly the robot can do a better job.
Enable the rule, and for init of all variables that clang-tidy finds in
error.

Signed

Enable cppcoreguidelines-init-variables

We try to enforce this rule, but clearly the robot can do a better job.
Enable the rule, and for init of all variables that clang-tidy finds in
error.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Icf64bc51b3180de29f7e92fa5c5f636e6b1462a6

show more ...


# e3b23c06 22-Sep-2021 Andrew Jeffery <andrew@aj.id.au>

meson: Disable PSABI warning

We rebuild everything together, don't clutter output with compatibility
warnings.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I37

meson: Disable PSABI warning

We rebuild everything together, don't clutter output with compatibility
warnings.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I3786d5a8f3255ceca0c323691d64dd29660eed9b

show more ...


# 0c42f40e 27-Aug-2021 Patrick Williams <patrick@stwcx.xyz>

logging: replace direct journal calls with lg2

Tested:

Created a bogus journal message equivalent to the one in
TachSensor.hpp as the first line of 'main' in FanMain.cpp:

logging: replace direct journal calls with lg2

Tested:

Created a bogus journal message equivalent to the one in
TachSensor.hpp as the first line of 'main' in FanMain.cpp:

```
auto device = "FooBar";
auto msg = "OpenBMC.0.1.FanInserted";
lg2::error("Fan Inserted", "REDFISH_MESSAGE_ID", msg,
"REDFISH_MESSAGE_ARGS", device);
```

Observed the following in the journal:
```
{
"_MACHINE_ID" : "115e76f3bc47411eb0f20075b13444e9",
"_CMDLINE" : "/usr/bin/fansensor",
"REDFISH_MESSAGE_ID" : "OpenBMC.0.1.FanInserted",
"CODE_LINE" : "463",
"_COMM" : "fansensor",
"_EXE" : "/usr/bin/fansensor",
"_SOURCE_REALTIME_TIMESTAMP" : "33256618",
"__MONOTONIC_TIMESTAMP" : "33256849",
"SYSLOG_IDENTIFIER" : "fansensor",
"PRIORITY" : "3",
"_CAP_EFFECTIVE" : "1ffffffffff",
"_PID" : "296",
"_UID" : "0",
"_SYSTEMD_UNIT" : "xyz.openbmc_project.fansensor.service",
"REDFISH_MESSAGE_ARGS" : "FooBar",
"__REALTIME_TIMESTAMP" : "33256822",
"LOG2_FMTMSG" : "Fan Inserted",
"_SYSTEMD_CGROUP" : "/system.slice/xyz.openbmc_project.fansensor.service",
"_GID" : "0",
"_TRANSPORT" : "journal",
"__CURSOR" : "s=039afc05fc934fe08b77dd73c4092591;i=1ff;b=5ad25f16b9bd424ebe72cf30558fcdc2;m=1fb7591;t=1fb7576;x=617adeeaf1da9edc",
"CODE_FILE" : "../../../../../../../../sync/openbmc-sources/dbus-sensors/src/FanMain.cpp",
"_SYSTEMD_INVOCATION_ID" : "9eef21c4b7784ba2aa2628f162079cd3",
"CODE_FUNC" : "int main()",
"MESSAGE" : "Fan Inserted",
"_HOSTNAME" : "bletchley",
"_SYSTEMD_SLICE" : "system.slice",
"_BOOT_ID" : "5ad25f16b9bd424ebe72cf30558fcdc2"
}
```

Observed the following in /var/log/redfish:
```
1970-01-01T00:00:27.345477+00:00 OpenBMC.0.1.FanInserted,FooBar
```

Observed the following in Redfish:
```
{
"@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/27",
"@odata.type": "#LogEntry.v1_4_0.LogEntry",
"Created": "1970-01-01T00:00:27+00:00",
"EntryType": "Event",
"Id": "27",
"Message": "FooBar inserted.",
"MessageArgs": [
"FooBar"
],
"MessageId": "OpenBMC.0.1.FanInserted",
"Name": "System Event Log Entry",
"Severity": "OK"
}
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ib408e97ff99863cd91bcbcb43a4738d773f4e21c

show more ...


# 08d684ac 27-Aug-2021 Patrick Williams <patrick@stwcx.xyz>

build: add phosphor-logging dep and wrap

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I75d0e33c2e0432ef77e4d8618ebf28c6e4b3d8d0


12