diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest index c214125116..22a0255673 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/Manifest @@ -89,6 +89,7 @@ DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b6 DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1 DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8 +DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2 DIST http-0.2.11.crate 100478 BLAKE2B 1ef12d67fc52392322c24f79ca49c52fcd7dcad0145b761c8aea21fef38682919d664161f242c606a1f3737987368c08432f33e2abfa53d681c6c2aa5cb000cb SHA512 71d98f5fa55c7bdb9fb31e36f898e8b2b7596dcb30ef9b5df3e34581b7306b66a782e82c2797732e28626eec5c9e432cc0475703e5a0e0e47aa1d6f22235ef51 DIST http-body-0.4.5.crate 9242 BLAKE2B decb7a27f123c38afc1f7f36ad570bac6d5513e57334870621477c17e0363a8abe4d6a3360bb1c87707d188be66ff100f42237727304e07d8515c1faaa179d48 SHA512 d01de0747155283331086f2849d1dccc0387feda576f60d84cdd1bc8817ac82ae131c294b5cf9ddabb7ac91bfdef67bc2ea5fcbbb04f41b473d4c5f5b2ac13d5 DIST httparse-1.8.0.crate 29954 BLAKE2B 82c48fdd6d28e94c42df180415ea3e30d471ace2fee09d7d8d33aff0a8e9a15d3029c90f3bb036b4f587c8902094a2ec21e4ca6ca7b654a82562bd84fe208ef9 SHA512 849159d9876e0474c71f3c7aa3a7271699b807b293832d88d52e4326ed410b25f9d7b9ad75a143a51fb5c8ea5016c2513348edbc050d3b62dc9a6737ae98ee8f @@ -116,6 +117,7 @@ DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f8558 DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e DIST mailparse-0.14.0.crate 36965 BLAKE2B 577df2a11928120ae88a8afc5781767d4ffecdc39d4f22e0771d460bfe14d68a97427fe1f45b9a8f575c549d788bd4bbed007043a2fb41a7d79580033cedf336 SHA512 0edfecbd7f2fa918c758ae5e9c5634c85b69f57e928c85fe8b2aca41641d9e3ce12770ef40b7c3a31b1fb8ac6b15003166d9b86764a282ee2bf73461014c9018 DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f +DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6 DIST md-5-0.10.6.crate 16161 BLAKE2B bdd43889aed114cfa97ed0c70bc97b89fda28b14033a0a26bc7309ed744ee907d59151ab92e9cb95f0ff0ca1cfe2af360c48f1b99fc8a246a25c803a4b444a0f SHA512 024a9e14aaf860e748f64dddbb8aec01bb9f40d702d8de31497fde1d66a663e97ca1b06b600d8a818a0c707d1ef02eb0f210befaeacada458acba69ccbf476ca DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4 DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild index d90a0420a4..8bb469328f 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/afterburn-9999.ebuild @@ -107,6 +107,7 @@ CRATES=" hermit-abi-0.3.3 hex-0.4.3 hmac-0.12.1 + hostname-0.3.1 http-0.2.11 http-body-0.4.5 httparse-1.8.0 @@ -134,6 +135,7 @@ CRATES=" log-0.4.20 mailparse-0.14.0 maplit-1.0.2 + match_cfg-0.1.0 md-5-0.10.6 memchr-2.6.4 memoffset-0.7.1 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch index d6aa8814ab..efc9f41f85 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0001-Revert-remove-cl-legacy-feature.patch @@ -6,6 +6,9 @@ Subject: [PATCH 1/3] Revert "*: remove cl-legacy feature" This reverts commit 3e4b623b390ab756a6be963eec7198b3e7f44e20. Signed-off-by: Mathieu Tortuyaux +(dpark: Re-add hostname crate and its dependencies, as they are not + included by default in 5.5.) +Signed-off-by: Dongsu Park --- Cargo.toml | 3 + src/metadata.rs | 8 +++ @@ -15,11 +18,62 @@ Signed-off-by: Mathieu Tortuyaux 5 files changed, 96 insertions(+) create mode 100644 src/providers/vagrant_virtualbox/mod.rs +diff --git a/Cargo.lock b/Cargo.lock +index edb7819c..8bf34440 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -31,13 +31,14 @@ dependencies = [ + "base64 0.21.5", + "cfg-if", + "clap", ++ "hostname", + "ipnetwork", + "libflate", + "libsystemd", + "mailparse", + "maplit", + "mockito", +- "nix 0.26.4", ++ "nix 0.27.1", + "openssh-keys", + "openssl", + "pnet_base", +@@ -901,6 +902,17 @@ dependencies = [ + "digest", + ] + ++[[package]] ++name = "hostname" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" ++dependencies = [ ++ "libc", ++ "match_cfg", ++ "winapi", ++] ++ + [[package]] + name = "http" + version = "0.2.11" +@@ -1159,6 +1171,12 @@ version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + ++[[package]] ++name = "match_cfg" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" ++ + [[package]] + name = "md-5" + version = "0.10.6" diff --git a/Cargo.toml b/Cargo.toml index e5b3dc3..f9b3e46 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -26,6 +26,9 @@ lto = true +@@ -26,11 +26,15 @@ lto = true # We assume we're being delivered via e.g. RPM which supports split debuginfo debug = true @@ -28,7 +82,13 @@ index e5b3dc3..f9b3e46 100644 + [dependencies] anyhow = "1.0" - base64 = "0.13" + base64 = "0.21" + cfg-if = "1.0" + clap = { version = "4", "default_features" = false, "features" = ["std", "cargo", "derive", "error-context", "help", "suggestions", "usage", "wrap_help"] } ++hostname = "0.3.1" + ipnetwork = ">= 0.17, < 0.21" + libflate = "1.3" + libsystemd = ">= 0.2.1, < 0.8.0" diff --git a/src/metadata.rs b/src/metadata.rs index 758bb1e..8544de9 100644 --- a/src/metadata.rs @@ -39,9 +99,9 @@ index 758bb1e..8544de9 100644 use crate::providers::powervs::PowerVSProvider; +#[cfg(feature = "cl-legacy")] +use crate::providers::vagrant_virtualbox::VagrantVirtualboxProvider; + use crate::providers::scaleway::ScalewayProvider; use crate::providers::vmware::VmwareProvider; use crate::providers::vultr::VultrProvider; - @@ -48,6 +50,8 @@ pub fn fetch_metadata(provider: &str) -> Result box_result!(AliyunProvider::try_new()?), @@ -57,18 +117,18 @@ index 758bb1e..8544de9 100644 "gcp" => box_result!(GcpProvider::try_new()?), + #[cfg(feature = "cl-legacy")] + "gce" => box_result!(GcpProvider::try_new()?), + "hetzner" => box_result!(HetznerProvider::try_new()?), // IBM Cloud - VPC Generation 2. "ibmcloud" => box_result!(IBMGen2Provider::try_new()?), - // IBM Cloud - Classic infrastructure. @@ -63,6 +69,8 @@ pub fn fetch_metadata(provider: &str) -> Result box_result!(OpenstackProviderNetwork::try_new()?), "packet" => box_result!(PacketProvider::try_new()?), "powervs" => box_result!(PowerVSProvider::try_new()?), + #[cfg(feature = "cl-legacy")] + "vagrant-virtualbox" => box_result!(VagrantVirtualboxProvider::new()), + "scaleway" => box_result!(ScalewayProvider::try_new()?), "vmware" => box_result!(VmwareProvider::try_new()?), "vultr" => box_result!(VultrProvider::try_new()?), - _ => bail!("unknown provider '{}'", provider), diff --git a/src/providers/mod.rs b/src/providers/mod.rs index f684d22..a67546c 100644 --- a/src/providers/mod.rs @@ -79,9 +139,9 @@ index f684d22..a67546c 100644 pub mod powervs; +#[cfg(feature = "cl-legacy")] +pub mod vagrant_virtualbox; + pub mod scaleway; pub mod vmware; pub mod vultr; - diff --git a/src/providers/vagrant_virtualbox/mod.rs b/src/providers/vagrant_virtualbox/mod.rs new file mode 100644 index 0000000..d7a9e0e diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0002-util-cmdline-Handle-the-cmdline-flags-as-list-of-sup.patch b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0002-util-cmdline-Handle-the-cmdline-flags-as-list-of-sup.patch index 1bb0fe0240..3b682cbc96 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0002-util-cmdline-Handle-the-cmdline-flags-as-list-of-sup.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/0002-util-cmdline-Handle-the-cmdline-flags-as-list-of-sup.patch @@ -29,10 +29,10 @@ index e7b5550..5c1cfda 100644 -const CMDLINE_PLATFORM_FLAG: &str = "coreos.oem.id"; +const CMDLINE_PLATFORM_FLAGS: [&'static str; 2] = ["flatcar.oem.id", "coreos.oem.id"]; - /// Get platform/OEM value from cmdline file. + /// Get platform value from cmdline file. pub fn get_platform(fpath: &str) -> Result { let content = std::fs::read_to_string(fpath) - .with_context(|| format!("Failed to read cmdline file ({})", fpath))?; + .with_context(|| format!("Failed to read cmdline file ({fpath})"))?; - match find_flag_value(CMDLINE_PLATFORM_FLAG, &content) { - Some(platform) => { @@ -85,7 +85,7 @@ index e7b5550..5c1cfda 100644 - ]; - for (tcase, tres) in tests { - let res = find_flag_value(flagname, tcase); -- assert_eq!(res, tres, "failed testcase: '{}'", tcase); +- assert_eq!(res, tres, "failed testcase: '{tcase}'"); + for flagname in &CMDLINE_PLATFORM_FLAGS { + let tests = vec![ + ("".to_string(), None),