Timberland nvme-cli/libnvme upstream merge - dbus dependency.

John Meneghini jmeneghi at redhat.com
Fri Feb 3 09:34:35 PST 2023


To provide an update: I got my rhel-8 machine to compile everything with the provided rhel-8.6 stock tool chain. I just needed 
to update and then install the dbus-devel package.

  sudo dnf update -y
  sudo dnf install -y dbus-devel

inline:

On 2/3/23 11:22, Daniel Wagner wrote:
> On Fri, Feb 03, 2023 at 10:43:04AM -0500, John Meneghini wrote:
>> I have a question for the upstream nvme maintainers.
>>
>> Why does libnvme, as v1.3, now have a dependency on dbus?
> 
> libnvme-mi uses a D-Bus service for discovering devices. Initially libnvme-mi
> used libsystemd as D-Bus library. libsystemd is only available as shared
> library, thus we can't build the library statically (yes, some people want to do
> this). We switch the implementation to use libdbus. I made usre that it can
> be consumed as suprojects. New library, old optional dependency.

Wasn't aware that libnvme-mi uses dbus.  So this is really a dependency for the nvme-mi utility?

Are we talking about:

   https://github.com/Intel-BMC/nvme-mi

???

>> I thought the goal was to keep the nvme management plane as streamline and
>> daemon free as possible.
> 
> Yes and it is optional. The new feature is that you can compile it
> as static dependency and this is what you currently see.

Ok, so there's no aversion to supporting utilities that use systemd in libnvme, you simply added the new static compile/link 
feature.

> The current nvme-cli meson.build configuration for libnvme is always pulling the
> fallback. A workaround is to build libnvme as separate step as you would do when
> packaging.

Yes, got that.  The dbus-1 fallback/compile feature has some bugs.  I worked around the problem by installing the dbus-devel 
package.  No more fall back.

>> We already have a dependency on the udev daemon.
> 
> Not on code level (no library). I don't see how we can avoid this and I don't
> understand why this is now a problem.

It's not a problem at all. I'm just trying to understand what all of the dependencies are and what's the attitude towards 
systemd.  As we've talked about this in the past the idea was we don't want any dbus dependencies in nvme-cli, but apparently 
there's no problem with supporting systemd in libvnme.

> Concerning meson version: We always used features from 0.50.0 hence the min
> version of 0.47.0 was wrong. We just updated this.

Yes. got that. After updating rhel-8.6 my meson is ok.

jmeneghi:nvme-cli(master) > meson --v
0.55.3

Thanks,

/John

> Daniel




More information about the Linux-nvme mailing list