1
0
mirror of https://github.com/containers/youki synced 2024-11-23 09:21:57 +01:00
youki/crates/libcontainer
Eric Fang bda93700e2
Refactor the Executor interface to allow trait object as executors (#2230)
* Refactored the Executor interface yet again

I apologize having to refactor this interface yet again. Previously, we
introduced the executor to be a function pointer. This works out nicely
because the function pointer in rust can be clone-ed without hassel.
However, I realized that using function pointer is way to restrictive
for our users. The executor may wish to include additional context when
calling the exec function. The function pointer limited the input only
`oci spec`.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix spell check

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Fix doc test

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-08-06 13:14:31 +05:30
..
src Refactor the Executor interface to allow trait object as executors (#2230) 2023-08-06 13:14:31 +05:30
Cargo.toml Merge pull request #2203 from yihuaf/yihuaf/clone-fallback 2023-08-01 10:27:44 +05:30
README.md Using typos-cli to catch typos + fixes for existing typos (#2018) 2023-06-08 10:19:17 +05:30

libcontainer

Building with musl

In order to build with musl you must first remove the libseccomp dependency as it will reference shared libraries (libdbus and libseccomp) which cannot be built with musl.

Do this by using adding flags to Cargo. Use the --no-default-features flag followed by -F and whatever features you intend to build with such as v2 as defined in Cargo.toml under features section.

Next you will also need the +nightly flags when building with rustup and cargo.

# Add rustup +nightly musl to toolchain
rustup +nightly target add $(uname -m)-unknown-linux-musl

# Build rustup +nightly stdlib with musl
rustup +nightly toolchain install nightly-$(uname -m)-unknown-linux-musl

# Build musl standard library
cargo +nightly build -Zbuild-std --target $(uname -m)-unknown-linux-musl --no-default-features -F v2

cargo +nightly build --target $(uname -m)-unknown-linux-musl --no-default-features -F v2