#
da8574d5 |
| 03-Mar-2025 |
Ed Tanous <ed@tanous.net> |
Make code compile on clang
We use c++26 featuresin stdexec (something in unpack fold expressions) that clang warns about because this is only enabled for c++23.
Ignore the warning for now. Can be
Make code compile on clang
We use c++26 featuresin stdexec (something in unpack fold expressions) that clang warns about because this is only enabled for c++23.
Ignore the warning for now. Can be removed when we're on c++26
Change-Id: I10b7c216c63d97b865741025873d32666e6a7440 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
dd6efd17 |
| 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: I024144165b08c727dd9621842f1a497830247155 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
#
892a23a9 |
| 30-Jan-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled or not-disabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`)
build: use allowed over enabled or not-disabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`. Switch all uses of `not disabled` to `allowed`.
Change-Id: I56a4d75a17ba7afe2104d271a1a4337b8d370475 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
74eea519 |
| 03-Jan-2025 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++-gen-meson: leverage `install_dir` for custom targets
Meson has had a `install_dir` directive on `custom_target` which allows specifying per-output where the file should be installed. Leverag
sdbus++-gen-meson: leverage `install_dir` for custom targets
Meson has had a `install_dir` directive on `custom_target` which allows specifying per-output where the file should be installed. Leveraging this greatly simplifies the meson in consumers (such as phosphor-dbus-interfaces) and makes the install less error-prone.
The previous method for installing was to use a `install_subdir` call with large exclude lists (so that markdown did not end up in the include tree). The result of this was that many empty directories were created in the include, markdown, and registry install paths.
Using this method reduces by 25% the meson content in phosphor-dbus-interfaces.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2b03116f517caa75de902ac7e44e6923d6652cad
show more ...
|
#
2a12ae12 |
| 23-Oct-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
add async fd sender receiver for coroutines
Add async sender receiver for file descriptor based events. The user of the async file descriptor needs to initialize a fdio instance and then call next()
add async fd sender receiver for coroutines
Add async sender receiver for file descriptor based events. The user of the async file descriptor needs to initialize a fdio instance and then call next() to get each new event for the fd.
Tested: ``` > meson test -C builddir test_async_fdio ninja: Entering directory `/host/repos/sdbusplus/builddir' ninja: no work to do. 1/1 test_async_fdio OK 6.01s
Ok: 1 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 0
Full log written to /host/repos/sdbusplus/builddir/meson-logs/testlog.txt ```
Change-Id: I1b4f16963e6096f30484c4a6df471e64ed24448b Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|
#
14c4797c |
| 24-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
sdbus++: events: create json for events
Create JSON for the events containing their metadata and leverage that as the "message" portion of the `sd_bus_error`. This will allow unpacking the message
sdbus++: events: create json for events
Create JSON for the events containing their metadata and leverage that as the "message" portion of the `sd_bus_error`. This will allow unpacking the message on a client side back to the original exception.
Tested: ``` $ busctl --user call net.poettering.Calculator /net/poettering/calculator net.poettering.Calculator Divide xx 5 0 Call failed: {"net.poettering.Calculator.DivisionByZero":{"FOO":"unused"}} ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4edd76d983267f28e51c4aa41902d45f5d6da793
show more ...
|
#
798848de |
| 12-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.
Signed-off-by: Patrick Williams <
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.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4df98991ec483df33af11c9474db4cbed5176e90
show more ...
|
#
fc73b395 |
| 07-Sep-2022 |
Willam A. Kennington III <wak@google.com> |
bus/match: Compile all code into library
The match code is not templated or declared inline, so it should be explicitly compiled into objects.
Change-Id: I56e7f2898c50e0b21b7d72d3347d7b7010d85739 S
bus/match: Compile all code into library
The match code is not templated or declared inline, so it should be explicitly compiled into objects.
Change-Id: I56e7f2898c50e0b21b7d72d3347d7b7010d85739 Signed-off-by: Willam A. Kennington III <wak@google.com>
show more ...
|
#
97c31c82 |
| 25-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
async: switch to stdexec async_scope
Use the `async_scope` implementation from stdexec instead of the custom `scope` class here, which greatly reduces our own code and also aligns better with the C+
async: switch to stdexec async_scope
Use the `async_scope` implementation from stdexec instead of the custom `scope` class here, which greatly reduces our own code and also aligns better with the C++ STL direction. The major changes are around exception paths:
- Spawned tasks which end with an exception will now std::terminate, so any task expected to throw should have an `upon_error` chain.
- Spawned tasks which are stopped will be no longer throw an `UnexpectedStop` exception, so they should be chained with an `upon_stopped` if this is important.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4e0c85712652efa5b296b898dcc2b0026ba4c625
show more ...
|
#
0139cac7 |
| 20-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
async: add scope
In order to be able to create multiple subtasks as a collection and in order to make sure we keep good track of any tasks that are created by the context, add a `scope` as a contain
async: add scope
In order to be able to create multiple subtasks as a collection and in order to make sure we keep good track of any tasks that are created by the context, add a `scope` as a container of subtasks. This is partially modelled after the C++ P2519 proposal.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6e99b2fa2829d80c320491991f7e038f122963a9
show more ...
|
#
d2b00440 |
| 16-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
event: add a simple wrapper around sd-event
In order to facilitate stop-conditions on the async::context, we need to be able to escape the wait on the dbus fd. sd-event will allow us to do this and
event: add a simple wrapper around sd-event
In order to facilitate stop-conditions on the async::context, we need to be able to escape the wait on the dbus fd. sd-event will allow us to do this and also build other co-routine primitives in the future (such as `co_await async::delay(1s)` backed by sd-event timers). Define a simple wrapper around sd-event here which can be leveraged by the async framework.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I945416cbce3c98d98135c42cb7ca249a57cb9a60
show more ...
|
#
290fa427 |
| 29-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
async: add match
Define a class which will register for a dbus signal match and generate Senders that await new signals.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib1d77708d74e
async: add match
Define a class which will register for a dbus signal match and generate Senders that await new signals.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib1d77708d74e6063bcaa08fc76fb98667ee7a2cb
show more ...
|
#
74187667 |
| 26-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
async: add context support
In order to handle async operations, we need some kind of 'run-loop' around the sd_bus_wait/sd_bus_process process. Define a 'context' to hold the bus and manage the run-l
async: add context support
In order to handle async operations, we need some kind of 'run-loop' around the sd_bus_wait/sd_bus_process process. Define a 'context' to hold the bus and manage the run-loop.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I16099dd2e15809776827dd85327d950af3f8f5b2
show more ...
|
#
22a03e31 |
| 16-Jun-2022 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Make python modules dependency detection explicit
sdbusplus requires python modules like infection, mako & pyyaml and in the current state, it checks for those dependency while it tries to compile t
Make python modules dependency detection explicit
sdbusplus requires python modules like infection, mako & pyyaml and in the current state, it checks for those dependency while it tries to compile the example and fails at the following step.
example/meson.build:48:0: ERROR: Command "sdbus++-gendir --tool sdbus++ --output /sdbusplus/build/example net" failed with status 1.
And we need to check the meson logs to figure out that a python module is missing.
The intent behind this commit is to leverage the python module support in meson to make the dependency check explicit and clear.
Tested :
Tested this both on ubuntu & fedora 1. Without required packages Program python3 (inflection, yaml, mako) found: NO meson.build:17:0: ERROR: python3 is missing modules: inflection, yaml, mako
2. With required packages Program python3 (inflection, yaml, mako) found: YES (/usr/bin/python3) modules: inflection, yaml, mako
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I3a03f7d04bb843641757bcaed599125087d5ca4f
show more ...
|
#
601d975b |
| 21-Jul-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: increase warning level
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Icaf15a6e3037d7078ee77670faae18c5303ed214
|
#
270f242c |
| 04-Jun-2021 |
William A. Kennington III <wak@google.com> |
build: Propagate boost arguments as needed
This aligns sdbusplus_dep and the packageconfig to pass the needed dependency information to utilize boost ASIO with the expected compiler arguments.
Chan
build: Propagate boost arguments as needed
This aligns sdbusplus_dep and the packageconfig to pass the needed dependency information to utilize boost ASIO with the expected compiler arguments.
Change-Id: I4916fbeaf741db3165358d800229e984f53b687b Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
226bc42a |
| 05-May-2021 |
William A. Kennington III <wak@google.com> |
native_types: Migrate large functions to shared lib
This speeds up compilation of changes and should save space in users of the functions.
Change-Id: Iee9029800c11dcd4e94f165766836bae327ee9b5 Signe
native_types: Migrate large functions to shared lib
This speeds up compilation of changes and should save space in users of the functions.
Change-Id: Iee9029800c11dcd4e94f165766836bae327ee9b5 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
fe0edaa5 |
| 15-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: fix meson deprecation warning
Seeing the following issue when building sdbusplus as a subproject:
DEPRECATION: Library sdbusplus was passed to the "libraries" keyword argument of a p
build: fix meson deprecation warning
Seeing the following issue when building sdbusplus as a subproject:
DEPRECATION: Library sdbusplus was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument. Adding sdbusplus to "Requires" field, but this is a deprecated behaviour that will change in a future version of Meson. Please report the issue if this warning cannot be avoided in your case.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I5efddd8ce8040cdcbd18478e037e24652899f791
show more ...
|
#
2e98861c |
| 14-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: switch to C++20
Per [1], we should be building with the latest C++ version. C++20 has been final and approved for over 6 months now, so it is about time for us to switch.
1. https://github.
build: switch to C++20
Per [1], we should be building with the latest C++ version. C++20 has been final and approved for over 6 months now, so it is about time for us to switch.
1. https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#code-should-be-written-with-modern-practices
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iefbe930f9da1d134696aaec18949b2ac1d956f99
show more ...
|
#
32ffb03d |
| 12-Oct-2020 |
Patrick Williams <patrick@stwcx.xyz> |
server: un-inline various large functions
Save approximiately 70k (ARM32) of size from the generated library of libphosphor-dbus.so by un-inlining various large functions.
Signed-off-by: Patrick Wi
server: un-inline various large functions
Save approximiately 70k (ARM32) of size from the generated library of libphosphor-dbus.so by un-inlining various large functions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie238ca7807960bf1577dcbb272226f197de84b01
show more ...
|
#
adf03547 |
| 04-Jun-2020 |
William A. Kennington III <wak@google.com> |
build: Allow for vendored googletest
This makes it easier to run the test suite outside of the CI environment but still attempts to use the system version of googletest first.
Change-Id: I32193f082
build: Allow for vendored googletest
This makes it easier to run the test suite outside of the CI environment but still attempts to use the system version of googletest first.
Change-Id: I32193f08243db2177b8200b0ff7e3e47ef01691f Signed-off-by: William A. Kennington III <wak@google.com> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
f05b4ca2 |
| 04-Jun-2020 |
William A. Kennington III <wak@google.com> |
build: Don't enable tests or examples in subprojects
This just adds dependency lookup time and extra build targets that are unused by the main project. They can still be overridden if required.
Cha
build: Don't enable tests or examples in subprojects
This just adds dependency lookup time and extra build targets that are unused by the main project. They can still be overridden if required.
Change-Id: Ib1d14aa035680c43e6659ab3feae3a3ca3d515ba Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
#
5e893b9d |
| 04-Jun-2020 |
William A. Kennington III <wak@google.com> |
build: Add options for tweaking what is built
We don't need to always build tests or examples so make it possible for the user to configure what is built. The default is to automatically build them
build: Add options for tweaking what is built
We don't need to always build tests or examples so make it possible for the user to configure what is built. The default is to automatically build them if possible.
Change-Id: I5cb6b1689c408188f14d1fcbcfb0006c17f1c90d Signed-off-by: William A. Kennington III <wak@google.com> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
fbc98825 |
| 18-Jun-2020 |
Patrick Williams <patrick@stwcx.xyz> |
build: remove unneeded thread dependency
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I91048a61404011d6a0ca7eb1fad20f3c955203c1
|
#
3f90a143 |
| 09-Jun-2020 |
Patrick Williams <patrick@stwcx.xyz> |
boost: add context dependency
libboost_coroutine needs libboost_context. This should be resolved automatically but we seem to not be doing so in some cases, so add it manually.
Fixes openbmc/sdbus
boost: add context dependency
libboost_coroutine needs libboost_context. This should be resolved automatically but we seem to not be doing so in some cases, so add it manually.
Fixes openbmc/sdbusplus#46.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1d3cb548f8c125eb49aaf1d21cab4740ddab6cfa
show more ...
|