1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[]
= "supermachine-kernel"
= "0.2.0"
= true
= true
= true
# This crate's published .crate contains material under THREE
# licenses, hence the SPDX expression below:
# - Apache-2.0 — our build.rs and lib.rs (the small Rust
# glue that handles xz decompression and
# exposes the bytes to consumers)
# - GPL-2.0-only — kernel.xz: a Linux kernel `Image` built
# with the libkrun AF_TSI patch series
# applied. Linux is GPL-2.0-only.
# - MIT — init-oci.xz: aarch64-musl static binary.
# musl libc is MIT; statically linked into
# the binary, so MIT applies to the blob.
# Each component ships under its own license; redistribution must
# satisfy all three. See NOTICE for the GPL §3(b) written offer
# (request the corresponding kernel source via email).
= "Apache-2.0 AND GPL-2.0-only AND MIT"
= "Pre-built Linux kernel image and in-VM init shim for supermachine, bundled as xz-compressed payloads inside the crate (no network required at build time). Versioned in lockstep with the supermachine library; pin both to the same version with `=`."
= "https://docs.rs/supermachine-kernel"
= "README.md"
= ["microvm", "hypervisor", "kernel", "supermachine", "oci"]
= ["virtualization", "embedded", "external-ffi-bindings"]
# Whitelist: anything not in this list is excluded from the
# uploaded .crate. We ship the kernel + init-oci as xz-compressed
# payloads — kernel.xz (~7 MiB) + init-oci.xz (~330 KiB) — so the
# combined .crate stays comfortably under crates.io's 10 MiB cap.
# build.rs decompresses them into OUT_DIR at the consumer's first
# `cargo build`. The raw uncompressed `kernel` and `init-oci` files
# in the dev tree are excluded; they're regenerated on demand
# (gitignored at the repo root).
= [
"src/**/*.rs",
"build.rs",
"kernel.xz",
"init-oci.xz",
"supermachine-agent.xz",
"Cargo.toml",
"README.md",
"LICENSE-APACHE",
"LICENSE-GPL-2.0",
"LICENSE-MIT",
"NOTICE",
]
[]
# No proc-macro / cdylib; just a regular rlib. Stated explicitly
# so `cargo publish` doesn't probe the absent kernel/init-oci files
# trying to infer artifact kinds.
= "supermachine_kernel"
= "src/lib.rs"
# Pure data crate (modulo build.rs network fetch). No runtime deps.
[]
[]