From b6d842fa56f0ccb9e5084d0e06100c53170d46f7 Mon Sep 17 00:00:00 2001 From: paulhsia Date: Fri, 18 Jan 2019 20:00:36 +0800 Subject: [PATCH] crosvm: Support cros-rust version crosvm ebuild To support eclass migration for crosvm ebuild from crate to cros-rust. This CL need to be built with cros-rust version crosvm ebuild. - Upgrage crate cc from 1.0.15 to 1.0.25. - Change local tempdir version from 0.3.5 to 0.3.7 for ebuild integration. - Remove 9s directory since it's moved to platform2. BUG=chromium:781398 BUG=chromium:907520 TEST=Run $ FEATURES=test emerge-eve crosvm in a clean chroot CQ-DEPEND=CL:1421303 Change-Id: Iab615b555a51f8020e5efae1cc40ac6b54ea87f2 Reviewed-on: https://chromium-review.googlesource.com/1421237 Commit-Ready: Chih-Yang Hsia Tested-by: kokoro Tested-by: Chih-Yang Hsia Reviewed-by: Zach Reizner --- 9s/Cargo.toml | 11 --- 9s/src/main.rs | 210 ---------------------------------------- 9s/src/vsock.rs | 197 ------------------------------------- Cargo.lock | 68 +++++++------ Cargo.toml | 2 +- gpu_display/Cargo.toml | 2 +- plugin_proto/Cargo.toml | 2 +- tempdir/Cargo.toml | 2 +- x86_64/Cargo.toml | 2 +- 9 files changed, 38 insertions(+), 458 deletions(-) delete mode 100644 9s/Cargo.toml delete mode 100644 9s/src/main.rs delete mode 100644 9s/src/vsock.rs diff --git a/9s/Cargo.toml b/9s/Cargo.toml deleted file mode 100644 index 1aa5e6a070..0000000000 --- a/9s/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[package] -name = "9s" -version = "0.1.0" -authors = ["The Chromium OS Authors"] - -[dependencies] -assertions = { path = "../assertions" } -getopts = "=0.2.17" -libc = "=0.2.44" -p9 = { path = "../p9" } -sys_util = { path = "../sys_util" } diff --git a/9s/src/main.rs b/9s/src/main.rs deleted file mode 100644 index 39956de977..0000000000 --- a/9s/src/main.rs +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Runs a [9P] server. -/// -/// [9P]: http://man.cat-v.org/plan_9/5/0intro -extern crate assertions; -extern crate getopts; -extern crate libc; -extern crate p9; -#[macro_use] -extern crate sys_util; - -mod vsock; - -use std::fmt; -use std::io::{self, BufReader, BufWriter}; -use std::net; -use std::num::ParseIntError; -use std::os::raw::c_uint; -use std::result; -use std::str::FromStr; -use std::string; -use std::sync::Arc; -use std::thread; - -use sys_util::syslog; - -use vsock::*; - -const DEFAULT_BUFFER_SIZE: usize = 8192; - -// Address family identifiers. -const VSOCK: &'static str = "vsock:"; -const UNIX: &'static str = "unix:"; - -// Usage for this program. -const USAGE: &'static str = "9s [options] {vsock:|unix:|:}"; - -enum ListenAddress { - Net(net::SocketAddr), - Unix(String), - Vsock(c_uint), -} - -#[derive(Debug)] -enum ParseAddressError { - MissingUnixPath, - MissingVsockPort, - Net(net::AddrParseError), - Unix(string::ParseError), - Vsock(ParseIntError), -} - -impl fmt::Display for ParseAddressError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - &ParseAddressError::MissingUnixPath => write!(f, "missing unix path"), - &ParseAddressError::MissingVsockPort => write!(f, "missing vsock port number"), - &ParseAddressError::Net(ref e) => e.fmt(f), - &ParseAddressError::Unix(ref e) => write!(f, "invalid unix path: {}", e), - &ParseAddressError::Vsock(ref e) => write!(f, "invalid vsock port number: {}", e), - } - } -} - -impl FromStr for ListenAddress { - type Err = ParseAddressError; - - fn from_str(s: &str) -> result::Result { - if s.starts_with(VSOCK) { - if s.len() > VSOCK.len() { - Ok(ListenAddress::Vsock( - s[VSOCK.len()..].parse().map_err(ParseAddressError::Vsock)?, - )) - } else { - Err(ParseAddressError::MissingVsockPort) - } - } else if s.starts_with(UNIX) { - if s.len() > UNIX.len() { - Ok(ListenAddress::Unix( - s[UNIX.len()..].parse().map_err(ParseAddressError::Unix)?, - )) - } else { - Err(ParseAddressError::MissingUnixPath) - } - } else { - Ok(ListenAddress::Net( - s.parse().map_err(ParseAddressError::Net)?, - )) - } - } -} - -#[derive(Debug)] -enum Error { - Address(ParseAddressError), - Argument(getopts::Fail), - Cid(ParseIntError), - IO(io::Error), - MissingAcceptCid, - Syslog(syslog::Error), -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - &Error::Address(ref e) => e.fmt(f), - &Error::Argument(ref e) => e.fmt(f), - &Error::Cid(ref e) => write!(f, "invalid cid value: {}", e), - &Error::IO(ref e) => e.fmt(f), - &Error::MissingAcceptCid => write!(f, "`accept_cid` is required for vsock servers"), - &Error::Syslog(ref e) => write!(f, "failed to initialize syslog: {:?}", e), - } - } -} - -type Result = result::Result; - -fn handle_client( - root: Arc, - mut reader: R, - mut writer: W, -) -> io::Result<()> { - let mut server = p9::Server::new(&*root); - - loop { - server.handle_message(&mut reader, &mut writer)?; - } -} - -fn run_vsock_server(root: Arc, port: c_uint, accept_cid: c_uint) -> io::Result<()> { - let listener = VsockListener::bind(port)?; - - loop { - let (stream, peer) = listener.accept()?; - - if accept_cid != peer.cid { - warn!("ignoring connection from {}:{}", peer.cid, peer.port); - continue; - } - - info!("accepted connection from {}:{}", peer.cid, peer.port); - let reader = BufReader::with_capacity(DEFAULT_BUFFER_SIZE, stream.try_clone()?); - let writer = BufWriter::with_capacity(DEFAULT_BUFFER_SIZE, stream); - let server_root = root.clone(); - thread::spawn(move || { - if let Err(e) = handle_client(server_root, reader, writer) { - error!( - "error while handling client {}:{}: {}", - peer.cid, peer.port, e - ); - } - }); - } -} - -fn main() -> Result<()> { - let mut opts = getopts::Options::new(); - opts.optopt( - "", - "accept_cid", - "only accept connections from this vsock context id", - "CID", - ); - opts.optopt( - "r", - "root", - "root directory for clients (default is \"/\")", - "PATH", - ); - opts.optflag("h", "help", "print this help menu"); - - let matches = opts - .parse(std::env::args_os().skip(1)) - .map_err(Error::Argument)?; - - if matches.opt_present("h") || matches.free.len() == 0 { - print!("{}", opts.usage(USAGE)); - return Ok(()); - } - - syslog::init().map_err(Error::Syslog)?; - - let root: Arc = Arc::from(matches.opt_str("r").unwrap_or_else(|| "/".into())); - - // We already checked that |matches.free| has at least one item. - match matches.free[0] - .parse::() - .map_err(Error::Address)? - { - ListenAddress::Vsock(port) => { - let accept_cid = if let Some(cid) = matches.opt_str("accept_cid") { - cid.parse::().map_err(Error::Cid) - } else { - Err(Error::MissingAcceptCid) - }?; - run_vsock_server(root, port, accept_cid).map_err(Error::IO)?; - } - ListenAddress::Net(_) => { - error!("Network server unimplemented"); - } - ListenAddress::Unix(_) => { - error!("Unix server unimplemented"); - } - } - - Ok(()) -} diff --git a/9s/src/vsock.rs b/9s/src/vsock.rs deleted file mode 100644 index 64911c06fd..0000000000 --- a/9s/src/vsock.rs +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Support for virtual sockets. -use std::io; -use std::mem::{self, size_of}; -use std::os::raw::{c_int, c_uchar, c_uint, c_ushort}; -use std::os::unix::io::RawFd; - -use assertions::const_assert; -use libc::{self, c_void, sa_family_t, size_t, sockaddr, socklen_t}; - -// The domain for vsock sockets. -const AF_VSOCK: sa_family_t = 40; - -// Vsock equivalent of INADDR_ANY. Indicates the context id of the current endpoint. -const VMADDR_CID_ANY: c_uint = c_uint::max_value(); - -// The number of bytes of padding to be added to the sockaddr_vm struct. Taken directly -// from linux/vm_sockets.h. -const PADDING: usize = size_of::() - - size_of::() - - size_of::() - - (2 * size_of::()); - -#[repr(C)] -struct sockaddr_vm { - svm_family: sa_family_t, - svm_reserved1: c_ushort, - svm_port: c_uint, - svm_cid: c_uint, - svm_zero: [c_uchar; PADDING], -} - -/// An address associated with a virtual socket. -pub struct SocketAddr { - pub cid: c_uint, - pub port: c_uint, -} - -/// A virtual stream socket. -pub struct VsockStream { - fd: RawFd, -} - -impl VsockStream { - pub fn try_clone(&self) -> io::Result { - // Safe because this doesn't modify any memory and we check the return value. - let dup_fd = unsafe { libc::fcntl(self.fd, libc::F_DUPFD_CLOEXEC, 0) }; - if dup_fd < 0 { - return Err(io::Error::last_os_error()); - } - - Ok(VsockStream { fd: dup_fd }) - } -} - -impl io::Read for VsockStream { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - // Safe because this will only modify the contents of |buf| and we check the return value. - let ret = unsafe { - handle_eintr_errno!(libc::read( - self.fd, - buf as *mut [u8] as *mut c_void, - buf.len() as size_t - )) - }; - if ret < 0 { - return Err(io::Error::last_os_error()); - } - - Ok(ret as usize) - } -} - -impl io::Write for VsockStream { - fn write(&mut self, buf: &[u8]) -> io::Result { - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { - handle_eintr_errno!(libc::write( - self.fd, - buf as *const [u8] as *const c_void, - buf.len() as size_t, - )) - }; - if ret < 0 { - return Err(io::Error::last_os_error()); - } - - Ok(ret as usize) - } - - fn flush(&mut self) -> io::Result<()> { - // No buffered data so nothing to do. - Ok(()) - } -} - -impl Drop for VsockStream { - fn drop(&mut self) { - // Safe because this doesn't modify any memory and we are the only - // owner of the file descriptor. - unsafe { libc::close(self.fd) }; - } -} - -/// Represents a virtual socket server. -pub struct VsockListener { - fd: RawFd, -} - -impl VsockListener { - /// Creates a new `VsockListener` bound to the specified port on the current virtual socket - /// endpoint. - pub fn bind(port: c_uint) -> io::Result { - const_assert!(size_of::() == size_of::()); - - // Safe because this doesn't modify any memory and we check the return value. - let fd: RawFd = - unsafe { libc::socket(AF_VSOCK as c_int, libc::SOCK_STREAM | libc::SOCK_CLOEXEC, 0) }; - if fd < 0 { - return Err(io::Error::last_os_error()); - } - - // Safe because we are zero-initializing a struct with only integer fields. - let mut svm: sockaddr_vm = unsafe { mem::zeroed() }; - svm.svm_family = AF_VSOCK; - svm.svm_cid = VMADDR_CID_ANY; - svm.svm_port = port; - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { - libc::bind( - fd, - &svm as *const sockaddr_vm as *const sockaddr, - size_of::() as socklen_t, - ) - }; - if ret < 0 { - return Err(io::Error::last_os_error()); - } - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { libc::listen(fd, 1) }; - if ret < 0 { - return Err(io::Error::last_os_error()); - } - - Ok(VsockListener { fd }) - } - - /// Accepts a new incoming connection on this listener. Blocks the calling thread until a - /// new connection is established. When established, returns the corresponding `VsockStream` - /// and the remote peer's address. - pub fn accept(&self) -> io::Result<(VsockStream, SocketAddr)> { - // Safe because we are zero-initializing a struct with only integer fields. - let mut svm: sockaddr_vm = unsafe { mem::zeroed() }; - - // Safe because this will only modify |svm| and we check the return value. - let mut socklen: socklen_t = size_of::() as socklen_t; - let fd = unsafe { - libc::accept4( - self.fd, - &mut svm as *mut sockaddr_vm as *mut sockaddr, - &mut socklen as *mut socklen_t, - libc::SOCK_CLOEXEC, - ) - }; - if fd < 0 { - return Err(io::Error::last_os_error()); - } - - if svm.svm_family != AF_VSOCK { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!("unexpected address family: {}", svm.svm_family), - )); - } - - Ok(( - VsockStream { fd }, - SocketAddr { - cid: svm.svm_cid, - port: svm.svm_port, - }, - )) - } -} - -impl Drop for VsockListener { - fn drop(&mut self) { - // Safe because this doesn't modify any memory and we are the only - // owner of the file descriptor. - unsafe { libc::close(self.fd) }; - } -} diff --git a/Cargo.lock b/Cargo.lock index 95e5cb31a8..d43e449592 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,14 +1,3 @@ -[[package]] -name = "9s" -version = "0.1.0" -dependencies = [ - "assertions 0.1.0", - "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - "p9 0.1.0", - "sys_util 0.1.0", -] - [[package]] name = "aarch64" version = "0.1.0" @@ -56,7 +45,7 @@ dependencies = [ name = "bit_field_derive" version = "0.1.0" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -68,12 +57,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cc" -version = "1.0.15" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cfg-if" -version = "0.1.2" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -157,8 +146,11 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "gpu_buffer" @@ -172,7 +164,7 @@ dependencies = [ name = "gpu_display" version = "0.1.0" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", "data_model 0.1.0", "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", "sys_util 0.1.0", @@ -234,17 +226,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "log" -version = "0.4.1" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "msg_on_socket_derive" version = "0.1.0" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -291,7 +283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "plugin_proto" version = "0.16.0" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", "kvm_sys 0.1.0", "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "protoc-rust 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -301,14 +293,14 @@ dependencies = [ name = "poll_token_derive" version = "0.1.0" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "proc-macro2" -version = "0.4.24" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -324,7 +316,7 @@ name = "protoc" version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -334,7 +326,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "protoc 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tempdir 0.3.5", + "tempdir 0.3.7", ] [[package]] @@ -350,7 +342,7 @@ dependencies = [ name = "qcow_utils" version = "0.1.0" dependencies = [ - "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", + "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", "qcow 0.1.0", "sys_util 0.1.0", @@ -361,7 +353,7 @@ name = "quote" version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -383,7 +375,7 @@ name = "syn" version = "0.15.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -409,11 +401,16 @@ version = "0.1.0" [[package]] name = "tempdir" -version = "0.3.5" +version = "0.3.7" dependencies = [ "rand_ish 0.1.0", ] +[[package]] +name = "unicode-width" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "unicode-xid" version = "0.1.0" @@ -463,7 +460,7 @@ dependencies = [ name = "wire_format_derive" version = "0.1.0" dependencies = [ - "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -474,7 +471,7 @@ version = "0.1.0" dependencies = [ "arch 0.1.0", "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", "data_model 0.1.0", "devices 0.1.0", "io_jail 0.1.0", @@ -490,16 +487,17 @@ dependencies = [ [metadata] "checksum byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff81738b726f5d099632ceaffe7fb65b90212e8dce59d518729e7e8634032d3d" -"checksum cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0ebb87d1116151416c0cf66a0e3fb6430cccd120fd6300794b4dfaa050ac40ba" -"checksum cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de" -"checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" +"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" +"checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3" +"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797" "checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" -"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" -"checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09" +"checksum proc-macro2 0.4.21 (registry+https://github.com/rust-lang/crates.io-index)" = "ab2fc21ba78ac73e4ff6b3818ece00be4e175ffbef4d0a717d978b48b24150c4" "checksum protobuf 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bec26e67194b7d991908145fdf21b7cae8b08423d96dcb9e860cd31f854b9506" "checksum protoc 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5379c34ea2f9c69b99e6f25f6d0e6619876195ae7a3dcaf69f66bdb6c2e4dceb" "checksum protoc-rust 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e211a7f56b2d020a59d483f652cfdfa6fd42e37bf544c0231e373807aa316c45" "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" "checksum syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)" = "816b7af21405b011a23554ea2dc3f6576dc86ca557047c34098c1d741f10f823" +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" diff --git a/Cargo.toml b/Cargo.toml index 1521d4f8d0..d255e9d35b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ panic = 'abort' overflow-checks = true [workspace] -members = ["9s", "qcow_utils"] +members = ["qcow_utils"] exclude = [ "assertions", "data_model", diff --git a/gpu_display/Cargo.toml b/gpu_display/Cargo.toml index fbd16ff7de..403bc9ef86 100644 --- a/gpu_display/Cargo.toml +++ b/gpu_display/Cargo.toml @@ -9,4 +9,4 @@ libc = "*" sys_util = { path = "../sys_util" } [build-dependencies] -cc = "=1.0.15" +cc = "=1.0.25" diff --git a/plugin_proto/Cargo.toml b/plugin_proto/Cargo.toml index db898c77cd..5f1c77108a 100644 --- a/plugin_proto/Cargo.toml +++ b/plugin_proto/Cargo.toml @@ -9,5 +9,5 @@ protobuf = "*" kvm_sys = { path = "../kvm_sys" } [build-dependencies] -cc = "=1.0.15" +cc = "=1.0.25" protoc-rust = "=1.4.3" diff --git a/tempdir/Cargo.toml b/tempdir/Cargo.toml index 9a3bed9b17..68fb80a672 100644 --- a/tempdir/Cargo.toml +++ b/tempdir/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tempdir" -version = "0.3.5" +version = "0.3.7" authors = ["The Chromium OS Authors"] [dependencies] diff --git a/x86_64/Cargo.toml b/x86_64/Cargo.toml index 64443c4c4f..521573b3b4 100644 --- a/x86_64/Cargo.toml +++ b/x86_64/Cargo.toml @@ -20,5 +20,5 @@ libc = "*" byteorder = "*" [build-dependencies] -cc = "=1.0.15" +cc = "=1.0.25"