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

Daniel Wagner dwagner at suse.de
Mon Feb 6 05:44:55 PST 2023


:On Mon, Feb 06, 2023 at 11:03:44AM +0100, Daniel Wagner wrote:
> On Fri, Feb 03, 2023 at 10:30:13AM -0700, Keith Busch wrote:
> > I'm just trying to build this right now on an embedded system, and my goodness,
> > it is fucking painful. It's a bare-bones busybox enviroment with no internet
> > connection. Just getting meson on there was unpleasant, and now the build just
> > gives up with the failed dependencies.
> 
> I am sorry to causing pain. Let's see what how I can help you to make it less
> hurt.
> 
> Is there a reason why you want to build it directly in a busybox environment and
> not using a cross build?
> 
> I agree Meson itself is pretty anyoying in this scenario, though it should be
> possible to use the alternative implementation. Meson is a specification with
> more than one implementation. muon and samurai are written in plain C99 and only
> use a compiler to work. Though I haven't tested this in a while. Let me give it
> a quick test. I suppose it makes sense to add these to our CI build.

The project builds almost out of the box with muon and samurai. There was just
one tiny little problem with the syspathdir which I send out a PR shortly.

Here are the all steps to get this build going with those two tools. It still
depends on json-c being installed previously.



#/bin/bash

if [ ! -d build-tools ]; then

    mkdir build-tools
    pushd build-tools
    git clone --depth 1 https://git.sr.ht/~lattis/muon
    cd muon

    export CC=gcc
    ./tools/bootstrap_ninja.sh build
    ninja=build/samu
    ./bootstrap.sh build
    build/muon setup -Dlibcurl=disabled -Dlibarchive=disabled -Ddocs=disabled -Dsamurai=disabled build
    $ninja -C build
    build/muon -C build test
    popd
fi

export PATH=$(pwd)/build-tools/muon/build:$PATH

if [ ! -d libnvme ]; then
    git clone --depth 1 https://github.com/hreinecke/libnvme.git
fi

if [ ! -d nvme-cli ]; then
    git clone --depth 1 https://github.com/linux-nvme/nvme-cli.git
fi

rm -rf libnvme/build-libnvme nvme-cli/build-nvme-cli

pushd libnvme
muon setup -Dprefix=/tmp/nvme-cli-muon -Dpython=false -Dopenssl=disabled -Dlibdbus=disabled build-libnvme
samu -C build-libnvme
cd build-libnvme
muon install
popd

export PKG_CONFIG_PATH=/tmp/nvme-cli-muon/lib/pkgconfig

pushd nvme-cli
muon setup -Dprefix=/tmp/nvme-cli-muon build-nvme-cli
samu -C build-nvme-cli
cd build-nvme-cli
muon install
popd



More information about the Linux-nvme mailing list