1
0
Fork 0
mirror of https://github.com/containers/youki synced 2024-06-01 12:26:17 +02:00

Follow the breaking changes of nix

Signed-off-by: utam0k <k0ma@utam0k.jp>
This commit is contained in:
utam0k 2022-04-23 21:30:00 +09:00
parent 712ddbb2aa
commit f2a645fb4f
No known key found for this signature in database
GPG Key ID: 14ACDDE088DF059E
9 changed files with 197 additions and 96 deletions

71
crates/Cargo.lock generated
View File

@ -83,9 +83,9 @@ dependencies = [
[[package]]
name = "base-x"
version = "0.2.8"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
checksum = "dc19a4937b4fbd3fe3379793130e42060d10627a360f2127802b10b87e7baf74"
[[package]]
name = "bitflags"
@ -174,9 +174,9 @@ dependencies = [
[[package]]
name = "clap"
version = "3.1.10"
version = "3.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3124f3f75ce09e22d1410043e1e24f2ecc44fad3afe4f08408f1f7663d68da2b"
checksum = "7c167e37342afc5f33fd87bbc870cedd020d2a6dffa05d45ccd9241fbdd146db"
dependencies = [
"atty",
"bitflags",
@ -1205,12 +1205,11 @@ checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389"
[[package]]
name = "nix"
version = "0.23.1"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9"
dependencies = [
"bitflags",
"cc",
"cfg-if 1.0.0",
"libc",
"memoffset",
@ -1737,7 +1736,7 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
"semver 1.0.6",
"semver 1.0.7",
]
[[package]]
@ -1775,9 +1774,9 @@ dependencies = [
[[package]]
name = "semver"
version = "1.0.6"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d"
checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
[[package]]
name = "semver-parser"
@ -2295,9 +2294,9 @@ checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744"
[[package]]
name = "wasmer"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
checksum = "f727a39e7161f7438ddb8eafe571b67c576a8c2fb459f666d9053b5bba4afdea"
dependencies = [
"cfg-if 1.0.0",
"indexmap",
@ -2321,9 +2320,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
checksum = "4e9951599222eb12bd13d4d91bcded0a880e4c22c2dfdabdf5dc7e5e803b7bf3"
dependencies = [
"enumset",
"loupe",
@ -2340,9 +2339,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
checksum = "44c83273bce44e668f3a2b9ccb7f1193db918b1d6806f64acc5ff71f6ece5f20"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@ -2361,9 +2360,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
checksum = "458dbd9718a837e6dbc52003aef84487d79eedef5fa28c7d28b6784be98ac08e"
dependencies = [
"proc-macro-error",
"proc-macro2",
@ -2373,9 +2372,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
checksum = "6ed603a6d037ebbb14014d7f739ae996a78455a4b86c41cfa4e81c590a1253b9"
dependencies = [
"backtrace",
"enumset",
@ -2395,9 +2394,9 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
checksum = "ccd7fdc60e252a795c849b3f78a81a134783051407e7e279c10b7019139ef8dc"
dependencies = [
"cfg-if 1.0.0",
"enum-iterator",
@ -2420,9 +2419,9 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
checksum = "dcff0cd2c01a8de6009fd863b14ea883132a468a24f2d2ee59dc34453d3a31b5"
dependencies = [
"cfg-if 1.0.0",
"enum-iterator",
@ -2440,9 +2439,9 @@ dependencies = [
[[package]]
name = "wasmer-object"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
checksum = "24ce18ac2877050e59580d27ee1a88f3192d7a31e77fbba0852abc7888d6e0b5"
dependencies = [
"object",
"thiserror",
@ -2452,9 +2451,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
checksum = "659fa3dd6c76f62630deff4ac8c7657b07f0b1e4d7e0f8243a552b9d9b448e24"
dependencies = [
"indexmap",
"loupe",
@ -2465,9 +2464,9 @@ dependencies = [
[[package]]
name = "wasmer-vfs"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d9c4be9fba0cb769ae2466437d629427bb2494c9e134eacd15a6f8127a77dc2"
checksum = "f02fc47308cf5cf2cc039ec61c098773320b3d3c099434f20580bd143beee63b"
dependencies = [
"libc",
"thiserror",
@ -2476,9 +2475,9 @@ dependencies = [
[[package]]
name = "wasmer-vm"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
checksum = "afdc46158517c2769f9938bc222a7d41b3bb330824196279d8aa2d667cd40641"
dependencies = [
"backtrace",
"cc",
@ -2499,9 +2498,9 @@ dependencies = [
[[package]]
name = "wasmer-wasi"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df791d89498c2a4288f89a5807e67248c1c75924316f67b9edcfc89198fd1711"
checksum = "3087d48fe015928118ae23f66f05b533e75fbea5dfcd64c75a74b7b5f941cc65"
dependencies = [
"cfg-if 1.0.0",
"generational-arena",
@ -2518,9 +2517,9 @@ dependencies = [
[[package]]
name = "wasmer-wasi-types"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32531c8bb267f21a5ec86f73e7cbae032094c967835eb9a23b416e36483b09c4"
checksum = "69adbd8d0d89cd19fb8b1e0252c76e3f72dbc65c944f0db7a9c28c4157fbcd3a"
dependencies = [
"byteorder",
"time 0.2.27",

View File

@ -21,7 +21,7 @@ systemd = ["v2", "dbus"]
cgroupsv2_devices = ["rbpf", "libbpf-sys", "errno", "libc"]
[dependencies]
nix = "0.23.1"
nix = "0.24.0"
procfs = "0.12.0"
log = "0.4"
anyhow = "1.0"

View File

@ -28,7 +28,7 @@ futures = { version = "0.3", features = ["thread-pool"] }
libc = "0.2.124"
log = "0.4"
mio = { version = "0.8.2", features = ["os-ext", "os-poll"] }
nix = "0.23.1"
nix = "0.24.0"
oci-spec = { git = "https://github.com/containers/oci-spec-rs", rev = "89376af" }
path-clean = "0.1.0"
procfs = "0.12.0"

View File

@ -1,11 +1,12 @@
use crate::process::message::Message;
use anyhow::{bail, Context, Result};
use nix::{
sys::{socket, uio},
sys::socket::{self, UnixAddr},
unistd::{self, Pid},
};
use serde::{Deserialize, Serialize};
use std::{
io::{IoSlice, IoSliceMut},
marker::PhantomData,
os::unix::prelude::{AsRawFd, RawFd},
};
@ -255,13 +256,13 @@ impl<T> Sender<T>
where
T: Serialize,
{
fn send_iovec(&mut self, iov: &[uio::IoVec<&[u8]>], fds: Option<&[RawFd]>) -> Result<usize> {
fn send_iovec(&mut self, iov: &[IoSlice], fds: Option<&[RawFd]>) -> Result<usize> {
let cmsgs = if let Some(fds) = fds {
vec![socket::ControlMessage::ScmRights(fds)]
} else {
vec![]
};
socket::sendmsg(self.sender, iov, &cmsgs, socket::MsgFlags::empty(), None)
socket::sendmsg::<UnixAddr>(self.sender, iov, &cmsgs, socket::MsgFlags::empty(), None)
.map_err(|e| e.into())
}
@ -269,13 +270,13 @@ where
let len = data.len() as u64;
// Here we prefix the length of the data onto the serialized data.
let iov = [
uio::IoVec::from_slice(unsafe {
IoSlice::new(unsafe {
std::slice::from_raw_parts(
(&len as *const u64) as *const u8,
std::mem::size_of::<u64>(),
)
}),
uio::IoVec::from_slice(data),
IoSlice::new(data),
];
self.send_iovec(&iov[..], fds)
}
@ -305,25 +306,26 @@ where
{
fn peek_size_iovec(&mut self) -> Result<u64> {
let mut len: u64 = 0;
let iov = [uio::IoVec::from_mut_slice(unsafe {
let mut iov = [IoSliceMut::new(unsafe {
std::slice::from_raw_parts_mut(
(&mut len as *mut u64) as *mut u8,
std::mem::size_of::<u64>(),
)
})];
let _ = socket::recvmsg(self.receiver, &iov, None, socket::MsgFlags::MSG_PEEK)?;
let _ =
socket::recvmsg::<UnixAddr>(self.receiver, &mut iov, None, socket::MsgFlags::MSG_PEEK)?;
match len {
0 => bail!("channel connection broken"),
_ => Ok(len),
}
}
fn recv_into_iovec<F>(&mut self, iov: &[uio::IoVec<&mut [u8]>]) -> Result<(usize, Option<F>)>
fn recv_into_iovec<F>(&mut self, iov: &mut [IoSliceMut]) -> Result<(usize, Option<F>)>
where
F: Default + AsMut<[RawFd]>,
{
let mut cmsgspace = nix::cmsg_space!(F);
let msg = socket::recvmsg(
let msg = socket::recvmsg::<UnixAddr>(
self.receiver,
iov,
Some(&mut cmsgspace),
@ -347,7 +349,6 @@ where
.map(|fds| {
let mut fds_array: F = Default::default();
<F as AsMut<[RawFd]>>::as_mut(&mut fds_array).clone_from_slice(&fds);
fds_array
});
@ -362,16 +363,16 @@ where
let mut len: u64 = 0;
let mut buf = vec![0u8; msg_len as usize];
let (bytes, fds) = {
let iov = [
uio::IoVec::from_mut_slice(unsafe {
let mut iov = [
IoSliceMut::new(unsafe {
std::slice::from_raw_parts_mut(
(&mut len as *mut u64) as *mut u8,
std::mem::size_of::<u64>(),
)
}),
uio::IoVec::from_mut_slice(&mut buf),
IoSliceMut::new(&mut buf),
];
self.recv_into_iovec(&iov)?
self.recv_into_iovec(&mut iov)?
};
match bytes {

View File

@ -6,11 +6,11 @@ use crate::{
};
use anyhow::{Context, Result};
use nix::{
sys::{socket, uio},
sys::socket::{self, UnixAddr},
unistd::{self, Pid},
};
use oci_spec::runtime;
use std::path::Path;
use std::{io::IoSlice, path::Path};
pub fn container_main_process(container_args: &ContainerArgs) -> Result<Pid> {
// We use a set of channels to communicate between parent and child process.
@ -130,8 +130,7 @@ fn sync_seccomp_send_msg(listener_path: &Path, msg: &[u8], fd: i32) -> Result<()
None,
)
.context("failed to create unix domain socket for seccomp listener")?;
let unix_addr =
socket::SockAddr::new_unix(listener_path).context("failed to create unix addr")?;
let unix_addr = socket::UnixAddr::new(listener_path).context("failed to create unix addr")?;
socket::connect(socket, &unix_addr).with_context(|| {
format!(
"failed to connect to seccomp notify listerner path: {:?}",
@ -142,10 +141,10 @@ fn sync_seccomp_send_msg(listener_path: &Path, msg: &[u8], fd: i32) -> Result<()
// SCM_RIGHTS message.
// Ref: https://man7.org/linux/man-pages/man3/sendmsg.3p.html
// Ref: https://man7.org/linux/man-pages/man3/cmsg.3.html
let iov = [uio::IoVec::from_slice(msg)];
let iov = [IoSlice::new(msg)];
let fds = [fd];
let cmsgs = socket::ControlMessage::ScmRights(&fds);
socket::sendmsg(socket, &iov, &[cmsgs], socket::MsgFlags::empty(), None)
socket::sendmsg::<UnixAddr>(socket, &iov, &[cmsgs], socket::MsgFlags::empty(), None)
.context("failed to write container state to seccomp listener")?;
// The spec requires the listener socket to be closed immediately after sending.
let _ = unistd::close(socket);

View File

@ -1,5 +1,6 @@
//! tty (teletype) for user-system interaction
use std::io::IoSlice;
use std::os::unix::fs::symlink;
use std::os::unix::io::AsRawFd;
use std::os::unix::prelude::RawFd;
@ -8,8 +9,7 @@ use std::path::Path;
use anyhow::Context;
use anyhow::{bail, Result};
use nix::errno::Errno;
use nix::sys::socket;
use nix::sys::uio;
use nix::sys::socket::{self, UnixAddr};
use nix::unistd::close;
use nix::unistd::dup2;
@ -32,10 +32,7 @@ pub fn setup_console_socket(
socket::SockFlag::empty(),
None,
)?;
csocketfd = match socket::connect(
csocketfd,
&socket::SockAddr::Unix(socket::UnixAddr::new(socket_name)?),
) {
csocketfd = match socket::connect(csocketfd, &socket::UnixAddr::new(socket_name)?) {
Err(errno) => {
if !matches!(errno, Errno::ENOENT) {
bail!("failed to open {}", socket_name);
@ -53,10 +50,10 @@ pub fn setup_console(console_fd: &RawFd) -> Result<()> {
let openpty_result =
nix::pty::openpty(None, None).context("could not create pseudo terminal")?;
let pty_name: &[u8] = b"/dev/ptmx";
let iov = [uio::IoVec::from_slice(pty_name)];
let iov = [IoSlice::new(pty_name)];
let fds = [openpty_result.master];
let cmsg = socket::ControlMessage::ScmRights(&fds);
socket::sendmsg(
socket::sendmsg::<UnixAddr>(
console_fd.as_raw_fd(),
&iov,
&[cmsg],

View File

@ -24,7 +24,7 @@ libcgroups = { version = "0.0.3", path = "../libcgroups" }
libcontainer = { version = "0.0.3", path = "../libcontainer" }
liboci-cli = { version = "0.0.3", path = "../liboci-cli" }
log = { version = "0.4", features = ["std"]}
nix = "0.23.1"
nix = "0.24.0"
oci-spec = { git = "https://github.com/containers/oci-spec-rs", rev = "89376af" }
once_cell = "1.10.0"
pentacle = "1.0.0"

View File

@ -30,10 +30,22 @@ pub fn print_youki() {
/// Print Kernel Release, Version and Architecture
pub fn print_kernel() {
let uname = nix::sys::utsname::uname();
println!("{:<18}{}", "Kernel-Release", uname.release());
println!("{:<18}{}", "Kernel-Version", uname.version());
println!("{:<18}{}", "Architecture", uname.machine());
let uname = nix::sys::utsname::uname().unwrap();
println!(
"{:<18}{}",
"Kernel-Release",
uname.release().to_string_lossy()
);
println!(
"{:<18}{}",
"Kernel-Version",
uname.version().to_string_lossy()
);
println!(
"{:<18}{}",
"Architecture",
uname.machine().to_string_lossy()
);
}
/// Prints OS Distribution information
@ -165,7 +177,10 @@ pub fn print_cgroup_v2_controllers() {
fn read_kernel_config() -> Option<String> {
let uname = nix::sys::utsname::uname();
let kernel_config = Path::new("/boot").join(format!("config-{}", uname.release()));
let kernel_config = Path::new("/boot").join(format!(
"config-{}",
uname.unwrap().release().to_string_lossy()
));
if !kernel_config.exists() {
return None;
}

View File

@ -189,8 +189,18 @@ version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
dependencies = [
"darling_core",
"darling_macro",
"darling_core 0.12.4",
"darling_macro 0.12.4",
]
[[package]]
name = "darling"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1a5d2e8b5a94b2261efb20e99a01255b9c5293797d69bbf04600567b2f9b8d7"
dependencies = [
"darling_core 0.14.0",
"darling_macro 0.14.0",
]
[[package]]
@ -207,13 +217,38 @@ dependencies = [
"syn",
]
[[package]]
name = "darling_core"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f1c7d56716be82d9c6adb967cfe700955179ea88806e898483dad6987330a54"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn",
]
[[package]]
name = "darling_macro"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
dependencies = [
"darling_core",
"darling_core 0.12.4",
"quote",
"syn",
]
[[package]]
name = "darling_macro"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64dd7e5a75a00cb6799ae9fbbfc3bba0134def6579a9e27564e72c839c837bed"
dependencies = [
"darling_core 0.14.0",
"quote",
"syn",
]
@ -235,7 +270,16 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
dependencies = [
"derive_builder_macro",
"derive_builder_macro 0.10.2",
]
[[package]]
name = "derive_builder"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3"
dependencies = [
"derive_builder_macro 0.11.2",
]
[[package]]
@ -244,7 +288,19 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
dependencies = [
"darling",
"darling 0.12.4",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "derive_builder_core"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4"
dependencies = [
"darling 0.14.0",
"proc-macro2",
"quote",
"syn",
@ -256,7 +312,17 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
dependencies = [
"derive_builder_core",
"derive_builder_core 0.10.2",
"syn",
]
[[package]]
name = "derive_builder_macro"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68"
dependencies = [
"derive_builder_core 0.11.2",
"syn",
]
@ -518,9 +584,9 @@ dependencies = [
"libcgroups",
"libcontainer",
"log",
"nix",
"nix 0.23.1",
"num_cpus",
"oci-spec",
"oci-spec 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
"once_cell",
"pnet",
"procfs",
@ -556,27 +622,27 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.121"
version = "0.2.124"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
checksum = "21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50"
[[package]]
name = "libcgroups"
version = "0.0.2"
version = "0.0.3"
dependencies = [
"anyhow",
"dbus",
"fixedbitset",
"log",
"nix",
"oci-spec",
"nix 0.24.1",
"oci-spec 0.5.5 (git+https://github.com/containers/oci-spec-rs?rev=89376af)",
"procfs",
"serde",
]
[[package]]
name = "libcontainer"
version = "0.0.2"
version = "0.0.3"
dependencies = [
"anyhow",
"bitflags",
@ -591,8 +657,8 @@ dependencies = [
"libseccomp",
"log",
"mio",
"nix",
"oci-spec",
"nix 0.24.1",
"oci-spec 0.5.5 (git+https://github.com/containers/oci-spec-rs?rev=89376af)",
"path-clean",
"prctl",
"procfs",
@ -698,6 +764,18 @@ dependencies = [
"memoffset",
]
[[package]]
name = "nix"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9"
dependencies = [
"bitflags",
"cfg-if",
"libc",
"memoffset",
]
[[package]]
name = "ntapi"
version = "0.3.6"
@ -742,7 +820,19 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71a85b9f9654fe5c3eab8907369250c05aeda9d807b76bd06c740601f881dc02"
dependencies = [
"derive_builder",
"derive_builder 0.10.2",
"getset",
"serde",
"serde_json",
"thiserror",
]
[[package]]
name = "oci-spec"
version = "0.5.5"
source = "git+https://github.com/containers/oci-spec-rs?rev=89376af#89376af909b308e7fa65189f8fccc7cd20468dd1"
dependencies = [
"derive_builder 0.11.2",
"getset",
"serde",
"serde_json",
@ -895,7 +985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "059a34f111a9dee2ce1ac2826a68b24601c4298cfeb1a587c3cb493d5ab46f52"
dependencies = [
"libc",
"nix",
"nix 0.23.1",
]
[[package]]
@ -924,9 +1014,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.36"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
dependencies = [
"unicode-xid",
]
@ -973,9 +1063,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.15"
version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
dependencies = [
"proc-macro2",
]
@ -1103,9 +1193,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "1.0.86"
version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
dependencies = [
"proc-macro2",
"quote",