Bumps the non-rust-vmm group with 34 updates in the / directory: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.31` | `4.5.34` | | [log](https://github.com/rust-lang/log) | `0.4.26` | `0.4.27` | | [thiserror](https://github.com/dtolnay/thiserror) | `2.0.11` | `2.0.12` | | [console](https://github.com/console-rs/console) | `0.15.10` | `0.15.11` | | [libc](https://github.com/rust-lang/libc) | `0.2.170` | `0.2.171` | | [bitflags](https://github.com/bitflags/bitflags) | `2.8.0` | `2.9.0` | | [tempfile](https://github.com/Stebalien/tempfile) | `3.17.1` | `3.19.1` | | [evdev](https://github.com/cmr/evdev) | `0.13.0` | `0.13.1` | | [rstest](https://github.com/la10736/rstest) | `0.24.0` | `0.25.0` | | [serde](https://github.com/serde-rs/serde) | `1.0.218` | `1.0.219` | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.96` | `1.0.97` | | [bytemuck](https://github.com/Lokathor/bytemuck) | `1.21.0` | `1.22.0` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.16` | `1.2.17` | | [either](https://github.com/rayon-rs/either) | `1.14.0` | `1.15.0` | | [fragile](https://github.com/mitsuhiko/fragile) | `2.0.0` | `2.0.1` | | [getrandom](https://github.com/rust-random/getrandom) | `0.3.1` | `0.3.2` | | [humantime](https://github.com/chronotope/humantime) | `2.1.0` | `2.2.0` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.1` | `2.8.0` | | [itoa](https://github.com/dtolnay/itoa) | `1.0.14` | `1.0.15` | | [once_cell](https://github.com/matklad/once_cell) | `1.20.3` | `1.21.3` | | [pkg-config](https://github.com/rust-lang/pkg-config-rs) | `0.3.31` | `0.3.32` | | [proc-macro-crate](https://github.com/bkchr/proc-macro-crate) | `3.2.0` | `3.3.0` | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.93` | `1.0.94` | | [quote](https://github.com/dtolnay/quote) | `1.0.38` | `1.0.40` | | [rand_core](https://github.com/rust-random/rand) | `0.9.2` | `0.9.3` | | redox_syscall | `0.5.9` | `0.5.10` | | [remain](https://github.com/dtolnay/remain) | `0.2.14` | `0.2.15` | | [ryu](https://github.com/dtolnay/ryu) | `1.0.19` | `1.0.20` | | [semver](https://github.com/dtolnay/semver) | `1.0.25` | `1.0.26` | | [serde_json](https://github.com/serde-rs/json) | `1.0.139` | `1.0.140` | | [socket2](https://github.com/rust-lang/socket2) | `0.5.8` | `0.5.9` | | [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.17` | `1.0.18` | | [uuid](https://github.com/uuid-rs/uuid) | `1.15.1` | `1.16.0` | | [winnow](https://github.com/winnow-rs/winnow) | `0.7.3` | `0.7.4` | Bumps the non-rust-vmm group with 23 updates in the /staging directory: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.31` | `4.5.34` | | [env_logger](https://github.com/rust-cli/env_logger) | `0.11.6` | `0.11.7` | | [log](https://github.com/rust-lang/log) | `0.4.26` | `0.4.27` | | [thiserror](https://github.com/dtolnay/thiserror) | `2.0.11` | `2.0.12` | | [libc](https://github.com/rust-lang/libc) | `0.2.170` | `0.2.171` | | [bitflags](https://github.com/bitflags/bitflags) | `2.8.0` | `2.9.0` | | [tempfile](https://github.com/Stebalien/tempfile) | `3.17.1` | `3.19.1` | | [rstest](https://github.com/la10736/rstest) | `0.24.0` | `0.25.0` | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.96` | `1.0.97` | | [either](https://github.com/rayon-rs/either) | `1.14.0` | `1.15.0` | | [getrandom](https://github.com/rust-random/getrandom) | `0.3.1` | `0.3.2` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.1` | `2.8.0` | | [once_cell](https://github.com/matklad/once_cell) | `1.20.3` | `1.21.3` | | [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.29` | `0.2.31` | | [proc-macro-crate](https://github.com/bkchr/proc-macro-crate) | `3.2.0` | `3.3.0` | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.93` | `1.0.94` | | [quote](https://github.com/dtolnay/quote) | `1.0.38` | `1.0.40` | | [rand_core](https://github.com/rust-random/rand) | `0.9.2` | `0.9.3` | | [semver](https://github.com/dtolnay/semver) | `1.0.25` | `1.0.26` | | [syn](https://github.com/dtolnay/syn) | `2.0.98` | `2.0.100` | | [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.17` | `1.0.18` | | [uuid](https://github.com/uuid-rs/uuid) | `1.15.1` | `1.16.0` | | [winnow](https://github.com/winnow-rs/winnow) | `0.7.3` | `0.7.4` | Updates `clap` from 4.5.31 to 4.5.34 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...clap_complete-v4.5.34) Updates `log` from 0.4.26 to 0.4.27 - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.26...0.4.27) Updates `thiserror` from 2.0.11 to 2.0.12 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/2.0.11...2.0.12) Updates `console` from 0.15.10 to 0.15.11 - [Release notes](https://github.com/console-rs/console/releases) - [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md) - [Commits](https://github.com/console-rs/console/compare/0.15.10...0.15.11) Updates `libc` from 0.2.170 to 0.2.171 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.171/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.170...0.2.171) Updates `bitflags` from 2.8.0 to 2.9.0 - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.8.0...2.9.0) Updates `tempfile` from 3.17.1 to 3.19.1 - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stebalien/tempfile/compare/v3.17.1...v3.19.1) Updates `evdev` from 0.13.0 to 0.13.1 - [Changelog](https://github.com/emberian/evdev/blob/main/CHANGELOG.md) - [Commits](https://github.com/cmr/evdev/compare/0.13.0...0.13.1) Updates `rstest` from 0.24.0 to 0.25.0 - [Release notes](https://github.com/la10736/rstest/releases) - [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md) - [Commits](https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0) Updates `serde` from 1.0.218 to 1.0.219 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.218...v1.0.219) Updates `anyhow` from 1.0.96 to 1.0.97 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) Updates `bytemuck` from 1.21.0 to 1.22.0 - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](https://github.com/Lokathor/bytemuck/compare/v1.21.0...v1.22.0) Updates `cc` from 1.2.16 to 1.2.17 - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.16...cc-v1.2.17) Updates `clap_builder` from 4.5.31 to 4.5.34 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...v4.5.34) Updates `clap_derive` from 4.5.28 to 4.5.32 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.28...v4.5.32) Updates `either` from 1.14.0 to 1.15.0 - [Commits](https://github.com/rayon-rs/either/compare/1.14.0...1.15.0) Updates `fragile` from 2.0.0 to 2.0.1 - [Changelog](https://github.com/mitsuhiko/fragile/blob/master/CHANGELOG.md) - [Commits](https://github.com/mitsuhiko/fragile/compare/2.0.0...2.0.1) Updates `getrandom` from 0.3.1 to 0.3.2 - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.3.1...v0.3.2) Updates `humantime` from 2.1.0 to 2.2.0 - [Commits](https://github.com/chronotope/humantime/commits) Updates `indexmap` from 2.7.1 to 2.8.0 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.1...2.8.0) Updates `itoa` from 1.0.14 to 1.0.15 - [Release notes](https://github.com/dtolnay/itoa/releases) - [Commits](https://github.com/dtolnay/itoa/compare/1.0.14...1.0.15) Updates `once_cell` from 1.20.3 to 1.21.3 - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.20.3...v1.21.3) Updates `pkg-config` from 0.3.31 to 0.3.32 - [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.31...0.3.32) Updates `proc-macro-crate` from 3.2.0 to 3.3.0 - [Release notes](https://github.com/bkchr/proc-macro-crate/releases) - [Commits](https://github.com/bkchr/proc-macro-crate/compare/v3.2.0...v3.3.0) Updates `proc-macro2` from 1.0.93 to 1.0.94 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.93...1.0.94) Updates `quote` from 1.0.38 to 1.0.40 - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.38...1.0.40) Updates `rand_core` from 0.9.2 to 0.9.3 - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/commits) Updates `redox_syscall` from 0.5.9 to 0.5.10 Updates `remain` from 0.2.14 to 0.2.15 - [Release notes](https://github.com/dtolnay/remain/releases) - [Commits](https://github.com/dtolnay/remain/compare/0.2.14...0.2.15) Updates `rstest_macros` from 0.24.0 to 0.25.0 - [Release notes](https://github.com/la10736/rstest/releases) - [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md) - [Commits](https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0) Updates `ryu` from 1.0.19 to 1.0.20 - [Release notes](https://github.com/dtolnay/ryu/releases) - [Commits](https://github.com/dtolnay/ryu/compare/1.0.19...1.0.20) Updates `semver` from 1.0.25 to 1.0.26 - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.25...1.0.26) Updates `serde_derive` from 1.0.218 to 1.0.219 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.218...v1.0.219) Updates `serde_json` from 1.0.139 to 1.0.140 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.139...v1.0.140) Updates `socket2` from 0.5.8 to 0.5.9 - [Release notes](https://github.com/rust-lang/socket2/releases) - [Changelog](https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/socket2/commits) Updates `unicode-ident` from 1.0.17 to 1.0.18 - [Release notes](https://github.com/dtolnay/unicode-ident/releases) - [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.17...1.0.18) Updates `uuid` from 1.15.1 to 1.16.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0) Updates `uuid-macro-internal` from 1.15.1 to 1.16.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0) Updates `winnow` from 0.7.3 to 0.7.4 - [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md) - [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.3...v0.7.4) Updates `wit-bindgen-rt` from 0.33.0 to 0.39.0 - [Release notes](https://github.com/bytecodealliance/wit-bindgen/releases) - [Commits](https://github.com/bytecodealliance/wit-bindgen/compare/v0.33.0...v0.39.0) Updates `clap` from 4.5.31 to 4.5.34 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...clap_complete-v4.5.34) Updates `env_logger` from 0.11.6 to 0.11.7 - [Release notes](https://github.com/rust-cli/env_logger/releases) - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.6...v0.11.7) Updates `log` from 0.4.26 to 0.4.27 - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/compare/0.4.26...0.4.27) Updates `thiserror` from 2.0.11 to 2.0.12 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/2.0.11...2.0.12) Updates `libc` from 0.2.170 to 0.2.171 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.171/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.170...0.2.171) Updates `bitflags` from 2.8.0 to 2.9.0 - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](https://github.com/bitflags/bitflags/compare/2.8.0...2.9.0) Updates `tempfile` from 3.17.1 to 3.19.1 - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stebalien/tempfile/compare/v3.17.1...v3.19.1) Updates `rstest` from 0.24.0 to 0.25.0 - [Release notes](https://github.com/la10736/rstest/releases) - [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md) - [Commits](https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0) Updates `anyhow` from 1.0.96 to 1.0.97 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) Updates `clap_builder` from 4.5.31 to 4.5.34 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.31...v4.5.34) Updates `clap_derive` from 4.5.28 to 4.5.32 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.28...v4.5.32) Updates `either` from 1.14.0 to 1.15.0 - [Commits](https://github.com/rayon-rs/either/compare/1.14.0...1.15.0) Updates `getrandom` from 0.3.1 to 0.3.2 - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.3.1...v0.3.2) Updates `indexmap` from 2.7.1 to 2.8.0 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.1...2.8.0) Updates `linux-raw-sys` from 0.4.15 to 0.9.3 - [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.4.15...v0.9.3) Updates `once_cell` from 1.20.3 to 1.21.3 - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.20.3...v1.21.3) Updates `prettyplease` from 0.2.29 to 0.2.31 - [Release notes](https://github.com/dtolnay/prettyplease/releases) - [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.29...0.2.31) Updates `proc-macro-crate` from 3.2.0 to 3.3.0 - [Release notes](https://github.com/bkchr/proc-macro-crate/releases) - [Commits](https://github.com/bkchr/proc-macro-crate/compare/v3.2.0...v3.3.0) Updates `proc-macro2` from 1.0.93 to 1.0.94 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.93...1.0.94) Updates `quote` from 1.0.38 to 1.0.40 - [Release notes](https://github.com/dtolnay/quote/releases) - [Commits](https://github.com/dtolnay/quote/compare/1.0.38...1.0.40) Updates `rand_core` from 0.9.2 to 0.9.3 - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/commits) Updates `rstest_macros` from 0.24.0 to 0.25.0 - [Release notes](https://github.com/la10736/rstest/releases) - [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md) - [Commits](https://github.com/la10736/rstest/compare/v0.24.0...v0.25.0) Updates `rustix` from 0.38.44 to 1.0.3 - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md) - [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.44...v1.0.3) Updates `semver` from 1.0.25 to 1.0.26 - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.25...1.0.26) Updates `syn` from 2.0.98 to 2.0.100 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.98...2.0.100) Updates `unicode-ident` from 1.0.17 to 1.0.18 - [Release notes](https://github.com/dtolnay/unicode-ident/releases) - [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.17...1.0.18) Updates `uuid` from 1.15.1 to 1.16.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0) Updates `uuid-macro-internal` from 1.15.1 to 1.16.0 - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0) Updates `wasi` from 0.13.3+wasi-0.2.2 to 0.14.2+wasi-0.2.4 - [Commits](https://github.com/bytecodealliance/wasi-rs/compare/0.13.3...0.14.2) Updates `winnow` from 0.7.3 to 0.7.4 - [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md) - [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.3...v0.7.4) Updates `wit-bindgen-rt` from 0.33.0 to 0.39.0 - [Release notes](https://github.com/bytecodealliance/wit-bindgen/releases) - [Commits](https://github.com/bytecodealliance/wit-bindgen/compare/v0.33.0...v0.39.0) --- updated-dependencies: - dependency-name: clap dependency-version: 4.5.34 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: log dependency-version: 0.4.27 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: thiserror dependency-version: 2.0.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: console dependency-version: 0.15.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.171 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bitflags dependency-version: 2.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: tempfile dependency-version: 3.19.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: evdev dependency-version: 0.13.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rstest dependency-version: 0.25.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: serde dependency-version: 1.0.219 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: anyhow dependency-version: 1.0.97 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bytemuck dependency-version: 1.22.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.17 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.34 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_derive dependency-version: 4.5.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: either dependency-version: 1.15.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: fragile dependency-version: 2.0.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: getrandom dependency-version: 0.3.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: humantime dependency-version: 2.2.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.8.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: itoa dependency-version: 1.0.15 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: once_cell dependency-version: 1.21.3 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: pkg-config dependency-version: 0.3.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: proc-macro-crate dependency-version: 3.3.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: proc-macro2 dependency-version: 1.0.94 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: quote dependency-version: 1.0.40 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand_core dependency-version: 0.9.3 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: redox_syscall dependency-version: 0.5.10 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: remain dependency-version: 0.2.15 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rstest_macros dependency-version: 0.25.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: ryu dependency-version: 1.0.20 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: semver dependency-version: 1.0.26 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: serde_derive dependency-version: 1.0.219 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: serde_json dependency-version: 1.0.140 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: socket2 dependency-version: 0.5.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: unicode-ident dependency-version: 1.0.18 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.16.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: uuid-macro-internal dependency-version: 1.16.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: winnow dependency-version: 0.7.4 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wit-bindgen-rt dependency-version: 0.39.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.5.34 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: env_logger dependency-version: 0.11.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: log dependency-version: 0.4.27 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: thiserror dependency-version: 2.0.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.171 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bitflags dependency-version: 2.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: tempfile dependency-version: 3.19.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: rstest dependency-version: 0.25.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: anyhow dependency-version: 1.0.97 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.34 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_derive dependency-version: 4.5.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: either dependency-version: 1.15.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: getrandom dependency-version: 0.3.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.8.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: linux-raw-sys dependency-version: 0.9.3 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: once_cell dependency-version: 1.21.3 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: prettyplease dependency-version: 0.2.31 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: proc-macro-crate dependency-version: 3.3.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: proc-macro2 dependency-version: 1.0.94 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: quote dependency-version: 1.0.40 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand_core dependency-version: 0.9.3 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rstest_macros dependency-version: 0.25.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: rustix dependency-version: 1.0.3 dependency-type: indirect update-type: version-update:semver-major dependency-group: non-rust-vmm - dependency-name: semver dependency-version: 1.0.26 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: syn dependency-version: 2.0.100 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: unicode-ident dependency-version: 1.0.18 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: uuid dependency-version: 1.16.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: uuid-macro-internal dependency-version: 1.16.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: wasi dependency-version: 0.14.2+wasi-0.2.4 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: winnow dependency-version: 0.7.4 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: wit-bindgen-rt dependency-version: 0.39.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-BSD-3-Clause | ||
| README.md | ||
| rustfmt.toml | ||
vhost-device-console - Console emulation backend daemon
Description
This program is a vhost-user backend that emulates a VirtIO Console device. The device's binary takes as parameters a socket path, a socket number which is the number of connections, commonly used across all vhost-devices to communicate with the vhost-user frontend devices, and the backend type "nested" or "network".
The "nested" backend allows input/output to the guest console through the current terminal.
The "network" backend creates a local TCP port (specified on vhost-device-console arguments) and allows input/output to the guest console via that socket.
This program is tested with QEMU's vhost-user-device-pci device.
Examples' section below.
Synopsis
vhost-device-console --socket-path=<SOCKET_PATH>
Options
.. program:: vhost-device-console
.. option:: -h, --help
Print help.
.. option:: -s, --socket-path=PATH
Location of vhost-user Unix domain sockets, this path will be suffixed with 0,1,2..socket_count-1.
.. option:: -p, --tcp-port=PORT_NUMBER
The localhost's port to be used for each guest, this part will be increased with 0,1,2..socket_count-1.
-- option:: -b, --backend=nested|network
The backend type vhost-device-console to be used. The current implementation supports two types of backends: "nested", "network" (described above). Note: The nested backend is selected by default and can be used only when socket_count equals 1.
.. option:: -q, --max-queue-size=SIZE
The maximum size of virtqueues. It is optional, and the default value is 128. The size must be greater than 0 and a power of 2.
Limitations
This device is still work-in-progress (WIP). The current version has been tested
with VIRTIO_CONSOLE_F_MULTIPORT, but only for one console (max_nr_ports = 1).
Also it does not yet support the VIRTIO_CONSOLE_F_EMERG_WRITE and
VIRTIO_CONSOLE_F_SIZE features.
Features
The current device gives access to multiple QEMU guest by providing a login prompt either by connecting to a localhost server port (network backend) or by creating an nested command prompt in the current terminal (nested backend). This prompt appears as soon as the guest is fully booted and gives the ability to user run command as a in regular terminal.
Examples
Dependencies
For testing the device the required dependencies are:
- Linux:
- Set
CONFIG_VIRTIO_CONSOLE=y
- Set
- QEMU (optional):
- A new vhost-user-console device has been implemented in the following repo:
Test the device
The daemon should be started first:
host# vhost-device-console --socket-path=/tmp/console.sock --socket-count=1 \
--tcp-port=12345 --backend=network
Note: In case the backend is "nested" there is no need to provide "--socket-count" and "--tcp-port" parameters.
The QEMU invocation needs to create a chardev socket the device can use to communicate as well as share the guests memory over a memfd.
There are two option for running QEMU with vhost-device-console:
- Using
vhost-user-console-pci:
host# qemu-system \
<normal QEMU options> \
-machine <machine options>,memory-backend=mem0 \
-object memory-backend-memfd,id=mem0,size=<Guest RAM size> \ # size == -m size
-chardev socket,path=/tmp/console.sock0,id=con0 \
-device vhost-user-console-pci,chardev=con0,id=console \
...
Note: For testing this scenario the reader needs to clone the QEMU version from the following repo which implements
vhost-user-consoledevice.
- Using
vhost-user-device-pci:
host# qemu-system \
<normal QEMU options> \
-machine <machine options>,memory-backend=mem0 \
-object memory-backend-memfd,id=mem0,size=<Guest RAM size> \ # size == -m size
-chardev socket,id=con0,path=/tmp/console.sock0 \
-device vhost-user-device-pci,chardev=con0,virtio-id=3,num_vqs=4,config_size=12 \
...
Eventually, the user can connect to the console by running:
host# stty -icanon -echo && nc localhost 12345 && stty echo
Note:
stty -icanon -echois used to force the tty layer to disable buffering and send / receive each character individually. After closing the connection please runstty echoso character are printed back on the local terminal console.
Note: In case the backend is "nested" a nested terminal will be shown into vhost-device-console terminal space.
License
This project is licensed under either of
- Apache License, Version 2.0
- BSD-3-Clause License