From b48c7204bcb2355af2c168081fb1a3760cbd451a Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Tue, 14 Nov 2023 16:05:36 -0800 Subject: [PATCH 01/53] Release v0.15.0 (#728) --- Cargo.lock | 367 +++++++++++++-------------- Cargo.toml | 2 +- flake.lock | 30 +-- flake.nix | 4 +- tests/fixtures/linux/linux.json | 4 +- tests/fixtures/linux/steam-deck.json | 4 +- tests/fixtures/macos/macos.json | 4 +- 7 files changed, 207 insertions(+), 208 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 77d4a7ecf..b1634e877 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,7 +97,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -134,9 +134,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "bitflags" @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" dependencies = [ "libc", ] @@ -211,9 +211,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.6" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" dependencies = [ "clap_builder", "clap_derive", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" dependencies = [ "anstream", "anstyle", @@ -233,21 +233,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "color-eyre" @@ -320,7 +320,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.38", + "syn", ] [[package]] @@ -331,7 +331,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -388,9 +388,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" [[package]] name = "either" @@ -409,14 +409,14 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" dependencies = [ "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn", ] [[package]] @@ -436,9 +436,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" dependencies = [ "libc", "windows-sys", @@ -495,53 +495,53 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-core", "futures-io", @@ -556,9 +556,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -604,9 +604,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "heck" @@ -646,9 +646,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes 1.5.0", "fnv", @@ -695,7 +695,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -704,9 +704,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", @@ -718,16 +718,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -774,20 +774,20 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.2", "serde", ] [[package]] name = "inventory" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1be380c410bf0595e94992a648ea89db4dd3f3354ba54af206fd2a68cf5ac8e" +checksum = "0508c56cfe9bfd5dfeb0c22ab9a6abfda2f27bdca422132e494266351ed8d83c" [[package]] name = "iovec" @@ -800,9 +800,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is_ci" @@ -818,9 +818,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -833,9 +833,20 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] [[package]] name = "line-wrap" @@ -848,15 +859,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -911,9 +922,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", @@ -937,7 +948,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d96c6f2c44fc706e7a523743434465d62db109b7c8364b642f35853475d67" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.1.0", "serde", "thiserror", ] @@ -954,7 +965,7 @@ dependencies = [ "dyn-clone", "eyre", "glob", - "indexmap 2.0.2", + "indexmap 2.1.0", "is_ci", "nix", "nix-config-parser", @@ -1078,13 +1089,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "smallvec", "windows-targets", ] @@ -1115,12 +1126,12 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plist" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64", - "indexmap 1.9.3", + "indexmap 2.1.0", "line-wrap", "quick-xml", "serde", @@ -1150,9 +1161,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -1198,30 +1209,30 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "redox_syscall 0.2.16", + "libredox", "thiserror", ] @@ -1314,17 +1325,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" dependencies = [ "cc", + "getrandom", "libc", - "once_cell", "spin", "untrusted", - "web-sys", - "winapi", + "windows-sys", ] [[package]] @@ -1335,9 +1345,9 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "ffb93593068e9babdad10e4fce47dc9b3ac25315a72a59766ffd9e9a71996a04" dependencies = [ "bitflags 2.4.1", "errno", @@ -1348,9 +1358,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "log", "ring", @@ -1372,18 +1382,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ "base64", ] [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", "untrusted", @@ -1433,9 +1443,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", "untrusted", @@ -1475,29 +1485,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.189" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -1518,15 +1528,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" +checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.0.2", + "indexmap 2.1.0", "serde", "serde_json", "serde_with_macros", @@ -1535,14 +1545,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" +checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1574,15 +1584,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -1590,9 +1600,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", @@ -1600,9 +1610,9 @@ dependencies = [ [[package]] name = "spin" -version = "0.5.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "strsim" @@ -1629,7 +1639,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.38", + "syn", ] [[package]] @@ -1644,20 +1654,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.38" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -1666,11 +1665,11 @@ dependencies = [ [[package]] name = "sysctl" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed66d6a2ccbd656659289bc90767895b7abbdec897a0fc6031aca3ed1cb51d3e" +checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "byteorder", "enum-as-inner", "libc", @@ -1712,19 +1711,19 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix", "windows-sys", ] @@ -1742,22 +1741,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1816,9 +1815,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes 1.5.0", @@ -1828,7 +1827,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.4", + "socket2 0.5.5", "tokio-macros", "tracing", "windows-sys", @@ -1847,13 +1846,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1880,9 +1879,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes 1.5.0", "futures-core", @@ -1900,9 +1899,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -1917,7 +1916,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -1952,9 +1951,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -1996,7 +1995,7 @@ checksum = "bfc13d450dc4a695200da3074dacf43d449b968baee95e341920e47f61a3b40f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", ] [[package]] @@ -2022,9 +2021,9 @@ dependencies = [ [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" @@ -2046,9 +2045,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ "serde", ] @@ -2086,9 +2085,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2096,24 +2095,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.38", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if", "js-sys", @@ -2123,9 +2122,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2133,22 +2132,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.38", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "wasm-streams" @@ -2165,9 +2164,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -2217,10 +2216,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets", ] diff --git a/Cargo.toml b/Cargo.toml index 4fd231c2e..96a2c5a84 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.14.0" +version = "0.15.0" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.lock b/flake.lock index c4849219d..b74df7e09 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "narHash": "sha256-0dZpggYjjmWEk+rGixiBHOHuQfLzEzNfrtjSig04s6Q=", - "rev": "9ccae1754eec0341b640d5705302ac0923d22875", - "revCount": 1618, + "narHash": "sha256-L3vZfifHmog7sJvzXk8qiKISkpyltb+GaThqMJ7PU9Y=", + "rev": "1a92c6d75963fd594116913c23041da48ed9e020", + "revCount": 1653, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1618%2Brev-9ccae1754eec0341b640d5705302ac0923d22875/018aea4c-03c9-7734-95d5-b84cc8881e3d/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1653%2Brev-1a92c6d75963fd594116913c23041da48ed9e020/018b89f2-5d13-73a7-9511-233a39510d75/source.tar.gz" }, "original": { "type": "tarball", @@ -71,11 +71,11 @@ ] }, "locked": { - "lastModified": 1694081375, - "narHash": "sha256-vzJXOUnmkMCm3xw8yfPP5m8kypQ3BhAIRe4RRCWpzy8=", + "lastModified": 1698420672, + "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", "owner": "nix-community", "repo": "naersk", - "rev": "3f976d822b7b37fc6fb8e6f157c2dd05e7e94e89", + "rev": "aeb58d5e8faead8980a807c840232697982d47b9", "type": "github" }, "original": { @@ -100,7 +100,7 @@ }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/2.18.0.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/2.18.1.tar.gz" } }, "nixpkgs": { @@ -137,11 +137,11 @@ }, "nixpkgs_2": { "locked": { - "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", - "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", - "revCount": 534806, + "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", + "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", + "revCount": 546599, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.534806%2Brev-5e4c2ada4fcd54b99d56d7bd62f384511a7e2593/018b29e9-ae6d-72f2-993b-19cb9a64a3b5/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.546599%2Brev-e44462d6021bfe23dfb24b775cc7c390844f773d/018bcd3f-d7ab-7b45-89c8-c71042aa4ccf/source.tar.gz" }, "original": { "type": "tarball", @@ -160,11 +160,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1696050837, - "narHash": "sha256-2K3Aq4gjPZBDnkAMJaMA4ElE+BNbmrqtSBWtt9kPGaM=", + "lastModified": 1698762780, + "narHash": "sha256-WzuwMjpitp41dacdNzrdGjjP72Z0fFyGuQR2PJk48pE=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "0840038f02daec6ba3238f05d8caa037d28701a0", + "rev": "99e94d2938a743f8f48c6b729de4c517eeced99d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3ca2b263d..0da00887b 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/2.18.0.tar.gz"; + url = "https://flakehub.com/f/NixOS/nix/2.18.1.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.14.0"; + version = "0.15.0"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index ad285084e..e0a4af391 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.14.0", + "version": "0.15.0", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.14.0", + "version": "0.15.0", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index 0610ff0be..b7509dc86 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.14.0", + "version": "0.15.0", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.14.0", + "version": "0.15.0", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 3ce5d7e05..0c3c4711a 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.14.0", + "version": "0.15.0", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.14.0", + "version": "0.15.0", "planner": "macos", "configured_settings": [], "os_name": "unknown", From df9610edba01194e3c342c13ddba80f2251304c4 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Tue, 14 Nov 2023 19:04:27 -0800 Subject: [PATCH 02/53] Release v0.15.1 (#729) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b1634e877..b950bd276 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -955,7 +955,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.14.0" +version = "0.15.1" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 96a2c5a84..e30e0351e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.15.0" +version = "0.15.1" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 0da00887b..60cba0173 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.15.0"; + version = "0.15.1"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index e0a4af391..123d1750e 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.15.0", + "version": "0.15.1", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.15.0", + "version": "0.15.1", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index b7509dc86..c0d3807a8 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.15.0", + "version": "0.15.1", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.15.0", + "version": "0.15.1", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 0c3c4711a..cbd928e3a 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.15.0", + "version": "0.15.1", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.15.0", + "version": "0.15.1", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 41a96f49fcaf6193a63b122a48d3c57278558163 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 22 Nov 2023 14:50:25 -0500 Subject: [PATCH 03/53] Clippy nits while hacking around (#737) * clippy: unnecessary guard * create merge nix config clippy nit, old * Clean up a clippy nit on an extra clone * clippy nit legacy wsl detection error --- src/action/base/create_or_merge_nix_config.rs | 2 +- src/action/common/configure_init_service.rs | 2 +- src/diagnostics.rs | 2 +- src/planner/linux.rs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/action/base/create_or_merge_nix_config.rs b/src/action/base/create_or_merge_nix_config.rs index 4a0239cf8..7b1b587b3 100644 --- a/src/action/base/create_or_merge_nix_config.rs +++ b/src/action/base/create_or_merge_nix_config.rs @@ -412,7 +412,7 @@ impl Action for CreateOrMergeNixConfig { new_config .push_str("# Generated by https://github.com/DeterminateSystems/nix-installer.\n"); new_config.push_str("# See `/nix/nix-installer --version` for the version details.\n"); - new_config.push_str("\n"); + new_config.push('\n'); for (name, value) in merged_nix_config.settings() { new_config.push_str(name); diff --git a/src/action/common/configure_init_service.rs b/src/action/common/configure_init_service.rs index 1997abccf..a6b109f56 100644 --- a/src/action/common/configure_init_service.rs +++ b/src/action/common/configure_init_service.rs @@ -169,7 +169,7 @@ impl Action for ConfigureInitService { #[cfg(target_os = "macos")] InitSystem::Launchd => { let src = std::path::Path::new(DARWIN_NIX_DAEMON_SOURCE); - tokio::fs::copy(src.clone(), DARWIN_NIX_DAEMON_DEST) + tokio::fs::copy(src, DARWIN_NIX_DAEMON_DEST) .await .map_err(|e| { Self::error(ActionErrorKind::Copy( diff --git a/src/diagnostics.rs b/src/diagnostics.rs index 294f579b7..dbd86c8c7 100644 --- a/src/diagnostics.rs +++ b/src/diagnostics.rs @@ -261,7 +261,7 @@ pub fn diagnostic_endpoint_parser(input: &str) -> Result, Diagnostic "https" | "http" | "file" => Ok(Some(v)), _ => Err(DiagnosticError::UnknownUrlScheme), }, - Err(url_error) if url_error == url::ParseError::RelativeUrlWithoutBase => { + Err(url::ParseError::RelativeUrlWithoutBase) => { match Url::parse(&format!("file://{input}")) { Ok(v) => Ok(Some(v)), Err(file_error) => Err(file_error)?, diff --git a/src/planner/linux.rs b/src/planner/linux.rs index 21a2ba176..9fc348764 100644 --- a/src/planner/linux.rs +++ b/src/planner/linux.rs @@ -220,9 +220,9 @@ pub(crate) async fn check_nix_not_already_installed() -> Result<(), PlannerError pub(crate) fn check_systemd_active() -> Result<(), PlannerError> { if !Path::new("/run/systemd/system").exists() { if std::env::var("WSL_DISTRO_NAME").is_ok() { - return Err(LinuxErrorKind::Wsl2SystemdNotActive)?; + return Err(LinuxErrorKind::Wsl2SystemdNotActive.into()); } else { - return Err(LinuxErrorKind::SystemdNotActive)?; + return Err(LinuxErrorKind::SystemdNotActive.into()); } } From cd61f98c9076154370cda3d002fcda100690adf6 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Tue, 28 Nov 2023 09:22:01 -0800 Subject: [PATCH 04/53] MacOS installer does not honor case sensitive setting (#748) * MacOS should respect case-sensitivity setting * Fix warning --- src/planner/macos.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/planner/macos.rs b/src/planner/macos.rs index a35a91a5f..347e4bb32 100644 --- a/src/planner/macos.rs +++ b/src/planner/macos.rs @@ -135,7 +135,7 @@ impl Planner for Macos { CreateNixVolume::plan( root_disk.unwrap(), /* We just ensured it was populated */ self.volume_label.clone(), - false, + self.case_sensitive, encrypt, ) .await From a176784a03a3b855319e3c433fc484cebddf4cf4 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Thu, 30 Nov 2023 10:59:40 -0800 Subject: [PATCH 05/53] 0.15.1-unreleased (#755) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b950bd276..e28e4086f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -955,7 +955,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.15.1" +version = "0.15.1-unreleased" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index e30e0351e..de9b1e559 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.15.1" +version = "0.15.1-unreleased" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 60cba0173..56dee0757 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.15.1"; + version = "0.15.1-unreleased"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 123d1750e..0ab0c5a8b 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.15.1", + "version": "0.15.1-unreleased", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.15.1", + "version": "0.15.1-unreleased", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index c0d3807a8..e0469d4b6 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.15.1", + "version": "0.15.1-unreleased", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.15.1", + "version": "0.15.1-unreleased", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index cbd928e3a..aeec2af2b 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.15.1", + "version": "0.15.1-unreleased", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.15.1", + "version": "0.15.1-unreleased", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 0419422de00515245f91759e6004fe2a15112e94 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Thu, 30 Nov 2023 16:51:41 -0800 Subject: [PATCH 06/53] nix-2.19.2 (#756) * nix-2.19.2 * Fix speeling --- README.md | 2 +- flake.lock | 30 +++++++++++++++++------------- flake.nix | 2 +- src/settings.rs | 10 +++++----- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index f9a86c26c..2246327c5 100644 --- a/README.md +++ b/README.md @@ -353,7 +353,7 @@ To make this build portable, pass ` --target x86_64-unknown-linux-musl`. ## As a library > **Warning** -> Use as a library is still experimental. This feature is likely to be removed in the future without an advocate. If you're using this, please let us know and we can make a path to stablization. +> Use as a library is still experimental. This feature is likely to be removed in the future without an advocate. If you're using this, please let us know and we can make a path to stabilization. Add `nix-installer` to your dependencies: diff --git a/flake.lock b/flake.lock index b74df7e09..bd5a39132 100644 --- a/flake.lock +++ b/flake.lock @@ -8,6 +8,7 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { + "lastModified": 1698819743, "narHash": "sha256-L3vZfifHmog7sJvzXk8qiKISkpyltb+GaThqMJ7PU9Y=", "rev": "1a92c6d75963fd594116913c23041da48ed9e020", "revCount": 1653, @@ -21,6 +22,7 @@ }, "flake-compat": { "locked": { + "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "revCount": 57, @@ -92,29 +94,30 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "narHash": "sha256-WNmifcTsN9aG1ONkv+l2BC4sHZZxtNKy0keqBHXXQ7w=", - "rev": "f5f4de6a550327b4b1a06123c2e450f1b92c73b6", - "revCount": 14900, + "lastModified": 1701122567, + "narHash": "sha256-iA8DqS+W2fWTfR+nNJSvMHqQ+4NpYMRT3b+2zS6JTvE=", + "rev": "50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d", + "revCount": 15434, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.18.1/018af406-b173-7112-9c1c-82f5b645e9d3/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.19.2/018c1be0-1b88-7682-b3bf-948ec82d0a0b/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/2.18.1.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/2.19.2.tar.gz" } }, "nixpkgs": { "locked": { - "lastModified": 1695283060, - "narHash": "sha256-CJz71xhCLlRkdFUSQEL0pIAAfcnWFXMzd9vXhPrnrEg=", + "lastModified": 1698876495, + "narHash": "sha256-nsQo2/mkDUFeAjuu92p0dEqhRvHHiENhkKVIV1y0/Oo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "31ed632c692e6a36cfc18083b88ece892f863ed4", + "rev": "9eb24edd6a0027fed010ccfe300a9734d029983c", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05-small", + "ref": "release-23.05", "repo": "nixpkgs", "type": "github" } @@ -137,11 +140,12 @@ }, "nixpkgs_2": { "locked": { - "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", - "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", - "revCount": 546599, + "lastModified": 1701068326, + "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", + "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", + "revCount": 553283, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.546599%2Brev-e44462d6021bfe23dfb24b775cc7c390844f773d/018bcd3f-d7ab-7b45-89c8-c71042aa4ccf/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.553283%2Brev-8cfef6986adfb599ba379ae53c9f5631ecd2fd9c/018c18d1-b364-7bfd-aced-a123b87538af/source.tar.gz" }, "original": { "type": "tarball", diff --git a/flake.nix b/flake.nix index 56dee0757..edc43d931 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/2.18.1.tar.gz"; + url = "https://flakehub.com/f/NixOS/nix/2.19.2.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; diff --git a/src/settings.rs b/src/settings.rs index 31529c61e..9e35c4204 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -13,19 +13,19 @@ pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-x86_64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-x86_64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-i686-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-i686-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-aarch64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-aarch64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-x86_64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-x86_64-darwin.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-aarch64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-aarch64-darwin.tar.xz"; #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] From b84ebf0841304fec5b5ee0999553d84a5d83e56b Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Tue, 5 Dec 2023 11:14:46 -0800 Subject: [PATCH 07/53] Don't modify shell profile files if they are symlinks (#767) * Don't modify shell profile files if they are symlinks * Fixup remote building step --- src/action/common/configure_shell_profile.rs | 72 ++++++++++--------- src/action/macos/configure_remote_building.rs | 52 +++++++++----- 2 files changed, 74 insertions(+), 50 deletions(-) diff --git a/src/action/common/configure_shell_profile.rs b/src/action/common/configure_shell_profile.rs index d6fc90017..70c730032 100644 --- a/src/action/common/configure_shell_profile.rs +++ b/src/action/common/configure_shell_profile.rs @@ -44,25 +44,29 @@ impl ConfigureShellProfile { for profile_target in locations.bash.iter().chain(locations.zsh.iter()) { let profile_target_path = Path::new(profile_target); if let Some(parent) = profile_target_path.parent() { - if !parent.exists() { - create_directories.push( - CreateDirectory::plan(parent, None, None, 0o0755, false) - .await - .map_err(Self::error)?, + // Some tools (eg `nix-darwin`) create symlinks to these files, don't write to them if that's the case. + if !profile_target_path.is_symlink() { + if !parent.exists() { + create_directories.push( + CreateDirectory::plan(parent, None, None, 0o0755, false) + .await + .map_err(Self::error)?, + ); + } + + create_or_insert_files.push( + CreateOrInsertIntoFile::plan( + profile_target_path, + None, + None, + 0o644, + shell_buf.to_string(), + create_or_insert_into_file::Position::Beginning, + ) + .await + .map_err(Self::error)?, ); } - create_or_insert_files.push( - CreateOrInsertIntoFile::plan( - profile_target_path, - None, - None, - 0o644, - shell_buf.to_string(), - create_or_insert_into_file::Position::Beginning, - ) - .await - .map_err(Self::error)?, - ); } } @@ -88,23 +92,27 @@ impl ConfigureShellProfile { let mut profile_target = fish_prefix_path; profile_target.push(locations.fish.confd_suffix.clone()); - if let Some(conf_d) = profile_target.parent() { - create_directories.push( - CreateDirectory::plan(conf_d.to_path_buf(), None, None, 0o755, false).await?, + // Some tools (eg `nix-darwin`) create symlinks to these files, don't write to them if that's the case. + if !profile_target.is_symlink() { + if let Some(conf_d) = profile_target.parent() { + create_directories.push( + CreateDirectory::plan(conf_d.to_path_buf(), None, None, 0o755, false) + .await?, + ); + } + + create_or_insert_files.push( + CreateOrInsertIntoFile::plan( + profile_target, + None, + None, + 0o644, + fish_buf.to_string(), + create_or_insert_into_file::Position::Beginning, + ) + .await?, ); } - - create_or_insert_files.push( - CreateOrInsertIntoFile::plan( - profile_target, - None, - None, - 0o644, - fish_buf.to_string(), - create_or_insert_into_file::Position::Beginning, - ) - .await?, - ); } for fish_prefix in &locations.fish.vendor_confd_prefixes { let fish_prefix_path = PathBuf::from(fish_prefix); diff --git a/src/action/macos/configure_remote_building.rs b/src/action/macos/configure_remote_building.rs index 3d9e03690..81cadc46d 100644 --- a/src/action/macos/configure_remote_building.rs +++ b/src/action/macos/configure_remote_building.rs @@ -12,7 +12,7 @@ This enables remote building, which requires `ssh host nix` to work. */ #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct ConfigureRemoteBuilding { - create_or_insert_into_file: StatefulAction, + create_or_insert_into_file: Option>, } impl ConfigureRemoteBuilding { @@ -29,16 +29,24 @@ fi "# ); - let create_or_insert_into_file = CreateOrInsertIntoFile::plan( - Path::new("/etc/zshenv"), - None, - None, - 0o644, - shell_buf.to_string(), - create_or_insert_into_file::Position::Beginning, - ) - .await - .map_err(Self::error)?; + let zshenv = Path::new("/etc/zshenv"); + + let create_or_insert_into_file = if !zshenv.is_symlink() { + Some( + CreateOrInsertIntoFile::plan( + zshenv, + None, + None, + 0o644, + shell_buf.to_string(), + create_or_insert_into_file::Position::Beginning, + ) + .await + .map_err(Self::error)?, + ) + } else { + None + }; Ok(Self { create_or_insert_into_file, @@ -63,7 +71,11 @@ impl Action for ConfigureRemoteBuilding { fn execute_description(&self) -> Vec { vec![ActionDescription::new( - self.tracing_synopsis(), + if self.create_or_insert_into_file.is_none() { + "Skipping configuring zsh to support using Nix in non-interactive shells, `/etc/zshenv` is a symlink".to_string() + } else { + self.tracing_synopsis() + }, vec!["Update `/etc/zshenv` to import Nix".to_string()], )] } @@ -71,11 +83,13 @@ impl Action for ConfigureRemoteBuilding { #[tracing::instrument(level = "debug", skip_all)] async fn execute(&mut self) -> Result<(), ActionError> { let span = tracing::Span::current().clone(); - self.create_or_insert_into_file - .try_execute() - .instrument(span) - .await - .map_err(Self::error)?; + if let Some(create_or_insert_into_file) = &mut self.create_or_insert_into_file { + create_or_insert_into_file + .try_execute() + .instrument(span) + .await + .map_err(Self::error)?; + } Ok(()) } @@ -89,7 +103,9 @@ impl Action for ConfigureRemoteBuilding { #[tracing::instrument(level = "debug", skip_all)] async fn revert(&mut self) -> Result<(), ActionError> { - self.create_or_insert_into_file.try_revert().await?; + if let Some(create_or_insert_into_file) = &mut self.create_or_insert_into_file { + create_or_insert_into_file.try_revert().await? + }; Ok(()) } From 8c9e64d2a3998a90c44034c34057ba6680d23107 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Tue, 5 Dec 2023 15:19:43 -0800 Subject: [PATCH 08/53] Update deps (#771) --- Cargo.lock | 286 ++++++++++++++++++++++++++++++++--------------------- Cargo.toml | 2 +- flake.lock | 26 ++--- 3 files changed, 186 insertions(+), 128 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e28e4086f..dc6bc7d2f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,30 +63,30 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.84" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "libc", ] @@ -206,14 +206,14 @@ dependencies = [ "iana-time-zone", "num-traits", "serde", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "clap" -version = "4.4.8" +version = "4.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" dependencies = [ "clap_builder", "clap_derive", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.8" +version = "4.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" dependencies = [ "anstream", "anstyle", @@ -267,9 +267,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" dependencies = [ "once_cell", "owo-colors", @@ -285,9 +285,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -295,9 +295,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "darling" @@ -336,9 +336,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" dependencies = [ "powerfmt", "serde", @@ -372,7 +372,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -436,19 +436,19 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "eyre" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd" dependencies = [ "indenter", "once_cell", @@ -462,14 +462,14 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "filetime" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", - "windows-sys", + "redox_syscall", + "windows-sys 0.52.0", ] [[package]] @@ -480,9 +480,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -567,9 +567,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -579,9 +579,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes 1.5.0", "fnv", @@ -589,7 +589,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.1.0", "slab", "tokio", "tokio-util", @@ -604,9 +604,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "heck" @@ -641,7 +641,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -747,9 +747,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -779,7 +779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "serde", ] @@ -818,9 +818,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -845,7 +845,7 @@ checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ "bitflags 2.4.1", "libc", - "redox_syscall 0.4.1", + "redox_syscall", ] [[package]] @@ -859,9 +859,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "lock_api" @@ -928,7 +928,7 @@ checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1095,16 +1095,16 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" @@ -1152,9 +1152,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" dependencies = [ "unicode-ident", ] @@ -1207,15 +1207,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -1325,16 +1316,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" dependencies = [ "cc", "getrandom", "libc", "spin", "untrusted", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1345,22 +1336,22 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.23" +version = "0.38.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb93593068e9babdad10e4fce47dc9b3ac25315a72a59766ffd9e9a71996a04" +checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" dependencies = [ "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", "ring", @@ -1432,7 +1423,7 @@ version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1485,18 +1476,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.192" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", @@ -1605,7 +1596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1723,9 +1714,9 @@ checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.4.1", + "redox_syscall", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1830,7 +1821,7 @@ dependencies = [ "socket2 0.5.5", "tokio-macros", "tracing", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2027,9 +2018,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -2045,9 +2036,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.5.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ "serde", ] @@ -2085,9 +2076,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2095,9 +2086,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", @@ -2110,9 +2101,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if", "js-sys", @@ -2122,9 +2113,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2132,9 +2123,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", @@ -2145,9 +2136,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-streams" @@ -2164,9 +2155,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" dependencies = [ "js-sys", "wasm-bindgen", @@ -2174,14 +2165,15 @@ dependencies = [ [[package]] name = "which" -version = "4.4.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" dependencies = [ "either", "home", "once_cell", "rustix", + "windows-sys 0.48.0", ] [[package]] @@ -2221,7 +2213,7 @@ version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -2230,7 +2222,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", ] [[package]] @@ -2239,13 +2240,28 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", ] [[package]] @@ -2254,42 +2270,84 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winreg" version = "0.50.0" @@ -2297,7 +2355,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ "cfg-if", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index de9b1e559..3d8ea9d5d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,7 @@ os-release = { version = "0.1.0", default-features = false } is_ci = { version = "1.1.1", default-features = false, optional = true } strum = { version = "0.25.0", features = ["derive"] } nix-config-parser = { version = "0.2", features = ["serde"] } -which = "4.4.0" +which = "5.0.0" sysctl = "0.5.4" walkdir = "2.3.3" indexmap = { version = "2.0.2", features = ["serde"] } diff --git a/flake.lock b/flake.lock index bd5a39132..56e5183b2 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1698819743, - "narHash": "sha256-L3vZfifHmog7sJvzXk8qiKISkpyltb+GaThqMJ7PU9Y=", - "rev": "1a92c6d75963fd594116913c23041da48ed9e020", - "revCount": 1653, + "lastModified": 1701411808, + "narHash": "sha256-K8QDx8UgbvGdENuvPvcsCXcd8brd55OkRDFLBT7xUVY=", + "rev": "3776d0e2a30184cc6a0ba20fb86dc6df5b41fccd", + "revCount": 1694, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1653%2Brev-1a92c6d75963fd594116913c23041da48ed9e020/018b89f2-5d13-73a7-9511-233a39510d75/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1694%2Brev-3776d0e2a30184cc6a0ba20fb86dc6df5b41fccd/018c2471-ae06-7cb3-a542-c80f7a549d7b/source.tar.gz" }, "original": { "type": "tarball", @@ -140,12 +140,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701068326, - "narHash": "sha256-vmMceA+q6hG1yrjb+MP8T0YFDQIrW3bl45e7z24IEts=", - "rev": "8cfef6986adfb599ba379ae53c9f5631ecd2fd9c", - "revCount": 553283, + "lastModified": 1701436327, + "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", + "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", + "revCount": 555097, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.553283%2Brev-8cfef6986adfb599ba379ae53c9f5631ecd2fd9c/018c18d1-b364-7bfd-aced-a123b87538af/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.555097%2Brev-91050ea1e57e50388fa87a3302ba12d188ef723a/018c3450-2363-7c34-883b-4ba70b1eb7ae/source.tar.gz" }, "original": { "type": "tarball", @@ -164,11 +164,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1698762780, - "narHash": "sha256-WzuwMjpitp41dacdNzrdGjjP72Z0fFyGuQR2PJk48pE=", + "lastModified": 1701372675, + "narHash": "sha256-MSHhnAoLjJuoPxzsTzBOzNhjhlCTHPs4nvkPAZVV1eY=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "99e94d2938a743f8f48c6b729de4c517eeced99d", + "rev": "c9d189d1375e59a6c9b4d62fdede94ade001f6ee", "type": "github" }, "original": { From 0b0172547c4666f6b1eacb6561a59d6b612505a3 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 7 Dec 2023 22:45:05 -0500 Subject: [PATCH 09/53] Fetch updates from i.d.s by default (#772) * Fetch updates from i.d.s by default Our goal is to deliver a solid experience with Nix flakes, including an upgrade path that is safe. Occasionally, the upstream Nix project may introduce regressions for the common flake path. This is not desirable for our users, who depend on a consistent and stable flakes experience. Additionally, the Nix project isn't directly responsible for delivering updates to users as that role is delegated to the Nixpkgs project. Overall, this means upgrades are not consistently delivered to users. This update directs future update requests to install.determinate.systems, which we will upgrade as part of our standard release process. Our standard release process includes proactive testing: validating our installer and Nix's behavior across a wide variety of platforms and scenarios. After an update passes our proactive validation, we do a phased rollout of reactive monitoring: the update is released to a small percentage of users on GitHub Actions. We monitor the failure rate of the installer and overall workflows to ensure the updated Nix isn't causing widespread failure we weren't able to identify ahead of time. Only after a release passes both proactive and reactive validation, our macOS .pkg and nix-upgrade paths are bumped to the most recent release. This gives user the confidence they're looking for that the Nix release they're getting is safe. * Universal -> universal --- src/action/common/place_nix_configuration.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/action/common/place_nix_configuration.rs b/src/action/common/place_nix_configuration.rs index a7db6ab8e..fe91355eb 100644 --- a/src/action/common/place_nix_configuration.rs +++ b/src/action/common/place_nix_configuration.rs @@ -129,6 +129,10 @@ impl PlaceNixConfiguration { "extra-nix-path".to_string(), "nixpkgs=flake:nixpkgs".to_string(), ); + settings.insert( + "upgrade-nix-store-path-url".to_string(), + "https://install.determinate.systems/nix-upgrade/stable/universal".to_string(), + ); let create_directory = CreateDirectory::plan(NIX_CONF_FOLDER, None, None, 0o0755, force) .await From e815280881609339724bd1cc76abb8a47174176a Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Wed, 3 Jan 2024 12:00:51 -0800 Subject: [PATCH 10/53] Fix arm64 darwin install (#789) * fix: workaround for lies from uname -m On an arm64 mac, `uname -m` returns x86_64 which causes install script to install with the wrong architecture * refactor: use same logic from rustup * Tweak credit comment * Prod ci --------- Co-authored-by: oz --- nix-installer.sh | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/nix-installer.sh b/nix-installer.sh index 1b0c5c413..22f847c16 100755 --- a/nix-installer.sh +++ b/nix-installer.sh @@ -11,7 +11,7 @@ # It runs on Unix shells like {a,ba,da,k,z}sh. It uses the common `local` # extension. Note: Most shells limit `local` to 1 var per line, contra bash. -# This script is based off https://github.com/rust-lang/rustup/blob/8f6b53628ad996ad86f9c6225fa500cddf860905/rustup-init.sh +# This script is based off https://github.com/rust-lang/rustup/blob/f8d7b3baba7a63237cb2b82ef49a68a37dd0633c/rustup-init.sh if [ "$KSH_VERSION" = 'Version JM 93t+ 2010-03-05' ]; then # The version of ksh93 that ships with many illumos systems does not @@ -143,10 +143,30 @@ get_architecture() { fi fi - if [ "$_ostype" = Darwin ] && [ "$_cputype" = i386 ]; then - # Darwin `uname -m` lies - if sysctl hw.optional.x86_64 | grep -q ': 1'; then - _cputype=x86_64 + if [ "$_ostype" = Darwin ]; then + # Darwin `uname -m` can lie due to Rosetta shenanigans. If you manage to + # invoke a native shell binary and then a native uname binary, you can + # get the real answer, but that's hard to ensure, so instead we use + # `sysctl` (which doesn't lie) to check for the actual architecture. + if [ "$_cputype" = i386 ]; then + # Handling i386 compatibility mode in older macOS versions (<10.15) + # running on x86_64-based Macs. + # Starting from 10.15, macOS explicitly bans all i386 binaries from running. + # See: + + # Avoid `sysctl: unknown oid` stderr output and/or non-zero exit code. + if sysctl hw.optional.x86_64 2> /dev/null || true | grep -q ': 1'; then + _cputype=x86_64 + fi + elif [ "$_cputype" = x86_64 ]; then + # Handling x86-64 compatibility mode (a.k.a. Rosetta 2) + # in newer macOS versions (>=11) running on arm64-based Macs. + # Rosetta 2 is built exclusively for x86-64 and cannot run i386 binaries. + + # Avoid `sysctl: unknown oid` stderr output and/or non-zero exit code. + if sysctl hw.optional.arm64 2> /dev/null || true | grep -q ': 1'; then + _cputype=arm64 + fi fi fi From 7011c077ec491da410fbc39f68676b0908b9ce7e Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Wed, 3 Jan 2024 12:01:11 -0800 Subject: [PATCH 11/53] fix create build users action description (#788) Co-authored-by: Michael Gallagher --- src/action/common/create_users_and_groups.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/action/common/create_users_and_groups.rs b/src/action/common/create_users_and_groups.rs index 251c01903..6a10a5063 100644 --- a/src/action/common/create_users_and_groups.rs +++ b/src/action/common/create_users_and_groups.rs @@ -77,7 +77,7 @@ impl Action for CreateUsersAndGroups { } else { format!( "Create build users (UID {}-{}) and group (GID {})", - self.nix_build_user_id_base, + self.nix_build_user_id_base + 1, self.nix_build_user_id_base + self.nix_build_user_count, self.nix_build_group_id ) From e48a8962b51e0e05177f2eedb790a9a91fdf2129 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Thu, 4 Jan 2024 11:17:58 -0800 Subject: [PATCH 12/53] Bump dependencies (#800) --- Cargo.lock | 287 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- flake.lock | 26 ++--- 3 files changed, 152 insertions(+), 163 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dc6bc7d2f..47ec30188 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" dependencies = [ "anstyle", "anstyle-parse", @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ "windows-sys 0.52.0", ] @@ -91,26 +91,15 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -211,9 +200,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.11" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" dependencies = [ "clap_builder", "clap_derive", @@ -221,9 +210,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.11" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" dependencies = [ "anstream", "anstyle", @@ -260,7 +249,7 @@ dependencies = [ "eyre", "indenter", "once_cell", - "owo-colors", + "owo-colors 3.5.0", "tracing-error", "url", ] @@ -272,7 +261,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" dependencies = [ "once_cell", - "owo-colors", + "owo-colors 3.5.0", "tracing-core", "tracing-error", ] @@ -336,9 +325,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", "serde", @@ -427,9 +416,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.3.31" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" +checksum = "55d05712b2d8d88102bc9868020c9e5c7a1f5527c452b9b97450a1d006140ba7" dependencies = [ "serde", ] @@ -446,9 +435,9 @@ dependencies = [ [[package]] name = "eyre" -version = "0.6.9" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd" +checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" dependencies = [ "indenter", "once_cell", @@ -495,30 +484,30 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", @@ -527,21 +516,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-io", @@ -614,15 +603,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.3" @@ -637,11 +617,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -657,9 +637,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes 1.5.0", "http", @@ -680,9 +660,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes 1.5.0", "futures-channel", @@ -695,7 +675,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2", "tokio", "tower-service", "tracing", @@ -718,9 +698,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -785,9 +765,9 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0508c56cfe9bfd5dfeb0c22ab9a6abfda2f27bdca422132e494266351ed8d83c" +checksum = "c8573b2b1fb643a372c73b23f4da5f888677feef3305146d68a539250a9bccc7" [[package]] name = "iovec" @@ -804,6 +784,17 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +[[package]] +name = "is-terminal" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys 0.52.0", +] + [[package]] name = "is_ci" version = "1.1.1" @@ -812,9 +803,9 @@ checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" @@ -833,9 +824,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.150" +version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" [[package]] name = "libredox" @@ -901,9 +892,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "mime" @@ -922,9 +913,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", "wasi", @@ -970,7 +961,7 @@ dependencies = [ "nix", "nix-config-parser", "os-release", - "owo-colors", + "owo-colors 4.0.0", "plist", "rand", "reqwest", @@ -1022,24 +1013,24 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl-probe" @@ -1073,6 +1064,12 @@ name = "owo-colors" version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "owo-colors" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" dependencies = [ "supports-color", ] @@ -1120,9 +1117,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "plist" @@ -1152,9 +1149,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" dependencies = [ "unicode-ident", ] @@ -1170,9 +1167,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -1273,9 +1270,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ "base64", "bytes 1.5.0", @@ -1316,9 +1313,9 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.6" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", "getrandom", @@ -1336,9 +1333,9 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.26" +version = "0.38.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" dependencies = [ "bitflags 2.4.1", "errno", @@ -1349,9 +1346,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.9" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", "ring", @@ -1398,9 +1395,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "safemem" @@ -1419,11 +1416,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1467,27 +1464,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.193" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" dependencies = [ "proc-macro2", "quote", @@ -1496,9 +1493,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" dependencies = [ "itoa", "ryu", @@ -1579,16 +1576,6 @@ version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.5" @@ -1635,19 +1622,19 @@ dependencies = [ [[package]] name = "supports-color" -version = "1.3.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba6faf2ca7ee42fdd458f4347ae0a9bd6bcc445ad7cb57ad82b383f18870d6f" +checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" dependencies = [ - "atty", + "is-terminal", "is_ci", ] [[package]] name = "syn" -version = "2.0.39" +version = "2.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" dependencies = [ "proc-macro2", "quote", @@ -1702,21 +1689,21 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand", "redox_syscall", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1732,18 +1719,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", @@ -1762,9 +1749,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "itoa", @@ -1782,9 +1769,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -1806,9 +1793,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.34.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "bytes 1.5.0", @@ -1818,7 +1805,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", "tracing", "windows-sys 0.48.0", @@ -1961,15 +1948,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typetag" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80960fd143d4c96275c0e60b08f14b81fbb468e79bc0ef8fbda69fb0afafae43" +checksum = "c43148481c7b66502c48f35b8eef38b6ccdc7a9f04bd4cc294226d901ccc9bc7" dependencies = [ "erased-serde", "inventory", @@ -1980,9 +1967,9 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc13d450dc4a695200da3074dacf43d449b968baee95e341920e47f61a3b40f" +checksum = "291db8a81af4840c10d636e047cac67664e343be44e24dfdbd1492df9a5d3390" dependencies = [ "proc-macro2", "quote", @@ -1991,9 +1978,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" [[package]] name = "unicode-ident" @@ -2209,11 +2196,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -2360,11 +2347,13 @@ dependencies = [ [[package]] name = "xattr" -version = "1.0.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" dependencies = [ "libc", + "linux-raw-sys", + "rustix", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3d8ea9d5d..4e6cf733b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ color-eyre = { version = "0.6.2", default-features = false, features = [ "track- eyre = { version = "0.6.8", default-features = false, features = [ "track-caller" ], optional = true } glob = { version = "0.3.0", default-features = false } nix = { version = "0.27.0", default-features = false, features = ["user", "fs", "process", "term"] } -owo-colors = { version = "3.5.0", default-features = false, features = [ "supports-colors" ] } +owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.144", default-features = false, features = [ "std", "derive" ] } serde_json = { version = "1.0.85", default-features = false, features = [ "std" ] } diff --git a/flake.lock b/flake.lock index 56e5183b2..f81c4ab07 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1701411808, - "narHash": "sha256-K8QDx8UgbvGdENuvPvcsCXcd8brd55OkRDFLBT7xUVY=", - "rev": "3776d0e2a30184cc6a0ba20fb86dc6df5b41fccd", - "revCount": 1694, + "lastModified": 1704090261, + "narHash": "sha256-Vti1mv4WhmXHPNcFgUiJyt4OKLvsvLzM2eKS4bEegf0=", + "rev": "66fc1883c34c42df188b83272445aedb26bb64b5", + "revCount": 1727, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1694%2Brev-3776d0e2a30184cc6a0ba20fb86dc6df5b41fccd/018c2471-ae06-7cb3-a542-c80f7a549d7b/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1727%2Brev-66fc1883c34c42df188b83272445aedb26bb64b5/018cc416-f0ae-724d-989f-aa4ded05d885/source.tar.gz" }, "original": { "type": "tarball", @@ -140,12 +140,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701436327, - "narHash": "sha256-tRHbnoNI8SIM5O5xuxOmtSLnswEByzmnQcGGyNRjxsE=", - "rev": "91050ea1e57e50388fa87a3302ba12d188ef723a", - "revCount": 555097, + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "revCount": 564493, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.555097%2Brev-91050ea1e57e50388fa87a3302ba12d188ef723a/018c3450-2363-7c34-883b-4ba70b1eb7ae/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.564493%2Brev-b0d36bd0a420ecee3bc916c91886caca87c894e9/018cc6b0-680d-7f16-b194-dbf948b62871/source.tar.gz" }, "original": { "type": "tarball", @@ -164,11 +164,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1701372675, - "narHash": "sha256-MSHhnAoLjJuoPxzsTzBOzNhjhlCTHPs4nvkPAZVV1eY=", + "lastModified": 1704034202, + "narHash": "sha256-OFBXLWm+aIqG+jNAz8BmB+QpepI11SGLtSY6qEs6EmY=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "c9d189d1375e59a6c9b4d62fdede94ade001f6ee", + "rev": "cf52c4b2b3367ae7355ef23393e2eae1d37de723", "type": "github" }, "original": { From 83a0da10c48408fdd586b7e975593926f8038a8f Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Fri, 5 Jan 2024 11:45:06 -0800 Subject: [PATCH 13/53] Fix adduser so it doesn't create the home (#801) --- src/action/base/create_user.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/action/base/create_user.rs b/src/action/base/create_user.rs index f857f225f..1043876ef 100644 --- a/src/action/base/create_user.rs +++ b/src/action/base/create_user.rs @@ -237,6 +237,7 @@ impl Action for CreateUser { .args([ "--home", "/var/empty", + "-H", // Don't create a home. "--gecos", comment, "--ingroup", From fb4401df00bb37f0a2782eb76acb3b7865305a55 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Mon, 8 Jan 2024 08:41:39 -0800 Subject: [PATCH 14/53] Release v0.16.0 (#804) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 47ec30188..62cf63ecf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -946,7 +946,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.15.1-unreleased" +version = "0.16.0" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 4e6cf733b..83925d8c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.15.1-unreleased" +version = "0.16.0" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index edc43d931..a3805ed72 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.15.1-unreleased"; + version = "0.16.0"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 0ab0c5a8b..5d70ffa2c 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.15.1-unreleased", + "version": "0.16.0", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.15.1-unreleased", + "version": "0.16.0", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index e0469d4b6..bbd555785 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.15.1-unreleased", + "version": "0.16.0", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.15.1-unreleased", + "version": "0.16.0", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index aeec2af2b..54ad9ff3d 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.15.1-unreleased", + "version": "0.16.0", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.15.1-unreleased", + "version": "0.16.0", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 2477de21eb0072af605dfd8d315ce91d693f03b7 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Mon, 8 Jan 2024 10:43:45 -0800 Subject: [PATCH 15/53] Bump to 0.16.1-unreleased (#808) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.lock | 10 +++++----- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 62cf63ecf..e7d60b2dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -946,7 +946,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.16.0" +version = "0.16.1-unreleased" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 83925d8c6..fad55b719 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.16.0" +version = "0.16.1-unreleased" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.lock b/flake.lock index f81c4ab07..58f5b5d73 100644 --- a/flake.lock +++ b/flake.lock @@ -140,12 +140,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", - "revCount": 564493, + "lastModified": 1704538339, + "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", + "rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", + "revCount": 567011, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.564493%2Brev-b0d36bd0a420ecee3bc916c91886caca87c894e9/018cc6b0-680d-7f16-b194-dbf948b62871/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.567011%2Brev-46ae0210ce163b3cba6c7da08840c1d63de9c701/018ce71d-40cb-7594-bc00-f31ffedcdfa4/source.tar.gz" }, "original": { "type": "tarball", diff --git a/flake.nix b/flake.nix index a3805ed72..6da436b51 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.16.0"; + version = "0.16.1-unreleased"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 5d70ffa2c..32c5fe36a 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.16.0", + "version": "0.16.1-unreleased", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.16.0", + "version": "0.16.1-unreleased", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index bbd555785..b76a8e60d 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.16.0", + "version": "0.16.1-unreleased", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.16.0", + "version": "0.16.1-unreleased", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 54ad9ff3d..8bd65b4f3 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.16.0", + "version": "0.16.1-unreleased", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.16.0", + "version": "0.16.1-unreleased", "planner": "macos", "configured_settings": [], "os_name": "unknown", From dc241f28537ec069eb1773960a15b08fac7d4df7 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Mon, 8 Jan 2024 10:50:10 -0800 Subject: [PATCH 16/53] Add readme entry for PR 772 (#809) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2246327c5..4b896d00f 100644 --- a/README.md +++ b/README.md @@ -415,6 +415,7 @@ Differing from the upstream [Nix](https://github.com/NixOS/nix) installer script + `auto-optimise-store` is set to `true` (On Linux only) * `extra-nix-path` is set to `nixpkgs=flake:nixpkgs` * `max-jobs` is set to `auto` + * `upgrade-nix-store-path-url` is set to `https://install.determinate.systems/nix-upgrade/stable/universal` * an installation receipt (for uninstalling) is stored at `/nix/receipt.json` as well as a copy of the install binary at `/nix/nix-installer` * `nix-channel --update` is not run, `~/.nix-channels` is not provisioned * `ssl-cert-file` is set in `/etc/nix/nix.conf` if the `ssl-cert-file` argument is used. From 62afef6e3cab58a3d9e3c51a1d528251d0936f82 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Wed, 10 Jan 2024 12:55:56 -0800 Subject: [PATCH 17/53] fixup uninstall tag links (#812) We tag with a leading `v`, but the messages did not have this. --- src/cli/subcommand/uninstall.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cli/subcommand/uninstall.rs b/src/cli/subcommand/uninstall.rs index fcbcc900a..158fa0db4 100644 --- a/src/cli/subcommand/uninstall.rs +++ b/src/cli/subcommand/uninstall.rs @@ -129,7 +129,7 @@ impl CommandExecute for Uninstall { format!( "\ Unable to parse plan, this plan was created by `nix-installer` version `{plan_version}`, this is `nix-installer` version `{current_version}`\n\ - To uninstall, either run `/nix/nix-installer uninstall` or `curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/{plan_version} | sh -s -- uninstall`\ + To uninstall, either run `/nix/nix-installer uninstall` or `curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/v{plan_version} | sh -s -- uninstall`\ ").red().to_string() }); }, @@ -147,7 +147,7 @@ impl CommandExecute for Uninstall { \n\ Found existing plan in `{RECEIPT_LOCATION}` which was created by a version incompatible `nix-installer`.\n\ \n - To uninstall, either run `/nix/nix-installer uninstall` or `curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/${version} | sh -s -- uninstall`\n\ + To uninstall, either run `/nix/nix-installer uninstall` or `curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/v${version} | sh -s -- uninstall`\n\ \n\ ").red() ); From 769d5c72fa2259e7fb70227bfbe00e2a07b7d72c Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Thu, 25 Jan 2024 09:37:18 -0800 Subject: [PATCH 18/53] Bump to Nix 2.19.3 (#820) --- src/settings.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/settings.rs b/src/settings.rs index 9e35c4204..5be22ec94 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -13,19 +13,19 @@ pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-x86_64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-x86_64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-i686-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-i686-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-aarch64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-aarch64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-x86_64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-x86_64-darwin.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.2/nix-2.19.2-aarch64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-aarch64-darwin.tar.xz"; #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] From 7119f93bd0379f7f904cb64810fd8add8b135b7c Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Fri, 26 Jan 2024 08:44:39 -0800 Subject: [PATCH 19/53] Release v0.16.1 (#826) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e7d60b2dc..b5afa4829 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -946,7 +946,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.16.1-unreleased" +version = "0.16.1" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index fad55b719..3341efe5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.16.1-unreleased" +version = "0.16.1" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 6da436b51..8cf843ec0 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.16.1-unreleased"; + version = "0.16.1"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 32c5fe36a..08df78455 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.16.1-unreleased", + "version": "0.16.1", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.16.1-unreleased", + "version": "0.16.1", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index b76a8e60d..f3d222b32 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.16.1-unreleased", + "version": "0.16.1", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.16.1-unreleased", + "version": "0.16.1", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 8bd65b4f3..27c127bb7 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.16.1-unreleased", + "version": "0.16.1", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.16.1-unreleased", + "version": "0.16.1", "planner": "macos", "configured_settings": [], "os_name": "unknown", From d6c5e1f1147f92ab57eb0f73274b70e346acf7f1 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Fri, 26 Jan 2024 12:31:41 -0800 Subject: [PATCH 20/53] 0.16.2-unreleased (#827) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5afa4829..ba03574d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -946,7 +946,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.16.1" +version = "0.16.2-unreleased" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 3341efe5a..194ec9c63 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.16.1" +version = "0.16.2-unreleased" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 8cf843ec0..cdc4bfe39 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.16.1"; + version = "0.16.2-unreleased"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 08df78455..e8d52b921 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.16.1", + "version": "0.16.2-unreleased", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.16.1", + "version": "0.16.2-unreleased", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index f3d222b32..e8986c349 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.16.1", + "version": "0.16.2-unreleased", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.16.1", + "version": "0.16.2-unreleased", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 27c127bb7..ed7fce872 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.16.1", + "version": "0.16.2-unreleased", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.16.1", + "version": "0.16.2-unreleased", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 15802f0730689f2016058e3b5343e40b9ca299f2 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Wed, 31 Jan 2024 08:32:12 -0800 Subject: [PATCH 21/53] Cargo.lock: update h2 (#830) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ba03574d6..8dcd66349 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -568,9 +568,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes 1.5.0", "fnv", From 58303b559872b2f8d476d23f1c0496374204b548 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Fri, 9 Feb 2024 13:54:51 -0800 Subject: [PATCH 22/53] Document how to get started on GitLab (#841) --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b896d00f..12c46f822 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A fast, friendly, and reliable tool to help you use Nix with Flakes everywhere. curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install ``` -The `nix-installer` has successfully completed over 1,000,000 installs in a number of environments, including [Github Actions](#as-a-github-action): +The `nix-installer` has successfully completed over 2,000,000 installs in a number of environments, including [Github Actions](#as-a-github-action) and [GitLab](#on-gitlab): | Platform | Multi User | `root` only | Maturity | |------------------------------|:------------------:|:-----------:|:-----------------:| @@ -136,6 +136,24 @@ jobs: run: nix build . ``` +### On GitLab + +GitLab CI runners are typically Docker based and run as the `root` user. This means `systemd` is not present, so the `--init none` option needs to be passed to the Linux planner. + +On the default [GitLab.com](https://gitlab.com/) runners, `nix` can be installed and used like so: + +```yaml +test: + script: + - curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux --no-confirm --init none + - . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh + - nix run nixpkgs#hello + - nix profile install nixpkgs#hello + - hello +``` + +If you are using different runners, the above example may need to be adjusted. + ### Without systemd (Linux only) > **Warning** From f2cf30ecd61035ebcde921a7e10eba74114b0e86 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 22 Feb 2024 09:28:07 -0800 Subject: [PATCH 23/53] README updates from amazing contributors (#854) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Document nix version pinning more explicitly https://github.com/DeterminateSystems/nix-installer/issues/387#issuecomment-1581743074 Co-authored-by: Ana Hobden * Fixed a single typo in README.md * Link to nixos.org to explain Nix * README: Delete now-incorrect link listing installed `nix` versions --------- Co-authored-by: Peter Kolloch Co-authored-by: Ana Hobden Co-authored-by: Mikko Lukas Räsänen <1522239+mikkolukas@users.noreply.github.com> Co-authored-by: Mauricio Scheffer Co-authored-by: Ilya Grigoriev --- README.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 12c46f822..37a1129b9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Crates.io](https://img.shields.io/crates/v/nix-installer)](https://crates.io/crates/nix-installer) [![Docs.rs](https://img.shields.io/docsrs/nix-installer)](https://docs.rs/nix-installer/latest/nix_installer/) -A fast, friendly, and reliable tool to help you use Nix with Flakes everywhere. +A fast, friendly, and reliable tool to help you use [Nix] with Flakes everywhere. ```bash @@ -75,13 +75,13 @@ Options: # ... --nix-build-group-name The Nix build group name - + [env: NIX_INSTALLER_NIX_BUILD_GROUP_NAME=] [default: nixbld] --nix-build-group-id The Nix build group GID - + [env: NIX_INSTALLER_NIX_BUILD_GROUP_ID=] [default: 3000] # ... @@ -97,7 +97,7 @@ $ NIX_BUILD_GROUP_NAME=nixbuilder ./nix-installer install linux-multi --nix-buil ### Upgrading Nix -You can upgrade Nix (to the version specified [here](https://raw.githubusercontent.com/NixOS/nixpkgs/master/nixos/modules/installer/tools/nix-fallback-paths.nix)) by running: +You can upgrade Nix to the version described in [`DeterminateSystems/nix-upgrade`][nix-upgrade] by running: ``` sudo -i nix upgrade-nix @@ -254,7 +254,7 @@ wsl nix run --impure github:guibou/nixGL nix run nixpkgs#obs-studio ``` -If enabling system is not an option, pass `--init none` at the end of the command: +If enabling systemd is not an option, pass `--init none` at the end of the command: > **Warning** > When `--init none` is used, _only_ `root` or users who can elevate to `root` privileges can run Nix: @@ -422,6 +422,13 @@ curl -sSf -L https://github.com/DeterminateSystems/nix-installer/releases/downlo ./nix-installer install ``` +Each installer version has an [associated supported nix version](src/settings.rs) -- if you pin the installer version, you'll also indirectly pin to the associated nix version. + +You can also override the `nix` version via `--nix-package-url` or `NIX_INSTALLER_NIX_PACKAGE_URL=` but doing so is not recommended since we haven't tested that combination. +Here are some example `nix` package URLs including nix version, OS and architecture: + +* https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-x86_64-linux.tar.xz +* https://releases.nixos.org/nix/nix-2.18.1/nix-2.18.1-aarch64-darwin.tar.xz ## Installation Differences @@ -491,3 +498,5 @@ You can read the full privacy policy for [Determinate Systems][detsys], the crea [systemd]: https://systemd.io [wslg]: https://github.com/microsoft/wslg [nixgl]: https://github.com/guibou/nixGL +[Nix]: https://nixos.org +[nix-upgrade]: https://github.com/DeterminateSystems/nix-upgrade/blob/main/versions.nix From 09ddc9be6b26d7bc5622b040b4dae5064170e1d6 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 23 Feb 2024 07:49:07 -0800 Subject: [PATCH 24/53] Nix 2.20.3 (#856) --- flake.lock | 38 +++++++++++++++++++------------------- flake.nix | 2 +- src/settings.rs | 10 +++++----- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 58f5b5d73..d2eab8a28 100644 --- a/flake.lock +++ b/flake.lock @@ -50,19 +50,19 @@ "type": "github" } }, - "lowdown-src": { + "libgit2": { "flake": false, "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "lastModified": 1708609159, + "narHash": "sha256-sx2/FTDfM/wctWV8zFuliIc7YGzHghtmhqcvmYQVKnc=", + "owner": "libgit2", + "repo": "libgit2", + "rev": "8fd4f83e8acf5ee813191f08c3433e77200ea38b", "type": "github" }, "original": { - "owner": "kristapsdz", - "repo": "lowdown", + "owner": "libgit2", + "repo": "libgit2", "type": "github" } }, @@ -89,35 +89,35 @@ "nix": { "inputs": { "flake-compat": "flake-compat_2", - "lowdown-src": "lowdown-src", + "libgit2": "libgit2", "nixpkgs": "nixpkgs", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1701122567, - "narHash": "sha256-iA8DqS+W2fWTfR+nNJSvMHqQ+4NpYMRT3b+2zS6JTvE=", - "rev": "50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d", - "revCount": 15434, + "lastModified": 1708517151, + "narHash": "sha256-s7QTMxLzVA5UF80sFCv8jwaTMBLA8/110YFkZNkNsCk=", + "rev": "8a8172cd2b5ef2f6dd2d9673a6379447d780ff17", + "revCount": 16129, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.19.2/018c1be0-1b88-7682-b3bf-948ec82d0a0b/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.20.3/018dcc43-c784-772a-8da1-64165044e9cd/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/2.19.2.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/%3D2.20.3.tar.gz" } }, "nixpkgs": { "locked": { - "lastModified": 1698876495, - "narHash": "sha256-nsQo2/mkDUFeAjuu92p0dEqhRvHHiENhkKVIV1y0/Oo=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9eb24edd6a0027fed010ccfe300a9734d029983c", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "nixos-23.05-small", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index cdc4bfe39..b2a9f3f38 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/2.19.2.tar.gz"; + url = "https://flakehub.com/f/NixOS/nix/=2.20.3.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; diff --git a/src/settings.rs b/src/settings.rs index 5be22ec94..c57393f51 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -13,19 +13,19 @@ pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-x86_64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-x86_64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-i686-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-i686-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-aarch64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-aarch64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-x86_64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-x86_64-darwin.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.19.3/nix-2.19.3-aarch64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-aarch64-darwin.tar.xz"; #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] From 40740423ca31022b797e8696ccdd1a4d3d1b62c3 Mon Sep 17 00:00:00 2001 From: Ana Hobden Date: Fri, 23 Feb 2024 08:41:41 -0800 Subject: [PATCH 25/53] Don't check `/run` for systemd if we're not starting the daemon (#853) * Don't check /run for systemd if we're not starting the daemon * Add a note about start_daemon and checking /run/systemd/system --- src/action/common/configure_init_service.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/action/common/configure_init_service.rs b/src/action/common/configure_init_service.rs index a6b109f56..bd5685956 100644 --- a/src/action/common/configure_init_service.rs +++ b/src/action/common/configure_init_service.rs @@ -79,10 +79,14 @@ impl ConfigureInitService { }, #[cfg(target_os = "linux")] InitSystem::Systemd => { - // If /run/systemd/system exists, we can be reasonably sure the machine is booted - // with systemd: https://www.freedesktop.org/software/systemd/man/sd_booted.html - if !Path::new("/run/systemd/system").exists() { - return Err(Self::error(ActionErrorKind::SystemdMissing)); + // If `no_start_daemon` is set, then we don't require a running systemd, + // so we don't need to check if `/run/systemd/system` exists. + if start_daemon { + // If /run/systemd/system exists, we can be reasonably sure the machine is booted + // with systemd: https://www.freedesktop.org/software/systemd/man/sd_booted.html + if !Path::new("/run/systemd/system").exists() { + return Err(Self::error(ActionErrorKind::SystemdMissing)); + } } if which::which("systemctl").is_err() { From bb665028dea35c5b2b44393728b70e8fa64c8750 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 23 Feb 2024 09:27:43 -0800 Subject: [PATCH 26/53] Update dependencies (#858) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * flake.lock: Update, exclude Nixpkgs Updating Nixpkgs seems to break the Nix build somehow (even though we don't use the Nix input except for its `binaryTarball` job...). Flake lock file updates: • Updated input 'fenix': 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1727%2Brev-66fc1883c34c42df188b83272445aedb26bb64b5/018cc416-f0ae-724d-989f-aa4ded05d885/source.tar.gz?narHash=sha256-Vti1mv4WhmXHPNcFgUiJyt4OKLvsvLzM2eKS4bEegf0%3D' (2024-01-01) → 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1762%2Brev-668102037129923cd0fc239d864fce71eabdc6a3/018d63bb-6455-7a2f-98c6-74a36b8216a4/source.tar.gz?narHash=sha256-4o6TMpzBHO659EiJTzd/EGQGUDdbgwKwhqf3u6b23U8%3D' (2024-02-01) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/cf52c4b2b3367ae7355ef23393e2eae1d37de723' (2023-12-31) → 'github:rust-lang/rust-analyzer/42cb1a2bd79af321b0cc503d2960b73f34e2f92b' (2024-01-31) • Updated input 'nix/libgit2': 'github:libgit2/libgit2/8fd4f83e8acf5ee813191f08c3433e77200ea38b' (2024-02-22) → 'github:libgit2/libgit2/45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5' (2023-10-18) * Cargo.lock: update * fixup: indexmap deprecation warnings * Cargo.toml: bump strum to 0.26.1, which to 6.0.0 * CONTRIBUTING: update with more specific commands --- CONTRIBUTING.md | 6 +- Cargo.lock | 387 +++++++++--------- Cargo.toml | 4 +- flake.lock | 22 +- src/action/base/create_or_merge_nix_config.rs | 4 +- 5 files changed, 221 insertions(+), 202 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0fa23242a..9f5e0c207 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -365,9 +365,9 @@ This package uses [Semantic Versioning](https://semver.org/). When determining t To cut a release: * Ensure the `flake.lock`, `Cargo.lock`, and Rust dependencies are up-to-date with the following: - + `nix flake update` - + `cargo update` - + `cargo outdated` + + `nix flake update --commit-lock-file` + + `cargo outdated --ignore-external-rel --aggressive` + + `cargo update --aggressive` + Make a PR for for this and let it get merged separately * Create a release branch from `main` (`git checkout -b release-v0.0.1`) * Remove the `-unreleased` from the `version` field in `Cargo.toml`, `flake.nix`, and the fixture JSON files diff --git a/Cargo.lock b/Cargo.lock index 8dcd66349..aac2c1df3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.5" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" +checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" dependencies = [ "anstyle", "anstyle-parse", @@ -57,9 +57,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bitflags" @@ -135,15 +135,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" [[package]] name = "byteorder" @@ -172,12 +172,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" [[package]] name = "cfg-if" @@ -187,22 +184,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.48.5", + "windows-targets 0.52.3", ] [[package]] name = "clap" -version = "4.4.12" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" +checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" dependencies = [ "clap_builder", "clap_derive", @@ -210,21 +207,21 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.12" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" +checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.0", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ "heck", "proc-macro2", @@ -234,9 +231,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "color-eyre" @@ -290,9 +287,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "darling" -version = "0.20.3" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "3a5d17510e4a1a87f323de70b7b1eaac1ee0e37866c6720b2d279452d0edf389" dependencies = [ "darling_core", "darling_macro", @@ -300,23 +297,23 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "a98eea36a7ff910fa751413d0895551143a8ea41d695d9798ec7d665df7f7f5e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d6a366a3f90c5d59a4b91169775f88e52e8f71a0e7804cc98a8db2932cf4ed57" dependencies = [ "darling_core", "quote", @@ -383,9 +380,9 @@ checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "encoding_rs" @@ -416,9 +413,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55d05712b2d8d88102bc9868020c9e5c7a1f5527c452b9b97450a1d006140ba7" +checksum = "388979d208a049ffdfb22fa33b9c81942215b940910bccfe258caeb25d125cb3" dependencies = [ "serde", ] @@ -435,9 +432,9 @@ dependencies = [ [[package]] name = "eyre" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ "indenter", "once_cell", @@ -545,9 +542,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -578,7 +575,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.3", "slab", "tokio", "tokio-util", @@ -605,9 +602,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" [[package]] name = "hex" @@ -698,9 +695,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -754,9 +751,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -765,9 +762,9 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8573b2b1fb643a372c73b23f4da5f888677feef3305146d68a539250a9bccc7" +checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" [[package]] name = "iovec" @@ -786,20 +783,20 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ "hermit-abi", - "rustix", + "libc", "windows-sys 0.52.0", ] [[package]] name = "is_ci" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" +checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" [[package]] name = "itoa" @@ -809,9 +806,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -824,9 +821,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libredox" @@ -834,7 +831,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "libc", "redox_syscall", ] @@ -850,9 +847,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -904,9 +901,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -928,7 +925,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if", "libc", ] @@ -939,7 +936,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d96c6f2c44fc706e7a523743434465d62db109b7c8364b642f35853475d67" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", "thiserror", ] @@ -956,7 +953,7 @@ dependencies = [ "dyn-clone", "eyre", "glob", - "indexmap 2.1.0", + "indexmap 2.2.3", "is_ci", "nix", "nix-config-parser", @@ -998,11 +995,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -1117,9 +1120,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" @@ -1128,7 +1131,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64", - "indexmap 2.1.0", + "indexmap 2.2.3", "line-wrap", "quick-xml", "serde", @@ -1149,9 +1152,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.74" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -1226,13 +1229,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -1247,9 +1250,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -1270,9 +1273,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.23" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ "base64", "bytes 1.5.0", @@ -1297,6 +1300,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-rustls", @@ -1313,16 +1317,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", + "cfg-if", "getrandom", "libc", "spin", "untrusted", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1333,11 +1338,11 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", @@ -1395,9 +1400,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "safemem" @@ -1464,27 +1469,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.194" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.194" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", @@ -1493,9 +1498,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.110" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ "itoa", "ryu", @@ -1516,16 +1521,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.4.0" +version = "3.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" +checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", + "serde_derive", "serde_json", "serde_with_macros", "time", @@ -1533,9 +1539,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.4.0" +version = "3.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" +checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" dependencies = [ "darling", "proc-macro2", @@ -1572,18 +1578,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1598,20 +1604,26 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + [[package]] name = "strum" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.25.3" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" dependencies = [ "heck", "proc-macro2", @@ -1632,22 +1644,28 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.46" +version = "2.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "sysctl" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", "enum-as-inner", "libc", @@ -1689,19 +1707,18 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.13" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", "rustix", "windows-sys 0.52.0", ] @@ -1719,18 +1736,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", @@ -1739,9 +1756,9 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -1749,12 +1766,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -1769,10 +1787,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -1793,9 +1812,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes 1.5.0", @@ -1978,9 +1997,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -1990,9 +2009,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] @@ -2023,9 +2042,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "serde", ] @@ -2063,9 +2082,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2073,9 +2092,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", @@ -2088,9 +2107,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ "cfg-if", "js-sys", @@ -2100,9 +2119,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2110,9 +2129,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", @@ -2123,15 +2142,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -2142,9 +2161,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.66" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" dependencies = [ "js-sys", "wasm-bindgen", @@ -2152,15 +2171,15 @@ dependencies = [ [[package]] name = "which" -version = "5.0.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c" dependencies = [ "either", "home", "once_cell", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2200,7 +2219,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.3", ] [[package]] @@ -2218,7 +2237,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.3", ] [[package]] @@ -2238,17 +2257,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.3", + "windows_aarch64_msvc 0.52.3", + "windows_i686_gnu 0.52.3", + "windows_i686_msvc 0.52.3", + "windows_x86_64_gnu 0.52.3", + "windows_x86_64_gnullvm 0.52.3", + "windows_x86_64_msvc 0.52.3", ] [[package]] @@ -2259,9 +2278,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" [[package]] name = "windows_aarch64_msvc" @@ -2271,9 +2290,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" [[package]] name = "windows_i686_gnu" @@ -2283,9 +2302,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" [[package]] name = "windows_i686_msvc" @@ -2295,9 +2314,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" [[package]] name = "windows_x86_64_gnu" @@ -2307,9 +2326,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" [[package]] name = "windows_x86_64_gnullvm" @@ -2319,9 +2338,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" [[package]] name = "windows_x86_64_msvc" @@ -2331,9 +2350,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" [[package]] name = "winreg" @@ -2347,9 +2366,9 @@ dependencies = [ [[package]] name = "xattr" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", "linux-raw-sys", diff --git a/Cargo.toml b/Cargo.toml index 194ec9c63..13cb69534 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,9 +55,9 @@ term = { version = "0.7.0", default-features = false } uuid = { version = "1.2.2", features = ["serde"] } os-release = { version = "0.1.0", default-features = false } is_ci = { version = "1.1.1", default-features = false, optional = true } -strum = { version = "0.25.0", features = ["derive"] } +strum = { version = "0.26.1", features = ["derive"] } nix-config-parser = { version = "0.2", features = ["serde"] } -which = "5.0.0" +which = "6.0.0" sysctl = "0.5.4" walkdir = "2.3.3" indexmap = { version = "2.0.2", features = ["serde"] } diff --git a/flake.lock b/flake.lock index d2eab8a28..294d56e42 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1704090261, - "narHash": "sha256-Vti1mv4WhmXHPNcFgUiJyt4OKLvsvLzM2eKS4bEegf0=", - "rev": "66fc1883c34c42df188b83272445aedb26bb64b5", - "revCount": 1727, + "lastModified": 1706768574, + "narHash": "sha256-4o6TMpzBHO659EiJTzd/EGQGUDdbgwKwhqf3u6b23U8=", + "rev": "668102037129923cd0fc239d864fce71eabdc6a3", + "revCount": 1762, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1727%2Brev-66fc1883c34c42df188b83272445aedb26bb64b5/018cc416-f0ae-724d-989f-aa4ded05d885/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1762%2Brev-668102037129923cd0fc239d864fce71eabdc6a3/018d63bb-6455-7a2f-98c6-74a36b8216a4/source.tar.gz" }, "original": { "type": "tarball", @@ -53,11 +53,11 @@ "libgit2": { "flake": false, "locked": { - "lastModified": 1708609159, - "narHash": "sha256-sx2/FTDfM/wctWV8zFuliIc7YGzHghtmhqcvmYQVKnc=", + "lastModified": 1697646580, + "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", "owner": "libgit2", "repo": "libgit2", - "rev": "8fd4f83e8acf5ee813191f08c3433e77200ea38b", + "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", "type": "github" }, "original": { @@ -164,11 +164,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1704034202, - "narHash": "sha256-OFBXLWm+aIqG+jNAz8BmB+QpepI11SGLtSY6qEs6EmY=", + "lastModified": 1706735270, + "narHash": "sha256-IJk+UitcJsxzMQWm9pa1ZbJBriQ4ginXOlPyVq+Cu40=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "cf52c4b2b3367ae7355ef23393e2eae1d37de723", + "rev": "42cb1a2bd79af321b0cc503d2960b73f34e2f92b", "type": "github" }, "original": { diff --git a/src/action/base/create_or_merge_nix_config.rs b/src/action/base/create_or_merge_nix_config.rs index 7b1b587b3..ae0585e32 100644 --- a/src/action/base/create_or_merge_nix_config.rs +++ b/src/action/base/create_or_merge_nix_config.rs @@ -369,7 +369,7 @@ impl Action for CreateOrMergeNixConfig { new_config.push_str(name); new_config.push_str(" = "); - if let Some(merged_value) = merged_nix_config.settings_mut().remove(name) { + if let Some(merged_value) = merged_nix_config.settings_mut().swap_remove(name) { new_config.push_str(&merged_value); new_config.push(' '); } else { @@ -390,7 +390,7 @@ impl Action for CreateOrMergeNixConfig { }; if let Some(to_remove) = to_remove { - existing_nix_config.settings_mut().remove(&to_remove); + existing_nix_config.settings_mut().swap_remove(&to_remove); } } From e6117e874151233f5a846494f2833845b038e9d1 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 23 Feb 2024 12:26:10 -0800 Subject: [PATCH 27/53] Release v0.17.0 (#859) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aac2c1df3..2b6201eb5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.16.2-unreleased" +version = "0.17.0" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 13cb69534..ae45cdb51 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.16.2-unreleased" +version = "0.17.0" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index b2a9f3f38..e8b80a1c2 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.16.2-unreleased"; + version = "0.17.0"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index e8d52b921..024c4b403 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.16.2-unreleased", + "version": "0.17.0", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.16.2-unreleased", + "version": "0.17.0", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index e8986c349..436f4e622 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.16.2-unreleased", + "version": "0.17.0", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.16.2-unreleased", + "version": "0.17.0", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index ed7fce872..a1c6c854d 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.16.2-unreleased", + "version": "0.17.0", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.16.2-unreleased", + "version": "0.17.0", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 9c109b71d13081025e7b2440713050fdcccc392a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 23 Feb 2024 14:12:58 -0800 Subject: [PATCH 28/53] Bump version to 0.17.1-unreleased (#861) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b6201eb5..e30f13529 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.17.0" +version = "0.17.1-unreleased" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index ae45cdb51..5da069772 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.17.0" +version = "0.17.1-unreleased" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index e8b80a1c2..257c0ea46 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.17.0"; + version = "0.17.1-unreleased"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 024c4b403..03cbccb2b 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.17.0", + "version": "0.17.1-unreleased", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.17.0", + "version": "0.17.1-unreleased", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index 436f4e622..28e8c999c 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.17.0", + "version": "0.17.1-unreleased", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.17.0", + "version": "0.17.1-unreleased", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index a1c6c854d..99206d360 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.17.0", + "version": "0.17.1-unreleased", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.17.0", + "version": "0.17.1-unreleased", "planner": "macos", "configured_settings": [], "os_name": "unknown", From 06eaf882e644a63671cff33770f01481b08877d9 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Sun, 25 Feb 2024 16:45:14 -0500 Subject: [PATCH 29/53] Correct privacy policy link (#863) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37a1129b9..117018465 100644 --- a/README.md +++ b/README.md @@ -494,7 +494,7 @@ You can read the full privacy policy for [Determinate Systems][detsys], the crea [detsys]: https://determinate.systems/ [diagnosticdata]: https://github.com/DeterminateSystems/nix-installer/blob/f9f927840d532b71f41670382a30cfcbea2d8a35/src/diagnostics.rs#L29-L43 -[privacy]: https://determinate.systems/privacy +[privacy]: https://determinate.systems/policies/privacy [systemd]: https://systemd.io [wslg]: https://github.com/microsoft/wslg [nixgl]: https://github.com/guibou/nixGL From 79e3aa2beba9f62d9131b30870745037bae3373d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 7 Mar 2024 19:51:15 +0100 Subject: [PATCH 30/53] Upgrade to Nix 2.20.5 (CVE-2024-27297) (#882) --- flake.lock | 12 ++++++------ flake.nix | 2 +- src/settings.rs | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 294d56e42..d79c4495b 100644 --- a/flake.lock +++ b/flake.lock @@ -94,16 +94,16 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1708517151, - "narHash": "sha256-s7QTMxLzVA5UF80sFCv8jwaTMBLA8/110YFkZNkNsCk=", - "rev": "8a8172cd2b5ef2f6dd2d9673a6379447d780ff17", - "revCount": 16129, + "lastModified": 1709808984, + "narHash": "sha256-bfFe38BkoQws7om4gBtBWoNTLkt9piMXdLLoHYl+vBQ=", + "rev": "f8170ce9f119e5e6724eb81ff1b5a2d4c0024000", + "revCount": 16143, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.20.3/018dcc43-c784-772a-8da1-64165044e9cd/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.20.5/018e199b-ae2c-703d-ab99-4c648be473b2/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/%3D2.20.3.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/%3D2.20.5.tar.gz" } }, "nixpkgs": { diff --git a/flake.nix b/flake.nix index 257c0ea46..c0d102f85 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/=2.20.3.tar.gz"; + url = "https://flakehub.com/f/NixOS/nix/=2.20.5.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; diff --git a/src/settings.rs b/src/settings.rs index c57393f51..6d7de4d8b 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -13,19 +13,19 @@ pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-x86_64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-x86_64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-i686-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-i686-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-aarch64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-aarch64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-x86_64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-x86_64-darwin.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.3/nix-2.20.3-aarch64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-aarch64-darwin.tar.xz"; #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] From 41dc9fecdef78a3a9af46dcf2b414c75766547c0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 7 Mar 2024 20:47:08 +0100 Subject: [PATCH 31/53] Mark release (#885) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 6 +++--- tests/fixtures/linux/steam-deck.json | 6 +++--- tests/fixtures/macos/macos.json | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e30f13529..b39f183b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.17.1-unreleased" +version = "0.17.1" dependencies = [ "async-trait", "bytes 1.5.0", diff --git a/Cargo.toml b/Cargo.toml index 5da069772..ad74a7787 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.17.1-unreleased" +version = "0.17.1" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index c0d102f85..676807913 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.17.1-unreleased"; + version = "0.17.1"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index 03cbccb2b..e30c6e5e7 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.17.1-unreleased", + "version": "0.17.1", "actions": [ { "action": { @@ -424,7 +424,7 @@ } }, "diagnostic_data": { - "version": "0.17.1-unreleased", + "version": "0.17.1", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", @@ -435,4 +435,4 @@ "ssl_cert_file": null, "failure_chain": null } -} \ No newline at end of file +} diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index 28e8c999c..311ab87bb 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.17.1-unreleased", + "version": "0.17.1", "actions": [ { "action": { @@ -404,7 +404,7 @@ } }, "diagnostic_data": { - "version": "0.17.1-unreleased", + "version": "0.17.1", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", @@ -415,4 +415,4 @@ "ssl_cert_file": null, "failure_chain": null } -} \ No newline at end of file +} diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 99206d360..6efbfe26f 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.17.1-unreleased", + "version": "0.17.1", "actions": [ { "action": { @@ -435,7 +435,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.17.1-unreleased", + "version": "0.17.1", "planner": "macos", "configured_settings": [], "os_name": "unknown", @@ -446,4 +446,4 @@ "ssl_cert_file": null, "failure_chain": null } -} \ No newline at end of file +} From d6a36b8cddcb753b872ec52230f91987b8554f5d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 21 Mar 2024 21:28:22 +0100 Subject: [PATCH 32/53] Update flake/Rust dependencies (#883) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * flake.lock: Update Flake lock file updates: • Updated input 'fenix': 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1762%2Brev-668102037129923cd0fc239d864fce71eabdc6a3/018d63bb-6455-7a2f-98c6-74a36b8216a4/source.tar.gz?narHash=sha256-4o6TMpzBHO659EiJTzd/EGQGUDdbgwKwhqf3u6b23U8%3D' (2024-02-01) → 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1791%2Brev-4be608f4f81d351aacca01b21ffd91028c23cc22/018df913-b6d3-756c-b05c-358eca6e487d/source.tar.gz?narHash=sha256-O6EC6QELBLHzhdzBOJj0chx8AOcd4nDRECIagfT5Nd0%3D' (2024-03-01) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/42cb1a2bd79af321b0cc503d2960b73f34e2f92b' (2024-01-31) → 'github:rust-lang/rust-analyzer/9efa23c4dacee88b93540632eb3d88c5dfebfe17' (2024-02-29) • Updated input 'nixpkgs': 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.567011%2Brev-46ae0210ce163b3cba6c7da08840c1d63de9c701/018ce71d-40cb-7594-bc00-f31ffedcdfa4/source.tar.gz?narHash=sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U%3D' (2024-01-06) → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.592007%2Brev-9df3e30ce24fd28c7b3e2de0d986769db5d6225d/018e1732-2a3c-7a76-9ec9-7272cb294c13/source.tar.gz?narHash=sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY%3D' (2024-03-06) * Update cargo deps --- Cargo.lock | 180 ++++++++++++++++++++++++++--------------------------- flake.lock | 26 ++++---- 2 files changed, 103 insertions(+), 103 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b39f183b5..fd4b33ff9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.12" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", @@ -141,9 +141,9 @@ checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "byteorder" @@ -172,9 +172,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.86" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-if" @@ -184,22 +184,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.3", + "windows-targets 0.52.4", ] [[package]] name = "clap" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" dependencies = [ "clap_builder", "clap_derive", @@ -207,9 +207,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -287,9 +287,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "darling" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5d17510e4a1a87f323de70b7b1eaac1ee0e37866c6720b2d279452d0edf389" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ "darling_core", "darling_macro", @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98eea36a7ff910fa751413d0895551143a8ea41d695d9798ec7d665df7f7f5e" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", @@ -311,9 +311,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6a366a3f90c5d59a4b91169775f88e52e8f71a0e7804cc98a8db2932cf4ed57" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", @@ -374,9 +374,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "either" @@ -575,7 +575,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.3", + "indexmap 2.2.5", "slab", "tokio", "tokio-util", @@ -602,9 +602,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.6" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -623,9 +623,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes 1.5.0", "fnv", @@ -751,9 +751,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -806,9 +806,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -863,9 +863,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "lzma-sys" @@ -910,9 +910,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi", @@ -936,7 +936,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d96c6f2c44fc706e7a523743434465d62db109b7c8364b642f35853475d67" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.2.5", "serde", "thiserror", ] @@ -953,7 +953,7 @@ dependencies = [ "dyn-clone", "eyre", "glob", - "indexmap 2.2.3", + "indexmap 2.2.5", "is_ci", "nix", "nix-config-parser", @@ -1131,7 +1131,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64", - "indexmap 2.2.3", + "indexmap 2.2.5", "line-wrap", "quick-xml", "serde", @@ -1235,7 +1235,7 @@ checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.5", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] @@ -1250,9 +1250,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -1529,7 +1529,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.3", + "indexmap 2.2.5", "serde", "serde_derive", "serde_json", @@ -1644,9 +1644,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.50" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -1713,9 +1713,9 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.10.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", @@ -1973,9 +1973,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typetag" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43148481c7b66502c48f35b8eef38b6ccdc7a9f04bd4cc294226d901ccc9bc7" +checksum = "661d18414ec032a49ece2d56eee03636e43c4e8d577047ab334c0ba892e29aaf" dependencies = [ "erased-serde", "inventory", @@ -1986,9 +1986,9 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291db8a81af4840c10d636e047cac67664e343be44e24dfdbd1492df9a5d3390" +checksum = "ac73887f47b9312552aa90ef477927ff014d63d1920ca8037c6c1951eab64bb1" dependencies = [ "proc-macro2", "quote", @@ -2057,9 +2057,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -2082,9 +2082,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2092,9 +2092,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -2107,9 +2107,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -2119,9 +2119,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2129,9 +2129,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -2142,9 +2142,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-streams" @@ -2161,9 +2161,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -2219,7 +2219,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.3", + "windows-targets 0.52.4", ] [[package]] @@ -2237,7 +2237,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.3", + "windows-targets 0.52.4", ] [[package]] @@ -2257,17 +2257,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "windows_aarch64_gnullvm 0.52.3", - "windows_aarch64_msvc 0.52.3", - "windows_i686_gnu 0.52.3", - "windows_i686_msvc 0.52.3", - "windows_x86_64_gnu 0.52.3", - "windows_x86_64_gnullvm 0.52.3", - "windows_x86_64_msvc 0.52.3", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -2278,9 +2278,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" @@ -2290,9 +2290,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" @@ -2302,9 +2302,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" @@ -2314,9 +2314,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" @@ -2326,9 +2326,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" [[package]] name = "windows_x86_64_gnullvm" @@ -2338,9 +2338,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" @@ -2350,9 +2350,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" [[package]] name = "winreg" diff --git a/flake.lock b/flake.lock index d79c4495b..21f6e2634 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1706768574, - "narHash": "sha256-4o6TMpzBHO659EiJTzd/EGQGUDdbgwKwhqf3u6b23U8=", - "rev": "668102037129923cd0fc239d864fce71eabdc6a3", - "revCount": 1762, + "lastModified": 1709274179, + "narHash": "sha256-O6EC6QELBLHzhdzBOJj0chx8AOcd4nDRECIagfT5Nd0=", + "rev": "4be608f4f81d351aacca01b21ffd91028c23cc22", + "revCount": 1791, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1762%2Brev-668102037129923cd0fc239d864fce71eabdc6a3/018d63bb-6455-7a2f-98c6-74a36b8216a4/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1791%2Brev-4be608f4f81d351aacca01b21ffd91028c23cc22/018df913-b6d3-756c-b05c-358eca6e487d/source.tar.gz" }, "original": { "type": "tarball", @@ -140,12 +140,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1704538339, - "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", - "rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", - "revCount": 567011, + "lastModified": 1709703039, + "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", + "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", + "revCount": 592007, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.567011%2Brev-46ae0210ce163b3cba6c7da08840c1d63de9c701/018ce71d-40cb-7594-bc00-f31ffedcdfa4/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.592007%2Brev-9df3e30ce24fd28c7b3e2de0d986769db5d6225d/018e1732-2a3c-7a76-9ec9-7272cb294c13/source.tar.gz" }, "original": { "type": "tarball", @@ -164,11 +164,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1706735270, - "narHash": "sha256-IJk+UitcJsxzMQWm9pa1ZbJBriQ4ginXOlPyVq+Cu40=", + "lastModified": 1709219524, + "narHash": "sha256-8HHRXm4kYQLdUohNDUuCC3Rge7fXrtkjBUf0GERxrkM=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "42cb1a2bd79af321b0cc503d2960b73f34e2f92b", + "rev": "9efa23c4dacee88b93540632eb3d88c5dfebfe17", "type": "github" }, "original": { From 5ecf3c42a02cc33579ef6927434e037fce09f289 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 5 Apr 2024 08:48:50 -0700 Subject: [PATCH 33/53] Fallback to empty terminfo (#869) --- src/cli/interaction.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/cli/interaction.rs b/src/cli/interaction.rs index 9c56e6636..7960eae11 100644 --- a/src/cli/interaction.rs +++ b/src/cli/interaction.rs @@ -1,3 +1,4 @@ +use std::collections::HashMap; use std::io::{stdin, stdout, BufRead, Write}; use eyre::{eyre, WrapErr}; @@ -20,8 +21,16 @@ pub(crate) async fn prompt( currently_explaining: bool, ) -> eyre::Result { let stdout = stdout(); - let mut term = - term::terminfo::TerminfoTerminal::new(stdout).ok_or(eyre!("Couldn't get terminal"))?; + let terminfo = term::terminfo::TermInfo::from_env().unwrap_or_else(|_| { + tracing::warn!("Couldn't find terminfo, using empty fallback terminfo"); + term::terminfo::TermInfo { + names: vec![], + bools: HashMap::new(), + numbers: HashMap::new(), + strings: HashMap::new(), + } + }); + let mut term = term::terminfo::TerminfoTerminal::new_with_terminfo(stdout, terminfo); let with_confirm = format!( "\ {question}\n\ From 16ee60a2f7d5d172db91484729f15dd09d0e5383 Mon Sep 17 00:00:00 2001 From: Matthew Kenigsberg Date: Wed, 27 Mar 2024 07:45:21 -0600 Subject: [PATCH 34/53] Factor out find_nix_and_ca_cert This method is factored out downstream in NixOS/experimental-nix-installer, so factoring it out here would help minimize merge conflicts. There should be no functional changes. --- src/action/base/setup_default_profile.rs | 71 +-------------------- src/action/common/configure_nix.rs | 81 +++++++++++++++++++++++- 2 files changed, 83 insertions(+), 69 deletions(-) diff --git a/src/action/base/setup_default_profile.rs b/src/action/base/setup_default_profile.rs index 6a67cd3d1..f8ba75f4c 100644 --- a/src/action/base/setup_default_profile.rs +++ b/src/action/base/setup_default_profile.rs @@ -1,12 +1,10 @@ use std::path::PathBuf; use crate::{ - action::{ActionError, ActionErrorKind, ActionTag, StatefulAction}, + action::{common::ConfigureNix, ActionError, ActionErrorKind, ActionTag, StatefulAction}, execute_command, set_env, }; -use glob::glob; - use tokio::{io::AsyncWriteExt, process::Command}; use tracing::{span, Span}; @@ -51,63 +49,8 @@ impl Action for SetupDefaultProfile { #[tracing::instrument(level = "debug", skip_all)] async fn execute(&mut self) -> Result<(), ActionError> { - // Find an `nix` package - let nix_pkg_glob = format!("{}/nix-*/store/*-nix-*.*.*", self.unpacked_path.display()); - let mut found_nix_pkg = None; - for entry in glob(&nix_pkg_glob).map_err(Self::error)? { - match entry { - Ok(path) => { - // If we are curing, the user may have multiple of these installed - if let Some(_existing) = found_nix_pkg { - return Err(Self::error(SetupDefaultProfileError::MultipleNixPackages))?; - } else { - found_nix_pkg = Some(path); - } - break; - }, - Err(_) => continue, /* Ignore it */ - }; - } - let nix_pkg = if let Some(nix_pkg) = found_nix_pkg { - tokio::fs::read_link(&nix_pkg) - .await - .map_err(|e| ActionErrorKind::ReadSymlink(nix_pkg, e)) - .map_err(Self::error)? - } else { - return Err(Self::error(SetupDefaultProfileError::NoNix)); - }; - - // Find an `nss-cacert` package, add it too. - let nss_ca_cert_pkg_glob = format!( - "{}/nix-*/store/*-nss-cacert-*.*", - self.unpacked_path.display() - ); - let mut found_nss_ca_cert_pkg = None; - for entry in glob(&nss_ca_cert_pkg_glob).map_err(Self::error)? { - match entry { - Ok(path) => { - // If we are curing, the user may have multiple of these installed - if let Some(_existing) = found_nss_ca_cert_pkg { - return Err(Self::error( - SetupDefaultProfileError::MultipleNssCaCertPackages, - ))?; - } else { - found_nss_ca_cert_pkg = Some(path); - } - break; - }, - Err(_) => continue, /* Ignore it */ - }; - } - let nss_ca_cert_pkg = if let Some(nss_ca_cert_pkg) = found_nss_ca_cert_pkg { - tokio::fs::read_link(&nss_ca_cert_pkg) - .await - .map_err(|e| ActionErrorKind::ReadSymlink(nss_ca_cert_pkg, e)) - .map_err(Self::error)? - } else { - return Err(Self::error(SetupDefaultProfileError::NoNssCacert)); - }; - + let (nix_pkg, nss_ca_cert_pkg) = + ConfigureNix::find_nix_and_ca_cert(&self.unpacked_path).await?; let found_nix_paths = glob::glob(&format!("{}/nix-*", self.unpacked_path.display())) .map_err(Self::error)? .collect::, _>>() @@ -236,16 +179,8 @@ impl Action for SetupDefaultProfile { #[non_exhaustive] #[derive(Debug, thiserror::Error)] pub enum SetupDefaultProfileError { - #[error("Unarchived Nix store did not appear to include a `nss-cacert` location")] - NoNssCacert, - #[error("Unarchived Nix store did not appear to include a `nix` location")] - NoNix, #[error("No root home found to place channel configuration in")] NoRootHome, - #[error("Unarchived Nix store appears to contain multiple `nss-ca-cert` packages, cannot select one")] - MultipleNssCaCertPackages, - #[error("Unarchived Nix store appears to contain multiple `nix` packages, cannot select one")] - MultipleNixPackages, } impl From for ActionErrorKind { diff --git a/src/action/common/configure_nix.rs b/src/action/common/configure_nix.rs index 9088c22e3..a3dc0f179 100644 --- a/src/action/common/configure_nix.rs +++ b/src/action/common/configure_nix.rs @@ -1,4 +1,4 @@ -use std::path::PathBuf; +use std::path::{Path, PathBuf}; use crate::{ action::{ @@ -9,6 +9,7 @@ use crate::{ planner::ShellProfileLocations, settings::{CommonSettings, SCRATCH_DIR}, }; +use glob::glob; use tracing::{span, Instrument, Span}; @@ -58,6 +59,65 @@ impl ConfigureNix { } .into()) } + + pub async fn find_nix_and_ca_cert( + unpacked_path: &Path, + ) -> Result<(PathBuf, PathBuf), ActionError> { + // Find a `nix` package + let nix_pkg_glob = format!("{}/nix-*/store/*-nix-*.*.*", unpacked_path.display()); + let mut found_nix_pkg = None; + for entry in glob(&nix_pkg_glob).map_err(Self::error)? { + match entry { + Ok(path) => { + // If we are curing, the user may have multiple of these installed + if let Some(_existing) = found_nix_pkg { + return Err(Self::error(ConfigureNixError::MultipleNixPackages))?; + } else { + found_nix_pkg = Some(path); + } + break; + }, + Err(_) => continue, /* Ignore it */ + }; + } + let nix_pkg = if let Some(nix_pkg) = found_nix_pkg { + tokio::fs::read_link(&nix_pkg) + .await + .map_err(|e| ActionErrorKind::ReadSymlink(nix_pkg, e)) + .map_err(Self::error)? + } else { + return Err(Self::error(ConfigureNixError::NoNix)); + }; + + // Find an `nss-cacert` package + let nss_ca_cert_pkg_glob = + format!("{}/nix-*/store/*-nss-cacert-*.*", unpacked_path.display()); + let mut found_nss_ca_cert_pkg = None; + for entry in glob(&nss_ca_cert_pkg_glob).map_err(Self::error)? { + match entry { + Ok(path) => { + // If we are curing, the user may have multiple of these installed + if let Some(_existing) = found_nss_ca_cert_pkg { + return Err(Self::error(ConfigureNixError::MultipleNssCaCertPackages))?; + } else { + found_nss_ca_cert_pkg = Some(path); + } + break; + }, + Err(_) => continue, /* Ignore it */ + }; + } + let nss_ca_cert_pkg = if let Some(nss_ca_cert_pkg) = found_nss_ca_cert_pkg { + tokio::fs::read_link(&nss_ca_cert_pkg) + .await + .map_err(|e| ActionErrorKind::ReadSymlink(nss_ca_cert_pkg, e)) + .map_err(Self::error)? + } else { + return Err(Self::error(ConfigureNixError::NoNssCacert)); + }; + + Ok((nix_pkg, nss_ca_cert_pkg)) + } } #[async_trait::async_trait] @@ -194,3 +254,22 @@ impl Action for ConfigureNix { } } } + +#[non_exhaustive] +#[derive(Debug, thiserror::Error)] +pub enum ConfigureNixError { + #[error("Unarchived Nix store did not appear to include a `nss-cacert` location")] + NoNssCacert, + #[error("Unarchived Nix store did not appear to include a `nix` location")] + NoNix, + #[error("Unarchived Nix store appears to contain multiple `nss-ca-cert` packages, cannot select one")] + MultipleNssCaCertPackages, + #[error("Unarchived Nix store appears to contain multiple `nix` packages, cannot select one")] + MultipleNixPackages, +} + +impl From for ActionErrorKind { + fn from(val: ConfigureNixError) -> Self { + ActionErrorKind::Custom(Box::new(val)) + } +} From fcacd42940c3d47f80c363a3fc1734524f912fa0 Mon Sep 17 00:00:00 2001 From: nanashi <54083498+nanashi-1@users.noreply.github.com> Date: Sat, 2 Mar 2024 06:22:37 +0800 Subject: [PATCH 35/53] Fix typo --- src/action/common/configure_init_service.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/action/common/configure_init_service.rs b/src/action/common/configure_init_service.rs index bd5685956..a8c8e2eed 100644 --- a/src/action/common/configure_init_service.rs +++ b/src/action/common/configure_init_service.rs @@ -139,7 +139,7 @@ impl Action for ConfigureInitService { #[cfg(target_os = "linux")] InitSystem::Systemd => { let mut explanation = vec![ - "Run `systemd-tempfiles --create --prefix=/nix/var/nix`".to_string(), + "Run `systemd-tmpfiles --create --prefix=/nix/var/nix`".to_string(), format!("Symlink `{SERVICE_SRC}` to `{SERVICE_DEST}`"), format!("Symlink `{SOCKET_SRC}` to `{SOCKET_DEST}`"), "Run `systemctl daemon-reload`".to_string(), From 1fb0dc511617fcc08701083a1fda571d8e076db3 Mon Sep 17 00:00:00 2001 From: Matthew Kenigsberg Date: Fri, 19 Jan 2024 15:07:24 -0700 Subject: [PATCH 36/53] Add --set-home to sudo invocation It is assumed that `dirs::home_dir()` refers to root's home directory. This is used, for example, to setup a root profile with nix-env in `SetupDefaultProfile`. `dirs::home_dir()` is derived from `$HOME`, but on macOS, by default `sudo` does not set `$HOME` to root's home unless `--set-home` is passed. ``` > sudo bash -c 'echo $HOME' /Users/matthew > sudo --set-home bash -c 'echo $HOME' /var/root ``` Pass `--set-home` to the `sudo` invocation so that `$HOME` is always set, regardless of the system's security policy. --- src/cli/mod.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cli/mod.rs b/src/cli/mod.rs index 37ded7302..3738daf50 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -97,10 +97,13 @@ pub fn ensure_root() -> eyre::Result<()> { .dimmed() ); let sudo_cstring = CString::new("sudo").wrap_err("Making C string of `sudo`")?; + let set_home_cstring = + CString::new("--set-home").wrap_err("Making C string of `--set-home`")?; let args = std::env::args(); let mut arg_vec_cstring = vec![]; arg_vec_cstring.push(sudo_cstring.clone()); + arg_vec_cstring.push(set_home_cstring); let mut env_list = vec![]; for (key, value) in std::env::vars() { From cba481b009e3af5add6c268fd2f2d2e5ac5e97d4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 9 Apr 2024 16:54:15 +0200 Subject: [PATCH 37/53] Upgrade to Nix 2.21.2 (#921) --- flake.lock | 20 ++++++++++---------- flake.nix | 2 +- src/settings.rs | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index 21f6e2634..98064aab4 100644 --- a/flake.lock +++ b/flake.lock @@ -94,30 +94,30 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1709808984, - "narHash": "sha256-bfFe38BkoQws7om4gBtBWoNTLkt9piMXdLLoHYl+vBQ=", - "rev": "f8170ce9f119e5e6724eb81ff1b5a2d4c0024000", - "revCount": 16143, + "lastModified": 1712161137, + "narHash": "sha256-ObaVDDPtnOeIE0t7m4OVk5G+OS6d9qYh+ktK67Fe/zE=", + "rev": "355cbc482f33f5b07a6bc0d72be862b1ccdb99dd", + "revCount": 16488, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.20.5/018e199b-ae2c-703d-ab99-4c648be473b2/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nix/2.21.2/018eaedc-df49-7da8-8007-06186938ee08/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/%3D2.20.5.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/%3D2.21.2.tar.gz" } }, "nixpkgs": { "locked": { - "lastModified": 1705033721, - "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "lastModified": 1712329983, + "narHash": "sha256-+7IIMPN7ltWRo5rT9rp9sM8Mp3M7ESxVV/WXQTMkC7M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "rev": "2db3f57a2c420c780704948ffc09f96c7f5ffae8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05-small", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 676807913..44a37deee 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/=2.20.5.tar.gz"; + url = "https://flakehub.com/f/NixOS/nix/=2.21.2.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; diff --git a/src/settings.rs b/src/settings.rs index 6d7de4d8b..82735434d 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -13,19 +13,19 @@ pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-x86_64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-x86_64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-i686-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-i686-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-aarch64-linux.tar.xz"; + "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-aarch64-linux.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-x86_64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-x86_64-darwin.tar.xz"; /// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.20.5/nix-2.20.5-aarch64-darwin.tar.xz"; + "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-aarch64-darwin.tar.xz"; #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] From 1c4976ab465e4e29fa8da497bb8d9304822089fa Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 15 Apr 2024 12:06:05 -0400 Subject: [PATCH 38/53] Support targeting installs to Determinate Nix Enterprise Edition. (#905) * Drop riff support * Relocate the darwin diskutil structs to make room for keychain * Clean up a few warnings * Initial support for Determinate Nix Enterprise * Don't create the org.nixos.darwin-store service under enterprise nix. * Only write out systems.determinate.nix-daemon under nix enterprise * Bump the nix crate from 0.27.0 to 0.28.0 for https://github.com/nix-rust/nix/issues/2304 * Fixup the test fixture for macos * Correct ConfigureInitService on Linux * Fixup fixtures for linux * Use Determinate Nix for macOS to perform the mount during installation. * Force-enable encryption for Nix Enterprise on macOS * fixup * drop extraneous comment * Create a separate CreateNixEnterpriseVolume to simplify CreateNixVolume. * fixup * Relocate the nix-enterprise flag down into the macOS planner, since our planning requires no changes on other targets at the moment. * Fail the install if --nix-enterprise is passed but isn't available * fixup nix_enterprise bits * I hate this. * Rename to be Determinate Nix Enterprise Edition, to be more consistent across tools and products. * Note why we match on enterprise edition in the macos planner for the otherwise no-op enterprise_editition encryption case * fixup * Factor out the enterprise init service setup into its own module * Conditionally import / use EE init service * nit * derp * fixup: too many args to plan * ...derp... --- Cargo.lock | 11 +- Cargo.toml | 8 +- ...nfigure_enterprise_edition_init_service.rs | 188 ++++++++++++ src/action/common/configure_init_service.rs | 52 +++- src/action/common/mod.rs | 4 + .../macos/create_enterprise_edition_volume.rs | 283 ++++++++++++++++++ src/action/macos/create_nix_volume.rs | 26 +- src/action/macos/encrypt_apfs_volume.rs | 85 ++++-- src/action/macos/mod.rs | 2 + src/cli/arg/instrumentation.rs | 2 +- src/cli/subcommand/uninstall.rs | 2 +- src/os/{darwin.rs => darwin/diskutil.rs} | 0 src/os/darwin/mod.rs | 3 + src/planner/macos.rs | 100 +++++-- src/planner/mod.rs | 3 + tests/fixtures/linux/linux.json | 5 +- tests/fixtures/linux/steam-deck.json | 5 +- tests/fixtures/macos/macos.json | 7 +- 18 files changed, 687 insertions(+), 99 deletions(-) create mode 100644 src/action/common/configure_enterprise_edition_init_service.rs create mode 100644 src/action/macos/create_enterprise_edition_volume.rs rename src/os/{darwin.rs => darwin/diskutil.rs} (100%) create mode 100644 src/os/darwin/mod.rs diff --git a/Cargo.lock b/Cargo.lock index fd4b33ff9..3cd9a985d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -182,6 +182,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chrono" version = "0.4.35" @@ -921,12 +927,13 @@ dependencies = [ [[package]] name = "nix" -version = "0.27.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ "bitflags 2.4.2", "cfg-if", + "cfg_aliases", "libc", ] diff --git a/Cargo.toml b/Cargo.toml index ad74a7787..7232c4f3f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,12 +8,6 @@ license = "LGPL-2.1" repository = "https://github.com/DeterminateSystems/nix-installer" documentation = "https://docs.rs/nix-installer/latest/nix_installer" -[package.metadata.riff.targets.aarch64-apple-darwin] -build-inputs = ["darwin.apple_sdk.frameworks.Security"] - -[package.metadata.riff.targets.x86_64-apple-darwin] -build-inputs = ["darwin.apple_sdk.frameworks.Security"] - [features] default = ["cli", "diagnostics"] cli = ["eyre", "color-eyre", "clap", "tracing-subscriber", "tracing-error"] @@ -30,7 +24,7 @@ clap = { version = "4", features = ["std", "color", "usage", "help", "error-cont color-eyre = { version = "0.6.2", default-features = false, features = [ "track-caller", "issue-url", "tracing-error", "capture-spantrace", "color-spantrace" ], optional = true } eyre = { version = "0.6.8", default-features = false, features = [ "track-caller" ], optional = true } glob = { version = "0.3.0", default-features = false } -nix = { version = "0.27.0", default-features = false, features = ["user", "fs", "process", "term"] } +nix = { version = "0.28.0", default-features = false, features = ["user", "fs", "process", "term"] } owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.144", default-features = false, features = [ "std", "derive" ] } diff --git a/src/action/common/configure_enterprise_edition_init_service.rs b/src/action/common/configure_enterprise_edition_init_service.rs new file mode 100644 index 000000000..d4242fbd9 --- /dev/null +++ b/src/action/common/configure_enterprise_edition_init_service.rs @@ -0,0 +1,188 @@ +use std::path::PathBuf; + +#[cfg(target_os = "macos")] +use serde::{Deserialize, Serialize}; +#[cfg(target_os = "macos")] +use tokio::io::AsyncWriteExt; +use tokio::process::Command; +use tracing::{span, Span}; + +use crate::action::{ActionError, ActionErrorKind, ActionTag, StatefulAction}; +use crate::execute_command; + +use crate::action::{Action, ActionDescription}; + +#[cfg(target_os = "macos")] +const DARWIN_ENTERPRISE_EDITION_DAEMON_DEST: &str = + "/Library/LaunchDaemons/systems.determinate.nix-daemon.plist"; +/** +Configure the init to run the Nix daemon +*/ +#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] +pub struct ConfigureEnterpriseEditionInitService { + start_daemon: bool, +} + +impl ConfigureEnterpriseEditionInitService { + #[tracing::instrument(level = "debug", skip_all)] + pub async fn plan(start_daemon: bool) -> Result, ActionError> { + Ok(Self { start_daemon }.into()) + } +} + +#[async_trait::async_trait] +#[typetag::serde(name = "configure_enterprise_edition_init_service")] +impl Action for ConfigureEnterpriseEditionInitService { + fn action_tag() -> ActionTag { + ActionTag("configure_enterprise_edition_init_service") + } + fn tracing_synopsis(&self) -> String { + "Configure the Determinate Nix Enterprise Edition daemon related settings with launchctl" + .to_string() + } + + fn tracing_span(&self) -> Span { + span!( + tracing::Level::DEBUG, + "configure_enterprise_edition_init_service" + ) + } + + fn execute_description(&self) -> Vec { + let mut explanation = vec![format!("Create `{DARWIN_ENTERPRISE_EDITION_DAEMON_DEST}`")]; + if self.start_daemon { + explanation.push(format!( + "Run `launchctl load {DARWIN_ENTERPRISE_EDITION_DAEMON_DEST}`" + )); + } + + vec![ActionDescription::new(self.tracing_synopsis(), explanation)] + } + + #[tracing::instrument(level = "debug", skip_all)] + async fn execute(&mut self) -> Result<(), ActionError> { + let Self { start_daemon } = self; + + let daemon_file = DARWIN_ENTERPRISE_EDITION_DAEMON_DEST; + let domain = "system"; + let service = "systems.determinate.nix-daemon"; + + let generated_plist = generate_plist(); + + let mut options = tokio::fs::OpenOptions::new(); + options.create(true).write(true).read(true); + + let mut file = options + .open(&daemon_file) + .await + .map_err(|e| Self::error(ActionErrorKind::Open(PathBuf::from(daemon_file), e)))?; + + let mut buf = Vec::new(); + plist::to_writer_xml(&mut buf, &generated_plist).map_err(Self::error)?; + file.write_all(&buf) + .await + .map_err(|e| Self::error(ActionErrorKind::Write(PathBuf::from(daemon_file), e)))?; + + execute_command( + Command::new("launchctl") + .process_group(0) + .args(["load", "-w"]) + .arg(daemon_file) + .stdin(std::process::Stdio::null()), + ) + .await + .map_err(Self::error)?; + + let is_disabled = crate::action::macos::service_is_disabled(domain, service) + .await + .map_err(Self::error)?; + if is_disabled { + execute_command( + Command::new("launchctl") + .process_group(0) + .arg("enable") + .arg(&format!("{domain}/{service}")) + .stdin(std::process::Stdio::null()), + ) + .await + .map_err(Self::error)?; + } + + if *start_daemon { + execute_command( + Command::new("launchctl") + .process_group(0) + .arg("kickstart") + .arg("-k") + .arg(&format!("{domain}/{service}")) + .stdin(std::process::Stdio::null()), + ) + .await + .map_err(Self::error)?; + } + + Ok(()) + } + + fn revert_description(&self) -> Vec { + vec![ActionDescription::new( + "Unconfigure Nix daemon related settings with launchctl".to_string(), + vec![format!( + "Run `launchctl unload {DARWIN_ENTERPRISE_EDITION_DAEMON_DEST}`" + )], + )] + } + + #[tracing::instrument(level = "debug", skip_all)] + async fn revert(&mut self) -> Result<(), ActionError> { + execute_command( + Command::new("launchctl") + .process_group(0) + .arg("unload") + .arg(DARWIN_ENTERPRISE_EDITION_DAEMON_DEST), + ) + .await + .map_err(Self::error)?; + + Ok(()) + } +} + +#[non_exhaustive] +#[derive(Debug, thiserror::Error)] +pub enum ConfigureEnterpriseEditionNixDaemonServiceError {} + +#[cfg(target_os = "macos")] +#[derive(Deserialize, Clone, Debug, Serialize, PartialEq)] +#[serde(rename_all = "PascalCase")] +pub struct DeterminateNixDaemonPlist { + label: String, + program: String, + keep_alive: bool, + run_at_load: bool, + standard_error_path: String, + standard_out_path: String, + soft_resource_limits: ResourceLimits, +} + +#[cfg(target_os = "macos")] +#[derive(Deserialize, Clone, Debug, Serialize, PartialEq)] +#[serde(rename_all = "PascalCase")] +pub struct ResourceLimits { + number_of_files: usize, +} + +#[cfg(target_os = "macos")] +fn generate_plist() -> DeterminateNixDaemonPlist { + DeterminateNixDaemonPlist { + keep_alive: true, + run_at_load: true, + label: "systems.determinate.nix-daemon".into(), + program: "/usr/local/bin/determinate-nix-ee".into(), + standard_error_path: "/var/log/determinate-nix-daemon.log".into(), + standard_out_path: "/var/log/determinate-nix-daemon.log".into(), + soft_resource_limits: ResourceLimits { + number_of_files: 1048576, + }, + } +} diff --git a/src/action/common/configure_init_service.rs b/src/action/common/configure_init_service.rs index a8c8e2eed..3abee5436 100644 --- a/src/action/common/configure_init_service.rs +++ b/src/action/common/configure_init_service.rs @@ -1,6 +1,9 @@ #[cfg(target_os = "linux")] use std::path::Path; use std::path::PathBuf; + +#[cfg(target_os = "macos")] +use serde::{Deserialize, Serialize}; use tokio::process::Command; use tracing::{span, Span}; @@ -130,7 +133,7 @@ impl Action for ConfigureInitService { } fn tracing_span(&self) -> Span { - span!(tracing::Level::DEBUG, "configure_init_service",) + span!(tracing::Level::DEBUG, "configure_init_service") } fn execute_description(&self) -> Vec { @@ -152,7 +155,7 @@ impl Action for ConfigureInitService { #[cfg(target_os = "macos")] InitSystem::Launchd => { let mut explanation = vec![format!( - "Copy `{DARWIN_NIX_DAEMON_SOURCE}` to `DARWIN_NIX_DAEMON_DEST`" + "Copy `{DARWIN_NIX_DAEMON_SOURCE}` to `{DARWIN_NIX_DAEMON_DEST}`" )]; if self.start_daemon { explanation.push(format!("Run `launchctl load {DARWIN_NIX_DAEMON_DEST}`")); @@ -172,30 +175,29 @@ impl Action for ConfigureInitService { match init { #[cfg(target_os = "macos")] InitSystem::Launchd => { + let daemon_file = DARWIN_NIX_DAEMON_DEST; + let domain = "system"; + let service = "org.nixos.nix-daemon"; let src = std::path::Path::new(DARWIN_NIX_DAEMON_SOURCE); - tokio::fs::copy(src, DARWIN_NIX_DAEMON_DEST) - .await - .map_err(|e| { - Self::error(ActionErrorKind::Copy( - src.to_path_buf(), - PathBuf::from(DARWIN_NIX_DAEMON_DEST), - e, - )) - })?; + + tokio::fs::copy(src, daemon_file).await.map_err(|e| { + Self::error(ActionErrorKind::Copy( + src.to_path_buf(), + PathBuf::from(daemon_file), + e, + )) + })?; execute_command( Command::new("launchctl") .process_group(0) .args(["load", "-w"]) - .arg(DARWIN_NIX_DAEMON_DEST) + .arg(daemon_file) .stdin(std::process::Stdio::null()), ) .await .map_err(Self::error)?; - let domain = "system"; - let service = "org.nixos.nix-daemon"; - let is_disabled = crate::action::macos::service_is_disabled(domain, service) .await .map_err(Self::error)?; @@ -525,6 +527,26 @@ pub enum ConfigureNixDaemonServiceError { InitNotSupported, } +#[cfg(target_os = "macos")] +#[derive(Deserialize, Clone, Debug, Serialize, PartialEq)] +#[serde(rename_all = "PascalCase")] +pub struct DeterminateNixDaemonPlist { + label: String, + program: String, + keep_alive: bool, + run_at_load: bool, + standard_error_path: String, + standard_out_path: String, + soft_resource_limits: ResourceLimits, +} + +#[cfg(target_os = "macos")] +#[derive(Deserialize, Clone, Debug, Serialize, PartialEq)] +#[serde(rename_all = "PascalCase")] +pub struct ResourceLimits { + number_of_files: usize, +} + #[cfg(target_os = "linux")] async fn stop(unit: &str) -> Result<(), ActionErrorKind> { let mut command = Command::new("systemctl"); diff --git a/src/action/common/mod.rs b/src/action/common/mod.rs index 9ca619835..1bca186cd 100644 --- a/src/action/common/mod.rs +++ b/src/action/common/mod.rs @@ -1,5 +1,7 @@ //! [`Action`](crate::action::Action)s which only call other base plugins +#[cfg(target_os = "macos")] +pub(crate) mod configure_enterprise_edition_init_service; pub(crate) mod configure_init_service; pub(crate) mod configure_nix; pub(crate) mod configure_shell_profile; @@ -9,6 +11,8 @@ pub(crate) mod delete_users; pub(crate) mod place_nix_configuration; pub(crate) mod provision_nix; +#[cfg(target_os = "macos")] +pub use configure_enterprise_edition_init_service::ConfigureEnterpriseEditionInitService; pub use configure_init_service::{ConfigureInitService, ConfigureNixDaemonServiceError}; pub use configure_nix::ConfigureNix; pub use configure_shell_profile::ConfigureShellProfile; diff --git a/src/action/macos/create_enterprise_edition_volume.rs b/src/action/macos/create_enterprise_edition_volume.rs new file mode 100644 index 000000000..2492ac866 --- /dev/null +++ b/src/action/macos/create_enterprise_edition_volume.rs @@ -0,0 +1,283 @@ +use crate::action::{ + base::{create_or_insert_into_file, CreateOrInsertIntoFile}, + macos::{ + CreateApfsVolume, CreateSyntheticObjects, EnableOwnership, EncryptApfsVolume, + UnmountApfsVolume, + }, + Action, ActionDescription, ActionError, ActionErrorKind, ActionTag, StatefulAction, +}; +use std::{ + path::{Path, PathBuf}, + time::Duration, +}; +use tokio::process::Command; +use tracing::{span, Span}; + +use super::create_fstab_entry::CreateFstabEntry; + +/// Create an APFS volume +#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] +pub struct CreateEnterpriseEditionVolume { + disk: PathBuf, + name: String, + case_sensitive: bool, + create_or_append_synthetic_conf: StatefulAction, + create_synthetic_objects: StatefulAction, + unmount_volume: StatefulAction, + create_volume: StatefulAction, + create_fstab_entry: StatefulAction, + encrypt_volume: StatefulAction, + enable_ownership: StatefulAction, +} + +impl CreateEnterpriseEditionVolume { + #[tracing::instrument(level = "debug", skip_all)] + pub async fn plan( + disk: impl AsRef, + name: String, + case_sensitive: bool, + ) -> Result, ActionError> { + let disk = disk.as_ref(); + let create_or_append_synthetic_conf = CreateOrInsertIntoFile::plan( + "/etc/synthetic.conf", + None, + None, + None, + "nix\n".into(), /* The newline is required otherwise it segfaults */ + create_or_insert_into_file::Position::End, + ) + .await + .map_err(Self::error)?; + + let create_synthetic_objects = CreateSyntheticObjects::plan().await.map_err(Self::error)?; + + let unmount_volume = UnmountApfsVolume::plan(disk, name.clone()) + .await + .map_err(Self::error)?; + + let create_volume = CreateApfsVolume::plan(disk, name.clone(), case_sensitive) + .await + .map_err(Self::error)?; + + let create_fstab_entry = CreateFstabEntry::plan(name.clone(), &create_volume) + .await + .map_err(Self::error)?; + + let encrypt_volume = EncryptApfsVolume::plan(true, disk, &name, &create_volume).await?; + + let enable_ownership = EnableOwnership::plan("/nix").await.map_err(Self::error)?; + + Ok(Self { + disk: disk.to_path_buf(), + name, + case_sensitive, + create_or_append_synthetic_conf, + create_synthetic_objects, + unmount_volume, + create_volume, + create_fstab_entry, + encrypt_volume, + enable_ownership, + } + .into()) + } +} + +#[async_trait::async_trait] +#[typetag::serde(name = "create_apfs_enterprise_volume")] +impl Action for CreateEnterpriseEditionVolume { + fn action_tag() -> ActionTag { + ActionTag("create_enterprise_edition_volume") + } + fn tracing_synopsis(&self) -> String { + format!( + "Create an encrypted APFS volume `{name}` for Nix on `{disk}` and add it to `/etc/fstab` mounting on `/nix`", + name = self.name, + disk = self.disk.display(), + ) + } + + fn tracing_span(&self) -> Span { + span!( + tracing::Level::DEBUG, + "create_apfs_volume", + disk = tracing::field::display(self.disk.display()), + name = self.name + ) + } + + fn execute_description(&self) -> Vec { + let explanation = vec![ + self.create_or_append_synthetic_conf.tracing_synopsis(), + self.create_synthetic_objects.tracing_synopsis(), + self.unmount_volume.tracing_synopsis(), + self.create_volume.tracing_synopsis(), + self.create_fstab_entry.tracing_synopsis(), + self.encrypt_volume.tracing_synopsis(), + self.enable_ownership.tracing_synopsis(), + ]; + + vec![ActionDescription::new(self.tracing_synopsis(), explanation)] + } + + #[tracing::instrument(level = "debug", skip_all)] + async fn execute(&mut self) -> Result<(), ActionError> { + self.create_or_append_synthetic_conf + .try_execute() + .await + .map_err(Self::error)?; + self.create_synthetic_objects + .try_execute() + .await + .map_err(Self::error)?; + self.unmount_volume.try_execute().await.ok(); // We actually expect this may fail. + self.create_volume + .try_execute() + .await + .map_err(Self::error)?; + + let mut retry_tokens: usize = 50; + loop { + let mut command = Command::new("/usr/sbin/diskutil"); + command.args(["info", "-plist"]); + command.arg(&self.name); + command.stderr(std::process::Stdio::null()); + command.stdout(std::process::Stdio::null()); + tracing::trace!(%retry_tokens, command = ?command.as_std(), "Checking for Nix Store volume existence"); + let output = command + .output() + .await + .map_err(|e| ActionErrorKind::command(&command, e)) + .map_err(Self::error)?; + if output.status.success() { + break; + } else if retry_tokens == 0 { + return Err(Self::error(ActionErrorKind::command_output( + &command, output, + ))); + } else { + retry_tokens = retry_tokens.saturating_sub(1); + } + tokio::time::sleep(Duration::from_millis(100)).await; + } + + self.create_fstab_entry + .try_execute() + .await + .map_err(Self::error)?; + + self.encrypt_volume + .try_execute() + .await + .map_err(Self::error)?; + + let mut command = Command::new("/usr/local/bin/determinate-nix-ee"); + command.args(["--stop-after", "mount"]); + command.stderr(std::process::Stdio::piped()); + command.stdout(std::process::Stdio::piped()); + tracing::trace!(command = ?command.as_std(), "Mounting /nix"); + let output = command + .output() + .await + .map_err(|e| ActionErrorKind::command(&command, e)) + .map_err(Self::error)?; + if !output.status.success() { + return Err(Self::error(ActionErrorKind::command_output( + &command, output, + ))); + } + + let mut retry_tokens: usize = 50; + loop { + let mut command = Command::new("/usr/sbin/diskutil"); + command.args(["info", "/nix"]); + command.stderr(std::process::Stdio::null()); + command.stdout(std::process::Stdio::null()); + tracing::trace!(%retry_tokens, command = ?command.as_std(), "Checking for Nix Store mount path existence"); + let output = command + .output() + .await + .map_err(|e| ActionErrorKind::command(&command, e)) + .map_err(Self::error)?; + if output.status.success() { + break; + } else if retry_tokens == 0 { + return Err(Self::error(ActionErrorKind::command_output( + &command, output, + ))); + } else { + retry_tokens = retry_tokens.saturating_sub(1); + } + tokio::time::sleep(Duration::from_millis(100)).await; + } + + self.enable_ownership + .try_execute() + .await + .map_err(Self::error)?; + + Ok(()) + } + + fn revert_description(&self) -> Vec { + let explanation = vec![ + self.create_or_append_synthetic_conf.tracing_synopsis(), + self.create_synthetic_objects.tracing_synopsis(), + self.unmount_volume.tracing_synopsis(), + self.create_volume.tracing_synopsis(), + self.create_fstab_entry.tracing_synopsis(), + self.encrypt_volume.tracing_synopsis(), + self.enable_ownership.tracing_synopsis(), + ]; + + vec![ActionDescription::new( + format!( + "Remove the APFS volume `{}` on `{}`", + self.name, + self.disk.display() + ), + explanation, + )] + } + + #[tracing::instrument(level = "debug", skip_all)] + async fn revert(&mut self) -> Result<(), ActionError> { + let mut errors = vec![]; + + if let Err(err) = self.enable_ownership.try_revert().await { + errors.push(err) + }; + if let Err(err) = self.encrypt_volume.try_revert().await { + errors.push(err) + } + if let Err(err) = self.create_fstab_entry.try_revert().await { + errors.push(err) + } + + if let Err(err) = self.unmount_volume.try_revert().await { + errors.push(err) + } + if let Err(err) = self.create_volume.try_revert().await { + errors.push(err) + } + + // Purposefully not reversed + if let Err(err) = self.create_or_append_synthetic_conf.try_revert().await { + errors.push(err) + } + if let Err(err) = self.create_synthetic_objects.try_revert().await { + errors.push(err) + } + + if errors.is_empty() { + Ok(()) + } else if errors.len() == 1 { + Err(errors + .into_iter() + .next() + .expect("Expected 1 len Vec to have at least 1 item")) + } else { + Err(Self::error(ActionErrorKind::MultipleChildren(errors))) + } + } +} diff --git a/src/action/macos/create_nix_volume.rs b/src/action/macos/create_nix_volume.rs index 9c4fec5b1..e629a39d7 100644 --- a/src/action/macos/create_nix_volume.rs +++ b/src/action/macos/create_nix_volume.rs @@ -71,7 +71,7 @@ impl CreateNixVolume { .map_err(Self::error)?; let encrypt_volume = if encrypt { - Some(EncryptApfsVolume::plan(disk, &name, &create_volume).await?) + Some(EncryptApfsVolume::plan(false, disk, &name, &create_volume).await?) } else { None }; @@ -154,11 +154,9 @@ impl Action for CreateNixVolume { if let Some(encrypt_volume) = &self.encrypt_volume { explanation.push(encrypt_volume.tracing_synopsis()); } - explanation.append(&mut vec![ - self.setup_volume_daemon.tracing_synopsis(), - self.bootstrap_volume.tracing_synopsis(), - self.enable_ownership.tracing_synopsis(), - ]); + explanation.push(self.setup_volume_daemon.tracing_synopsis()); + explanation.push(self.bootstrap_volume.tracing_synopsis()); + explanation.push(self.enable_ownership.tracing_synopsis()); vec![ActionDescription::new(self.tracing_synopsis(), explanation)] } @@ -220,6 +218,7 @@ impl Action for CreateNixVolume { .try_execute() .await .map_err(Self::error)?; + self.kickstart_launchctl_service .try_execute() .await @@ -268,11 +267,9 @@ impl Action for CreateNixVolume { if let Some(encrypt_volume) = &self.encrypt_volume { explanation.push(encrypt_volume.tracing_synopsis()); } - explanation.append(&mut vec![ - self.setup_volume_daemon.tracing_synopsis(), - self.bootstrap_volume.tracing_synopsis(), - self.enable_ownership.tracing_synopsis(), - ]); + explanation.push(self.setup_volume_daemon.tracing_synopsis()); + explanation.push(self.bootstrap_volume.tracing_synopsis()); + explanation.push(self.enable_ownership.tracing_synopsis()); vec![ActionDescription::new( format!( @@ -293,13 +290,14 @@ impl Action for CreateNixVolume { }; if let Err(err) = self.kickstart_launchctl_service.try_revert().await { errors.push(err) - }; + } if let Err(err) = self.bootstrap_volume.try_revert().await { errors.push(err) - }; + } if let Err(err) = self.setup_volume_daemon.try_revert().await { errors.push(err) - }; + } + if let Some(encrypt_volume) = &mut self.encrypt_volume { if let Err(err) = encrypt_volume.try_revert().await { errors.push(err) diff --git a/src/action/macos/encrypt_apfs_volume.rs b/src/action/macos/encrypt_apfs_volume.rs index 78b8f005e..aa2f60ae9 100644 --- a/src/action/macos/encrypt_apfs_volume.rs +++ b/src/action/macos/encrypt_apfs_volume.rs @@ -21,6 +21,7 @@ Encrypt an APFS volume */ #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct EncryptApfsVolume { + enterprise_edition: bool, disk: PathBuf, name: String, } @@ -28,6 +29,7 @@ pub struct EncryptApfsVolume { impl EncryptApfsVolume { #[tracing::instrument(level = "debug", skip_all)] pub async fn plan( + enterprise_edition: bool, disk: impl AsRef, name: impl AsRef, planned_create_apfs_volume: &StatefulAction, @@ -57,7 +59,11 @@ impl EncryptApfsVolume { // The user has a password matching what we would create. if planned_create_apfs_volume.state == ActionState::Completed { // We detected a created volume already, and a password exists, so we can keep using that and skip doing anything - return Ok(StatefulAction::completed(Self { name, disk })); + return Ok(StatefulAction::completed(Self { + enterprise_edition, + name, + disk, + })); } // Ask the user to remove it @@ -87,13 +93,21 @@ impl EncryptApfsVolume { EncryptApfsVolumeError::ExistingVolumeNotEncrypted(name, disk), )); } else { - return Ok(StatefulAction::completed(Self { disk, name })); + return Ok(StatefulAction::completed(Self { + enterprise_edition, + disk, + name, + })); } } } } - Ok(StatefulAction::uncompleted(Self { name, disk })) + Ok(StatefulAction::uncompleted(Self { + enterprise_edition, + name, + disk, + })) } } @@ -127,7 +141,11 @@ impl Action for EncryptApfsVolume { disk = %self.disk.display(), ))] async fn execute(&mut self) -> Result<(), ActionError> { - let Self { disk, name } = self; + let Self { + enterprise_edition, + disk, + name, + } = self; // Generate a random password. let password: String = { @@ -152,35 +170,38 @@ impl Action for EncryptApfsVolume { .map_err(Self::error)?; // Add the password to the user keychain so they can unlock it later. - execute_command( - Command::new("/usr/bin/security").process_group(0).args([ - "add-generic-password", - "-a", - name.as_str(), - "-s", - "Nix Store", - "-l", - format!("{} encryption password", disk_str).as_str(), - "-D", - "Encrypted volume password", - "-j", - format!( - "Added automatically by the Nix installer for use by {NIX_VOLUME_MOUNTD_DEST}" - ) + let mut cmd = Command::new("/usr/bin/security"); + cmd.process_group(0).args([ + "add-generic-password", + "-a", + name.as_str(), + "-s", + "Nix Store", + "-l", + format!("{} encryption password", disk_str).as_str(), + "-D", + "Encrypted volume password", + "-j", + format!("Added automatically by the Nix installer for use by {NIX_VOLUME_MOUNTD_DEST}") .as_str(), - "-w", - password.as_str(), - "-T", - "/System/Library/CoreServices/APFSUserAgent", - "-T", - "/System/Library/CoreServices/CSUserAgent", - "-T", - "/usr/bin/security", - "/Library/Keychains/System.keychain", - ]), - ) - .await - .map_err(Self::error)?; + "-w", + password.as_str(), + "-T", + "/System/Library/CoreServices/APFSUserAgent", + "-T", + "/System/Library/CoreServices/CSUserAgent", + "-T", + "/usr/bin/security", + ]); + + if *enterprise_edition { + cmd.args(["-T", "/usr/local/bin/determinate-nix-ee"]); + } + + cmd.arg("/Library/Keychains/System.keychain"); + + // Add the password to the user keychain so they can unlock it later. + execute_command(&mut cmd).await.map_err(Self::error)?; // Encrypt the mounted volume execute_command(Command::new("/usr/sbin/diskutil").process_group(0).args([ diff --git a/src/action/macos/mod.rs b/src/action/macos/mod.rs index 7ad01fb90..e5c12fc35 100644 --- a/src/action/macos/mod.rs +++ b/src/action/macos/mod.rs @@ -4,6 +4,7 @@ pub(crate) mod bootstrap_launchctl_service; pub(crate) mod configure_remote_building; pub(crate) mod create_apfs_volume; +pub(crate) mod create_enterprise_edition_volume; pub(crate) mod create_fstab_entry; pub(crate) mod create_nix_hook_service; pub(crate) mod create_nix_volume; @@ -19,6 +20,7 @@ pub(crate) mod unmount_apfs_volume; pub use bootstrap_launchctl_service::BootstrapLaunchctlService; pub use configure_remote_building::ConfigureRemoteBuilding; pub use create_apfs_volume::CreateApfsVolume; +pub use create_enterprise_edition_volume::CreateEnterpriseEditionVolume; pub use create_nix_hook_service::CreateNixHookService; pub use create_nix_volume::{CreateNixVolume, NIX_VOLUME_MOUNTD_DEST}; pub use create_synthetic_objects::CreateSyntheticObjects; diff --git a/src/cli/arg/instrumentation.rs b/src/cli/arg/instrumentation.rs index 9a177b8bd..d4ecf652a 100644 --- a/src/cli/arg/instrumentation.rs +++ b/src/cli/arg/instrumentation.rs @@ -137,7 +137,7 @@ impl Instrumentation { _ => return Err(e).wrap_err_with(|| "parsing RUST_LOG directives"), } } - EnvFilter::try_new(&format!( + EnvFilter::try_new(format!( "{}={}", env!("CARGO_PKG_NAME").replace('-', "_"), self.log_level() diff --git a/src/cli/subcommand/uninstall.rs b/src/cli/subcommand/uninstall.rs index 158fa0db4..6237a9463 100644 --- a/src/cli/subcommand/uninstall.rs +++ b/src/cli/subcommand/uninstall.rs @@ -90,7 +90,7 @@ impl CommandExecute for Uninstall { }) .collect() }; - let temp_exe = temp.join(&format!("nix-installer-{random_trailer}")); + let temp_exe = temp.join(format!("nix-installer-{random_trailer}")); tokio::fs::copy(¤t_exe, &temp_exe) .await .wrap_err("Copying nix-installer to tempdir")?; diff --git a/src/os/darwin.rs b/src/os/darwin/diskutil.rs similarity index 100% rename from src/os/darwin.rs rename to src/os/darwin/diskutil.rs diff --git a/src/os/darwin/mod.rs b/src/os/darwin/mod.rs new file mode 100644 index 000000000..4f9e3f8aa --- /dev/null +++ b/src/os/darwin/mod.rs @@ -0,0 +1,3 @@ +pub mod diskutil; + +pub use diskutil::{DiskUtilApfsListOutput, DiskUtilInfoOutput}; diff --git a/src/planner/macos.rs b/src/planner/macos.rs index 347e4bb32..bb287b732 100644 --- a/src/planner/macos.rs +++ b/src/planner/macos.rs @@ -13,7 +13,8 @@ use crate::{ base::RemoveDirectory, common::{ConfigureInitService, ConfigureNix, CreateUsersAndGroups, ProvisionNix}, macos::{ - ConfigureRemoteBuilding, CreateNixHookService, CreateNixVolume, SetTmutilExclusions, + ConfigureRemoteBuilding, CreateEnterpriseEditionVolume, CreateNixHookService, + CreateNixVolume, SetTmutilExclusions, }, StatefulAction, }, @@ -25,6 +26,9 @@ use crate::{ Action, BuiltinPlanner, }; +#[cfg(target_os = "macos")] +use crate::action::common::ConfigureEnterpriseEditionInitService; + /// A planner for MacOS (Darwin) systems #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] #[cfg_attr(feature = "cli", derive(clap::Parser))] @@ -54,6 +58,16 @@ pub struct Macos { ) )] pub case_sensitive: bool, + /// Enable Determinate Nix Enterprise Edition. See: https://determinate.systems/enterprise + #[cfg_attr( + feature = "cli", + clap( + long, + env = "NIX_INSTALLER_ENTERPRISE_EDITION", + default_value = "false" + ) + )] + pub enterprise_edition: bool, /// The label for the created APFS volume #[cfg_attr( feature = "cli", @@ -88,6 +102,7 @@ impl Planner for Macos { root_disk: Some(default_root_disk().await?), case_sensitive: false, encrypt: None, + enterprise_edition: false, volume_label: "Nix Store".into(), }) } @@ -110,9 +125,13 @@ impl Planner for Macos { }, }; - let encrypt = match self.encrypt { - Some(choice) => choice, - None => { + // The encrypt variable isn't used in the enterprise edition since we have our own plan step for it, + // however this match accounts for enterprise edition so the receipt indicates encrypt: true. + // This is a goofy thing to do, but it is in an attempt to make a more globally coherent plan / receipt. + let encrypt = match (self.enterprise_edition, self.encrypt) { + (true, _) => true, + (false, Some(choice)) => choice, + (false, None) => { let output = Command::new("/usr/bin/fdesetup") .arg("isactive") .stdout(std::process::Stdio::null()) @@ -131,17 +150,31 @@ impl Planner for Macos { let mut plan = vec![]; - plan.push( - CreateNixVolume::plan( - root_disk.unwrap(), /* We just ensured it was populated */ - self.volume_label.clone(), - self.case_sensitive, - encrypt, - ) - .await - .map_err(PlannerError::Action)? - .boxed(), - ); + if self.enterprise_edition { + plan.push( + CreateEnterpriseEditionVolume::plan( + root_disk.unwrap(), /* We just ensured it was populated */ + self.volume_label.clone(), + self.case_sensitive, + ) + .await + .map_err(PlannerError::Action)? + .boxed(), + ); + } else { + plan.push( + CreateNixVolume::plan( + root_disk.unwrap(), /* We just ensured it was populated */ + self.volume_label.clone(), + self.case_sensitive, + encrypt, + ) + .await + .map_err(PlannerError::Action)? + .boxed(), + ); + } + plan.push( ProvisionNix::plan(&self.settings) .await @@ -184,12 +217,21 @@ impl Planner for Macos { ); } - plan.push( - ConfigureInitService::plan(InitSystem::Launchd, true) - .await - .map_err(PlannerError::Action)? - .boxed(), - ); + if self.enterprise_edition { + plan.push( + ConfigureEnterpriseEditionInitService::plan(true) + .await + .map_err(PlannerError::Action)? + .boxed(), + ); + } else { + plan.push( + ConfigureInitService::plan(InitSystem::Launchd, true) + .await + .map_err(PlannerError::Action)? + .boxed(), + ); + } plan.push( RemoveDirectory::plan(crate::settings::SCRATCH_DIR) .await @@ -204,6 +246,7 @@ impl Planner for Macos { let Self { settings, encrypt, + enterprise_edition, volume_label, case_sensitive, root_disk, @@ -211,6 +254,10 @@ impl Planner for Macos { let mut map = HashMap::default(); map.extend(settings.settings()?); + map.insert( + "enterprise_edition".into(), + serde_json::to_value(enterprise_edition)?, + ); map.insert("volume_encrypt".into(), serde_json::to_value(encrypt)?); map.insert("volume_label".into(), serde_json::to_value(volume_label)?); map.insert("root_disk".into(), serde_json::to_value(root_disk)?); @@ -260,6 +307,9 @@ impl Planner for Macos { async fn pre_install_check(&self) -> Result<(), PlannerError> { check_not_running_in_rosetta()?; + if self.enterprise_edition { + check_enterprise_edition_available().await?; + } Ok(()) } @@ -314,6 +364,14 @@ fn check_not_running_in_rosetta() -> Result<(), PlannerError> { Ok(()) } +async fn check_enterprise_edition_available() -> Result<(), PlannerError> { + tokio::fs::metadata("/usr/local/bin/determinate-nix-ee") + .await + .map_err(|_| PlannerError::EnterpriseEditionUnavailable)?; + + Ok(()) +} + #[non_exhaustive] #[derive(thiserror::Error, Debug)] pub enum MacosError { diff --git a/src/planner/mod.rs b/src/planner/mod.rs index 97e72503f..3d7765453 100644 --- a/src/planner/mod.rs +++ b/src/planner/mod.rs @@ -415,6 +415,8 @@ pub enum PlannerError { Sysctl(#[from] sysctl::SysctlError), #[error("Detected that this process is running under Rosetta, using Nix in Rosetta is not supported (Please open an issue with your use case)")] RosettaDetected, + #[error("Determinate Nix Enterprise Edition is not available. See: https://determinate.systems/enterprise")] + EnterpriseEditionUnavailable, /// A Linux SELinux related error #[error("Unable to install on an SELinux system without common SELinux tooling, the binaries `restorecon`, and `semodule` are required")] SelinuxRequirements, @@ -447,6 +449,7 @@ impl HasExpectedErrors for PlannerError { PlannerError::Plist(_) => None, PlannerError::Sysctl(_) => None, this @ PlannerError::RosettaDetected => Some(Box::new(this)), + this @ PlannerError::EnterpriseEditionUnavailable => Some(Box::new(this)), PlannerError::OsRelease(_) => None, PlannerError::Utf8(_) => None, PlannerError::SelinuxRequirements => Some(Box::new(self)), diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index e30c6e5e7..fad76419c 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -388,7 +388,8 @@ "action": "configure_init_service", "init": "Systemd", "start_daemon": true, - "ssl_cert_file": null + "ssl_cert_file": null, + "enterprise_edition": false }, "state": "Uncompleted" }, @@ -435,4 +436,4 @@ "ssl_cert_file": null, "failure_chain": null } -} +} \ No newline at end of file diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index 311ab87bb..5b21dc1d5 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -363,7 +363,8 @@ "action": "configure_init_service", "init": "Systemd", "start_daemon": true, - "ssl_cert_file": null + "ssl_cert_file": null, + "enterprise_edition": false }, "state": "Uncompleted" }, @@ -415,4 +416,4 @@ "ssl_cert_file": null, "failure_chain": null } -} +} \ No newline at end of file diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 6efbfe26f..8e96b65d0 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -8,6 +8,7 @@ "name": "Nix Store", "case_sensitive": false, "encrypt": false, + "enterprise_edition": false, "create_or_append_synthetic_conf": { "action": { "path": "/etc/synthetic.conf", @@ -399,7 +400,8 @@ "action": "configure_init_service", "init": "Launchd", "start_daemon": true, - "ssl_cert_file": null + "ssl_cert_file": null, + "enterprise_edition": false }, "state": "Uncompleted" }, @@ -429,6 +431,7 @@ "force": false, "diagnostic_endpoint": "https://install.determinate.systems/nix/diagnostic" }, + "enterprise_edition": false, "encrypt": null, "case_sensitive": false, "volume_label": "Nix Store", @@ -446,4 +449,4 @@ "ssl_cert_file": null, "failure_chain": null } -} +} \ No newline at end of file From 60458abed0cac3eaa03627ae7db42e688ab5093b Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 15 Apr 2024 09:40:21 -0700 Subject: [PATCH 39/53] Move all CI to GitHub Actions (#923) * .buildkite: rm As awesome as Buildkite is, it is unfortunately not useful for this setup: * We use Buildkite to build installer binaries * We then use GitHub Actions to run the installer binaries on a host without Nix already installed We don't use Buildkite for both steps because setting up agents to install Nix on would be a pain, as erasing everything takes a while. This is preparation for using GitHub Actions for everything in our CI pipeline, as it is much faster and we don't need to worry about keeping the runners running ourselves (there have been times where our Buildkite agents were unreachable for some reason or another). * ci: build test Nix binaries in GHA * ci: use same runner version as build steps * ci: factor out build steps into composable workflows So that when I go to fix the releases action, it will be easier to reuse. * release-prs: fix and build twice :/ There are no GitHub Actions that make it easy to wait for another workflow to complete :/ * release-branches: fix * release-tags: fix * release-prs: do the label check everywhere * release-*: fixup cache key * release-*: re-enable * fixup: add i686-linux builds --- .buildkite/pipeline.yml | 51 -------- .github/workflows/build-aarch64-darwin.yml | 29 +++++ .github/workflows/build-aarch64-linux.yml | 29 +++++ .github/workflows/build-x86_64-darwin.yml | 29 +++++ .github/workflows/build-x86_64-linux.yml | 29 +++++ .github/workflows/ci.yml | 63 ++++------ .github/workflows/release-branches.yml | 77 +++++++++++- .github/workflows/release-prs.yml | 133 +++++++++++++++++++-- .github/workflows/release-tags.yml | 77 +++++++++++- 9 files changed, 408 insertions(+), 109 deletions(-) delete mode 100644 .buildkite/pipeline.yml create mode 100644 .github/workflows/build-aarch64-darwin.yml create mode 100644 .github/workflows/build-aarch64-linux.yml create mode 100644 .github/workflows/build-x86_64-darwin.yml create mode 100644 .github/workflows/build-x86_64-linux.yml diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml deleted file mode 100644 index db9c9cad9..000000000 --- a/.buildkite/pipeline.yml +++ /dev/null @@ -1,51 +0,0 @@ -steps: - - label: nix-installer-x86_64-darwin - agents: - mac: 1 - system: x86_64-darwin - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" build .#packages.x86_64-darwin.nix-installer -L - - cp result/bin/nix-installer ./nix-installer-x86_64-darwin - - buildkite-agent artifact upload nix-installer-x86_64-darwin - - label: nix-installer-aarch64-darwin - agents: - mac: 1 - system: aarch64-darwin - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" build .#packages.aarch64-darwin.nix-installer -L - - cp result/bin/nix-installer ./nix-installer-aarch64-darwin - - buildkite-agent artifact upload nix-installer-aarch64-darwin - - label: nix-installer-x86_64-linux - agents: - system: x86_64-linux - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" build .#packages.x86_64-linux.nix-installer-static -L - - cp result/bin/nix-installer ./nix-installer-x86_64-linux - - buildkite-agent artifact upload nix-installer-x86_64-linux - - label: nix-installer-x86_64-linux-variants - agents: - system: x86_64-linux - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" develop --store ~/.ci-store --print-build-logs .# --command "cargo" build --no-default-features - - nix --extra-experimental-features "nix-command flakes" develop --store ~/.ci-store --print-build-logs .# --command "cargo" build --all-features - - nix --extra-experimental-features "nix-command flakes" build --store ~/.ci-store --print-build-logs .#packages.x86_64-linux.nix-installer - - label: nix-installer-i686-linux - agents: - system: x86_64-linux - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" build .#packages.i686-linux.nix-installer-static -L - - cp result/bin/nix-installer ./nix-installer-i686-linux - - buildkite-agent artifact upload nix-installer-i686-linux - - label: nix-installer-aarch64-linux - agents: - system: aarch64-linux - nix: 1 - command: - - nix --extra-experimental-features "nix-command flakes" build .#packages.aarch64-linux.nix-installer-static -L - - cp result/bin/nix-installer ./nix-installer-aarch64-linux - - buildkite-agent artifact upload nix-installer-aarch64-linux diff --git a/.github/workflows/build-aarch64-darwin.yml b/.github/workflows/build-aarch64-darwin.yml new file mode 100644 index 000000000..bd223900f --- /dev/null +++ b/.github/workflows/build-aarch64-darwin.yml @@ -0,0 +1,29 @@ +name: Build aarch64 Darwin + +on: + workflow_call: + inputs: + cache-key: + type: string + required: false + default: aarch64-darwin-artifacts-${{ github.sha }} + +jobs: + build-aarch64-darwin: + name: Build aarch64 Darwin + runs-on: macos-latest-xlarge + concurrency: ${{ inputs.cache-key }} + steps: + - uses: actions/checkout@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the installer + run: | + nix build .#packages.aarch64-darwin.nix-installer -L + cp result/bin/nix-installer . + - name: Create GitHub cache from build artifacts + uses: actions/cache/save@v3 + with: + path: nix-installer + key: ${{ inputs.cache-key }} diff --git a/.github/workflows/build-aarch64-linux.yml b/.github/workflows/build-aarch64-linux.yml new file mode 100644 index 000000000..f75f41803 --- /dev/null +++ b/.github/workflows/build-aarch64-linux.yml @@ -0,0 +1,29 @@ +name: Build aarch64 Linux (static) + +on: + workflow_call: + inputs: + cache-key: + type: string + required: false + default: aarch64-linux-artifacts-${{ github.sha }} + +jobs: + build-aarch64-linux: + name: Build aarch64 Linux (static) + runs-on: namespace-profile-default-arm64 + concurrency: ${{ inputs.cache-key }} + steps: + - uses: actions/checkout@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the installer + run: | + nix build .#packages.aarch64-linux.nix-installer-static -L + cp result/bin/nix-installer . + - name: Create GitHub cache from build artifacts + uses: actions/cache/save@v3 + with: + path: nix-installer + key: ${{ inputs.cache-key }} diff --git a/.github/workflows/build-x86_64-darwin.yml b/.github/workflows/build-x86_64-darwin.yml new file mode 100644 index 000000000..253900f54 --- /dev/null +++ b/.github/workflows/build-x86_64-darwin.yml @@ -0,0 +1,29 @@ +name: Build x86_64 Darwin + +on: + workflow_call: + inputs: + cache-key: + type: string + required: false + default: x86_64-darwin-artifacts-${{ github.sha }} + +jobs: + build-x86_64-darwin: + name: Build x86_64 Darwin + runs-on: macos-latest-large + concurrency: ${{ inputs.cache-key }} + steps: + - uses: actions/checkout@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the installer + run: | + nix build .#packages.x86_64-darwin.nix-installer -L + cp result/bin/nix-installer . + - name: Create GitHub cache from build artifacts + uses: actions/cache/save@v3 + with: + path: nix-installer + key: ${{ inputs.cache-key }} diff --git a/.github/workflows/build-x86_64-linux.yml b/.github/workflows/build-x86_64-linux.yml new file mode 100644 index 000000000..24a5dbcaa --- /dev/null +++ b/.github/workflows/build-x86_64-linux.yml @@ -0,0 +1,29 @@ +name: Build x86_64 Linux (static) + +on: + workflow_call: + inputs: + cache-key: + type: string + required: false + default: x86_64-linux-artifacts-${{ github.sha }} + +jobs: + build-x86_64-linux: + name: Build x86_64 Linux (static) + runs-on: UbuntuLatest32Cores128G + concurrency: ${{ inputs.cache-key }} + steps: + - uses: actions/checkout@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the installer + run: | + nix build .#packages.x86_64-linux.nix-installer-static -L + cp result/bin/nix-installer . + - name: Create GitHub cache from build artifacts + uses: actions/cache/save@v3 + with: + path: nix-installer + key: ${{ inputs.cache-key }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 683e4e1e6..fa5d851ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,9 +6,15 @@ on: branches: [main] jobs: + build-x86_64-linux: + uses: ./.github/workflows/build-x86_64-linux.yml + + build-x86_64-darwin: + uses: ./.github/workflows/build-x86_64-darwin.yml + lints: name: Lints - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Check Nixpkgs input @@ -29,42 +35,25 @@ jobs: run: nix develop --command check-nixpkgs-fmt - name: Check EditorConfig conformance run: nix develop --command check-editorconfig - - name: Download Buildkite Artifacts - uses: EnricoMi/download-buildkite-artifact-action@v1.14 - with: - buildkite_token: ${{ secrets.BUILDKITE_TOKEN }} - output_path: artifacts - - name: Output list of Buildkite artifacts - run: | - ls -lah artifacts/ - ls -lah artifacts/**/* - # Mac's can't run this action, so we're forced to do this. - - name: Create Github cache from Buildkite artifacts - id: cache-buildkite-artifacts - uses: actions/cache/save@v3 - with: - path: artifacts - key: buildkite-artifacts-${{ github.sha }} run-x86_64-linux: name: Run x86_64 Linux - runs-on: ubuntu-22.04 - needs: [lints] + runs-on: ubuntu-latest + needs: [lints, build-x86_64-linux] steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts - id: cache-buildkite-artifacts uses: actions/cache/restore@v3 with: - path: artifacts - key: buildkite-artifacts-${{ github.sha }} - - run: sudo apt install fish zsh + path: nix-installer + key: x86_64-linux-artifacts-${{ github.sha }} - name: Move & set executable run: | mkdir install-root cp nix-installer.sh install-root/nix-installer.sh - mv ./artifacts/nix-installer-x86_64-linux-*/* install-root/nix-installer-x86_64-linux + mv ./nix-installer install-root/nix-installer-x86_64-linux chmod +x install-root/nix-installer-x86_64-linux install-root/nix-installer.sh + - run: sudo apt install fish zsh - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: @@ -152,23 +141,22 @@ jobs: run-x86_64-linux-no-init: name: Run x86_64 Linux (No init) - runs-on: ubuntu-22.04 - needs: [lints] + runs-on: ubuntu-latest + needs: [lints, build-x86_64-linux] steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts - id: cache-buildkite-artifacts uses: actions/cache/restore@v3 with: - path: artifacts - key: buildkite-artifacts-${{ github.sha }} - - run: sudo apt install fish zsh + path: nix-installer + key: x86_64-linux-artifacts-${{ github.sha }} - name: Move & set executable run: | mkdir install-root cp nix-installer.sh install-root/nix-installer.sh - mv ./artifacts/nix-installer-x86_64-linux-*/* install-root/nix-installer-x86_64-linux + mv ./nix-installer install-root/nix-installer-x86_64-linux chmod +x install-root/nix-installer-x86_64-linux install-root/nix-installer.sh + - run: sudo apt install fish zsh - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: @@ -262,23 +250,22 @@ jobs: run-x86_64-darwin: name: Run x86_64 Darwin - runs-on: macos-12 - needs: [lints] + runs-on: macos-latest + needs: [lints, build-x86_64-darwin] steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts - id: cache-buildkite-artifacts uses: actions/cache/restore@v3 with: - path: artifacts - key: buildkite-artifacts-${{ github.sha }} - - run: brew install fish coreutils + path: nix-installer + key: x86_64-darwin-artifacts-${{ github.sha }} - name: Move & set executable run: | mkdir install-root cp nix-installer.sh install-root/nix-installer.sh - mv ./artifacts/nix-installer-x86_64-darwin-*/* install-root/nix-installer-x86_64-darwin + mv ./nix-installer install-root/nix-installer-x86_64-darwin chmod +x install-root/nix-installer-x86_64-darwin install-root/nix-installer.sh + - run: brew install fish coreutils - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: diff --git a/.github/workflows/release-branches.yml b/.github/workflows/release-branches.yml index 34771ea4c..312369a1b 100644 --- a/.github/workflows/release-branches.yml +++ b/.github/workflows/release-branches.yml @@ -1,5 +1,8 @@ name: Release Branch +concurrency: + group: release + on: push: branches: @@ -8,19 +11,83 @@ on: - 'main' jobs: + build-x86_64-linux: + uses: ./.github/workflows/build-x86_64-linux.yml + with: + cache-key: release-x86_64-linux-artifacts-${{ github.sha }} + build-i686-linux: + uses: ./.github/workflows/build-i686-linux.yml + with: + cache-key: release-i686-linux-artifacts-${{ github.sha }} + build-aarch64-linux: + uses: ./.github/workflows/build-aarch64-linux.yml + with: + cache-key: release-aarch64-linux-artifacts-${{ github.sha }} + build-x86_64-darwin: + uses: ./.github/workflows/build-x86_64-darwin.yml + with: + cache-key: release-x86_64-darwin-artifacts-${{ github.sha }} + build-aarch64-darwin: + uses: ./.github/workflows/build-aarch64-darwin.yml + with: + cache-key: release-aarch64-darwin-artifacts-${{ github.sha }} + release: - concurrency: release runs-on: ubuntu-latest permissions: id-token: write # In order to request a JWT for AWS auth + needs: + - build-x86_64-linux + - build-i686-linux + - build-aarch64-linux + - build-x86_64-darwin + - build-aarch64-darwin steps: - name: Checkout uses: actions/checkout@v3 - - name: Download Buildkite Artifacts - uses: EnricoMi/download-buildkite-artifact-action@v1.14 + - name: Create artifacts directory + run: mkdir -p ./artifacts + + - name: Fetch cached x86_64-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-x86_64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-linux + + - name: Fetch cached i686-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-i686-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-i686-linux + + - name: Fetch cached aarch64-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-linux + + - name: Fetch cached x86_64-darwin binary + uses: actions/cache/restore@v3 with: - buildkite_token: ${{ secrets.BUILDKITE_TOKEN }} - output_path: artifacts + path: nix-installer + key: release-x86_64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-darwin + + - name: Fetch cached aarch64-darwin binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-darwin + - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: diff --git a/.github/workflows/release-prs.yml b/.github/workflows/release-prs.yml index e7e34b8a3..11e0f6c54 100644 --- a/.github/workflows/release-prs.yml +++ b/.github/workflows/release-prs.yml @@ -1,5 +1,8 @@ name: Release PR +concurrency: + group: release + on: pull_request: types: @@ -9,27 +12,137 @@ on: - labeled jobs: + build-x86_64-linux: + # Only intra-repo PRs are allowed to have PR artifacts uploaded + # We only want to trigger once the upload once in the case the upload label is added, not when any label is added + if: | + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) + uses: ./.github/workflows/build-x86_64-linux.yml + with: + cache-key: release-x86_64-linux-artifacts-${{ github.sha }} + build-i686-linux: + # Only intra-repo PRs are allowed to have PR artifacts uploaded + # We only want to trigger once the upload once in the case the upload label is added, not when any label is added + if: | + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) + uses: ./.github/workflows/build-i686-linux.yml + with: + cache-key: release-i686-linux-artifacts-${{ github.sha }} + build-aarch64-linux: + # Only intra-repo PRs are allowed to have PR artifacts uploaded + # We only want to trigger once the upload once in the case the upload label is added, not when any label is added + if: | + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) + uses: ./.github/workflows/build-aarch64-linux.yml + with: + cache-key: release-aarch64-linux-artifacts-${{ github.sha }} + build-x86_64-darwin: + # Only intra-repo PRs are allowed to have PR artifacts uploaded + # We only want to trigger once the upload once in the case the upload label is added, not when any label is added + if: | + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) + uses: ./.github/workflows/build-x86_64-darwin.yml + with: + cache-key: release-x86_64-darwin-artifacts-${{ github.sha }} + build-aarch64-darwin: + # Only intra-repo PRs are allowed to have PR artifacts uploaded + # We only want to trigger once the upload once in the case the upload label is added, not when any label is added + if: | + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) + uses: ./.github/workflows/build-aarch64-darwin.yml + with: + cache-key: release-aarch64-darwin-artifacts-${{ github.sha }} + release: - concurrency: release # Only intra-repo PRs are allowed to have PR artifacts uploaded # We only want to trigger once the upload once in the case the upload label is added, not when any label is added if: | - github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' - && ( - (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') - || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) - ) + always() && !failure() && !cancelled() + && github.event.pull_request.head.repo.full_name == 'DeterminateSystems/nix-installer' + && ( + (github.event.action == 'labeled' && github.event.label.name == 'upload to s3') + || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) + ) runs-on: ubuntu-latest permissions: id-token: write # In order to request a JWT for AWS auth + needs: + - build-x86_64-linux + - build-i686-linux + - build-aarch64-linux + - build-x86_64-darwin + - build-aarch64-darwin steps: - name: Checkout uses: actions/checkout@v3 - - name: Download Buildkite Artifacts - uses: EnricoMi/download-buildkite-artifact-action@v1.14 + - name: Create artifacts directory + run: mkdir -p ./artifacts + + - name: Fetch cached x86_64-linux binary + uses: actions/cache/restore@v3 with: - buildkite_token: ${{ secrets.BUILDKITE_TOKEN }} - output_path: artifacts + path: nix-installer + key: release-x86_64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-linux + + - name: Fetch cached i686-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-i686-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-i686-linux + + - name: Fetch cached aarch64-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-linux + + - name: Fetch cached x86_64-darwin binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-x86_64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-darwin + + - name: Fetch cached aarch64-darwin binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-darwin + - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml index b89f1b8f1..6547e2b92 100644 --- a/.github/workflows/release-tags.yml +++ b/.github/workflows/release-tags.yml @@ -1,25 +1,92 @@ name: Release Tags +concurrency: + group: release + on: push: tags: - "v*.*.*" jobs: + build-x86_64-linux: + uses: ./.github/workflows/build-x86_64-linux.yml + with: + cache-key: release-x86_64-linux-artifacts-${{ github.sha }} + build-i686-linux: + uses: ./.github/workflows/build-i686-linux.yml + with: + cache-key: release-i686-linux-artifacts-${{ github.sha }} + build-aarch64-linux: + uses: ./.github/workflows/build-aarch64-linux.yml + with: + cache-key: release-aarch64-linux-artifacts-${{ github.sha }} + build-x86_64-darwin: + uses: ./.github/workflows/build-x86_64-darwin.yml + with: + cache-key: release-x86_64-darwin-artifacts-${{ github.sha }} + build-aarch64-darwin: + uses: ./.github/workflows/build-aarch64-darwin.yml + with: + cache-key: release-aarch64-darwin-artifacts-${{ github.sha }} + release: - concurrency: release runs-on: ubuntu-latest permissions: contents: write # In order to upload artifacts to GitHub releases id-token: write # In order to request a JWT for AWS auth + needs: + - build-x86_64-linux + - build-i686-linux + - build-aarch64-linux + - build-x86_64-darwin + - build-aarch64-darwin steps: - name: Checkout uses: actions/checkout@v3 - - name: Download Buildkite Artifacts - uses: EnricoMi/download-buildkite-artifact-action@v1.14 + - name: Create artifacts directory + run: mkdir -p ./artifacts + + - name: Fetch cached x86_64-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-x86_64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-linux + + - name: Fetch cached i686-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-i686-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-i686-linux + + - name: Fetch cached aarch64-linux binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-linux-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-linux + + - name: Fetch cached x86_64-darwin binary + uses: actions/cache/restore@v3 with: - buildkite_token: ${{ secrets.BUILDKITE_TOKEN }} - output_path: artifacts + path: nix-installer + key: release-x86_64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-x86_64-darwin + + - name: Fetch cached aarch64-darwin binary + uses: actions/cache/restore@v3 + with: + path: nix-installer + key: release-aarch64-darwin-artifacts-${{ github.sha }} + - name: Move artifact to artifacts directory + run: mv ./nix-installer ./artifacts/nix-installer-aarch64-darwin + - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: From fde9487fcb4bed0477abb0d5bd6252557aa45a63 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 15 Apr 2024 10:08:03 -0700 Subject: [PATCH 40/53] Commit build-i686-linux action (#932) Oops... Dunno how I forgot this. --- .github/workflows/build-i686-linux.yml | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/build-i686-linux.yml diff --git a/.github/workflows/build-i686-linux.yml b/.github/workflows/build-i686-linux.yml new file mode 100644 index 000000000..0dff8f7ba --- /dev/null +++ b/.github/workflows/build-i686-linux.yml @@ -0,0 +1,29 @@ +name: Build i686 Linux (static) + +on: + workflow_call: + inputs: + cache-key: + type: string + required: false + default: i686-linux-artifacts-${{ github.sha }} + +jobs: + build-i686-linux: + name: Build i686 Linux (static) + runs-on: UbuntuLatest32Cores128G + concurrency: ${{ inputs.cache-key }} + steps: + - uses: actions/checkout@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build the installer + run: | + nix build .#packages.i686-linux.nix-installer-static -L + cp result/bin/nix-installer . + - name: Create GitHub cache from build artifacts + uses: actions/cache/save@v3 + with: + path: nix-installer + key: ${{ inputs.cache-key }} From c30ba41d0173e246631079e22347fee99936a5ba Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 15 Apr 2024 13:36:25 -0700 Subject: [PATCH 41/53] Update deps (#933) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * flake.lock: Update Flake lock file updates: • Updated input 'fenix': 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1791%2Brev-4be608f4f81d351aacca01b21ffd91028c23cc22/018df913-b6d3-756c-b05c-358eca6e487d/source.tar.gz?narHash=sha256-O6EC6QELBLHzhdzBOJj0chx8AOcd4nDRECIagfT5Nd0%3D' (2024-03-01) → 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1822%2Brev-209048d7c545905c470f6f8c05c5061f391031a8/018e98ba-d842-7dad-9d6a-0d0ee173b6b1/source.tar.gz?narHash=sha256-WJvDdOph001fA1Ap3AyaQtz/afJAe7meSG5uJAdSE%2BA%3D' (2024-04-01) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/9efa23c4dacee88b93540632eb3d88c5dfebfe17?narHash=sha256-8HHRXm4kYQLdUohNDUuCC3Rge7fXrtkjBUf0GERxrkM%3D' (2024-02-29) → 'github:rust-lang/rust-analyzer/e4a405f877efd820bef9c0e77a02494e47c17512?narHash=sha256-dyezzeSbWMpflma%2BE9USmvSxuLgGcNGcGw3cOnX36ko%3D' (2024-03-31) • Updated input 'nix/nixpkgs': 'github:NixOS/nixpkgs/2db3f57a2c420c780704948ffc09f96c7f5ffae8?narHash=sha256-%2B7IIMPN7ltWRo5rT9rp9sM8Mp3M7ESxVV/WXQTMkC7M%3D' (2024-04-05) → 'github:NixOS/nixpkgs/b550fe4b4776908ac2a861124307045f8e717c8e?narHash=sha256-7kkJQd4rZ%2BvFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo%3D' (2024-02-28) • Updated input 'nixpkgs': 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.592007%2Brev-9df3e30ce24fd28c7b3e2de0d986769db5d6225d/018e1732-2a3c-7a76-9ec9-7272cb294c13/source.tar.gz?narHash=sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY%3D' (2024-03-06) → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.611350%2Brev-cfd6b5fc90b15709b780a5a1619695a88505a176/018eddfc-e6d9-74bb-a823-20f2ae60079b/source.tar.gz?narHash=sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM%3D' (2024-04-12) * cargo update --aggressive * reqwest: 0.11.27 -> 0.12.3 --- Cargo.lock | 554 +++++++++++++++++++++++++++++------------------------ Cargo.toml | 2 +- flake.lock | 32 ++-- 3 files changed, 317 insertions(+), 271 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3cd9a985d..d0c430d1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", @@ -102,15 +102,15 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -127,6 +127,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" + [[package]] name = "bitflags" version = "1.3.2" @@ -135,15 +141,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" @@ -163,18 +169,18 @@ dependencies = [ [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" dependencies = [ "serde", ] [[package]] name = "cc" -version = "1.0.90" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" [[package]] name = "cfg-if" @@ -190,22 +196,22 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chrono" -version = "0.4.35" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] name = "clap" -version = "4.5.2" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -220,16 +226,16 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn", @@ -243,9 +249,9 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "color-eyre" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" dependencies = [ "backtrace", "color-spantrace", @@ -386,18 +392,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" - -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "enum-as-inner" @@ -405,7 +402,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn", @@ -419,9 +416,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388979d208a049ffdfb22fa33b9c81942215b940910bccfe258caeb25d125cb3" +checksum = "2b73807008a3c7f171cc40312f37d95ef0396e048b5848d775f54b1a4dd4a0d3" dependencies = [ "serde", ] @@ -448,9 +445,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "filetime" @@ -548,9 +545,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "libc", @@ -569,25 +566,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "h2" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" -dependencies = [ - "bytes 1.5.0", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.2.5", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -606,6 +584,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.9" @@ -629,23 +613,35 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ - "bytes 1.5.0", + "bytes 1.6.0", "fnv", "itoa", ] [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ - "bytes 1.5.0", + "bytes 1.6.0", "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes 1.6.0", + "futures-core", + "http", + "http-body", "pin-project-lite", ] @@ -655,48 +651,60 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyper" -version = "0.14.28" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "9f24ce812868d86d19daa79bf3bf9175bc44ea323391147a5e3abde2a283871b" dependencies = [ - "bytes 1.5.0", + "bytes 1.6.0", "futures-channel", - "futures-core", "futures-util", - "h2", "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" dependencies = [ "futures-util", "http", "hyper", + "hyper-util", "rustls", + "rustls-pki-types", "tokio", "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes 1.6.0", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] @@ -757,9 +765,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.5" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -806,9 +814,9 @@ checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" @@ -833,23 +841,19 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "libc", - "redox_syscall", ] [[package]] name = "line-wrap" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] +checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" [[package]] name = "linux-raw-sys" @@ -895,9 +899,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "mime" @@ -931,7 +935,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cfg-if", "cfg_aliases", "libc", @@ -943,7 +947,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d96c6f2c44fc706e7a523743434465d62db109b7c8364b642f35853475d67" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "serde", "thiserror", ] @@ -953,14 +957,14 @@ name = "nix-installer" version = "0.17.1" dependencies = [ "async-trait", - "bytes 1.5.0", + "bytes 1.6.0", "clap", "color-eyre", "dirs", "dyn-clone", "eyre", "glob", - "indexmap 2.2.5", + "indexmap 2.2.6", "is_ci", "nix", "nix-config-parser", @@ -1113,11 +1117,31 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -1133,12 +1157,12 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" +checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" dependencies = [ - "base64", - "indexmap 2.2.5", + "base64 0.21.7", + "indexmap 2.2.6", "line-wrap", "quick-xml", "serde", @@ -1159,9 +1183,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" dependencies = [ "unicode-ident", ] @@ -1177,9 +1201,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1225,9 +1249,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", "libredox", @@ -1236,14 +1260,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -1263,7 +1287,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -1274,26 +1298,26 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" -version = "0.11.24" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" dependencies = [ - "base64", - "bytes 1.5.0", - "encoding_rs", + "base64 0.22.0", + "bytes 1.6.0", "futures-core", "futures-util", - "h2", "http", "http-body", + "http-body-util", "hyper", "hyper-rustls", + "hyper-util", "ipnet", "js-sys", "log", @@ -1304,11 +1328,11 @@ dependencies = [ "rustls", "rustls-native-certs", "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", "tokio-socks", @@ -1345,11 +1369,11 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", @@ -1358,52 +1382,63 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c" dependencies = [ "log", "ring", + "rustls-pki-types", "rustls-webpki", - "sct", + "subtle", + "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" dependencies = [ "openssl-probe", "rustls-pemfile", + "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64", + "base64 0.22.0", + "rustls-pki-types", ] +[[package]] +name = "rustls-pki-types" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" + [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.102.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" dependencies = [ "ring", + "rustls-pki-types", "untrusted", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" [[package]] name = "ryu" @@ -1411,12 +1446,6 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -1441,21 +1470,11 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -1466,9 +1485,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -1505,9 +1524,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -1528,15 +1547,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" dependencies = [ - "base64", + "base64 0.21.7", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.5", + "indexmap 2.2.6", "serde", "serde_derive", "serde_json", @@ -1546,9 +1565,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" dependencies = [ "darling", "proc-macro2", @@ -1585,9 +1604,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -1613,32 +1632,38 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", "syn", ] +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + [[package]] name = "supports-color" version = "2.1.0" @@ -1651,9 +1676,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" dependencies = [ "proc-macro2", "quote", @@ -1672,7 +1697,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "byteorder", "enum-as-inner", "libc", @@ -1680,27 +1705,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tar" version = "0.4.40" @@ -1743,18 +1747,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", @@ -1773,9 +1777,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -1794,9 +1798,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -1819,12 +1823,12 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", - "bytes 1.5.0", + "bytes 1.6.0", "libc", "mio", "num_cpus", @@ -1861,11 +1865,12 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ "rustls", + "rustls-pki-types", "tokio", ] @@ -1887,7 +1892,7 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ - "bytes 1.5.0", + "bytes 1.6.0", "futures-core", "futures-sink", "pin-project-lite", @@ -1895,6 +1900,28 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -1907,6 +1934,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2049,9 +2077,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ "serde", ] @@ -2178,15 +2206,14 @@ dependencies = [ [[package]] name = "which" -version = "6.0.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c" +checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" dependencies = [ "either", "home", - "once_cell", "rustix", - "windows-sys 0.52.0", + "winsafe", ] [[package]] @@ -2226,7 +2253,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -2244,7 +2271,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -2264,17 +2291,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -2285,9 +2313,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -2297,9 +2325,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -2309,9 +2337,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -2321,9 +2355,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -2333,9 +2367,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -2345,9 +2379,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -2357,20 +2391,26 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winreg" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "xattr" version = "1.3.1" @@ -2392,3 +2432,9 @@ dependencies = [ "lzma-sys", "tokio-io", ] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/Cargo.toml b/Cargo.toml index 7232c4f3f..9e91d94cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ eyre = { version = "0.6.8", default-features = false, features = [ "track-caller glob = { version = "0.3.0", default-features = false } nix = { version = "0.28.0", default-features = false, features = ["user", "fs", "process", "term"] } owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } -reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } +reqwest = { version = "0.12.3", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.144", default-features = false, features = [ "std", "derive" ] } serde_json = { version = "1.0.85", default-features = false, features = [ "std" ] } serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } diff --git a/flake.lock b/flake.lock index 98064aab4..8f04146f9 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1709274179, - "narHash": "sha256-O6EC6QELBLHzhdzBOJj0chx8AOcd4nDRECIagfT5Nd0=", - "rev": "4be608f4f81d351aacca01b21ffd91028c23cc22", - "revCount": 1791, + "lastModified": 1711952616, + "narHash": "sha256-WJvDdOph001fA1Ap3AyaQtz/afJAe7meSG5uJAdSE+A=", + "rev": "209048d7c545905c470f6f8c05c5061f391031a8", + "revCount": 1822, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1791%2Brev-4be608f4f81d351aacca01b21ffd91028c23cc22/018df913-b6d3-756c-b05c-358eca6e487d/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1822%2Brev-209048d7c545905c470f6f8c05c5061f391031a8/018e98ba-d842-7dad-9d6a-0d0ee173b6b1/source.tar.gz" }, "original": { "type": "tarball", @@ -108,11 +108,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712329983, - "narHash": "sha256-+7IIMPN7ltWRo5rT9rp9sM8Mp3M7ESxVV/WXQTMkC7M=", + "lastModified": 1709083642, + "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2db3f57a2c420c780704948ffc09f96c7f5ffae8", + "rev": "b550fe4b4776908ac2a861124307045f8e717c8e", "type": "github" }, "original": { @@ -140,12 +140,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1709703039, - "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", - "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", - "revCount": 592007, + "lastModified": 1712963716, + "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "revCount": 611350, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.592007%2Brev-9df3e30ce24fd28c7b3e2de0d986769db5d6225d/018e1732-2a3c-7a76-9ec9-7272cb294c13/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.611350%2Brev-cfd6b5fc90b15709b780a5a1619695a88505a176/018eddfc-e6d9-74bb-a823-20f2ae60079b/source.tar.gz" }, "original": { "type": "tarball", @@ -164,11 +164,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1709219524, - "narHash": "sha256-8HHRXm4kYQLdUohNDUuCC3Rge7fXrtkjBUf0GERxrkM=", + "lastModified": 1711885694, + "narHash": "sha256-dyezzeSbWMpflma+E9USmvSxuLgGcNGcGw3cOnX36ko=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "9efa23c4dacee88b93540632eb3d88c5dfebfe17", + "rev": "e4a405f877efd820bef9c0e77a02494e47c17512", "type": "github" }, "original": { From 04b07fa15e527f23cc4a3c0db0a1b3aaa0160dc0 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Tue, 16 Apr 2024 08:56:33 -0700 Subject: [PATCH 42/53] Release v0.18.0 (#934) --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 2 +- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d0c430d1b..7633c8dda 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -954,7 +954,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.17.1" +version = "0.18.0" dependencies = [ "async-trait", "bytes 1.6.0", diff --git a/Cargo.toml b/Cargo.toml index 9e91d94cf..ab3eb0604 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.17.1" +version = "0.18.0" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 44a37deee..32cc7448e 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.17.1"; + version = "0.18.0"; src = builtins.path { name = "nix-installer-source"; path = self; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index fad76419c..fb969a4cb 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.17.1", + "version": "0.18.0", "actions": [ { "action": { @@ -425,7 +425,7 @@ } }, "diagnostic_data": { - "version": "0.17.1", + "version": "0.18.0", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index 5b21dc1d5..bcf86081e 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.17.1", + "version": "0.18.0", "actions": [ { "action": { @@ -405,7 +405,7 @@ } }, "diagnostic_data": { - "version": "0.17.1", + "version": "0.18.0", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 8e96b65d0..740fa23e6 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.17.1", + "version": "0.18.0", "actions": [ { "action": { @@ -438,7 +438,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.17.1", + "version": "0.18.0", "planner": "macos", "configured_settings": [], "os_name": "unknown", From c2dae9b414937811e6349969af11daa41e62cb7a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Tue, 23 Apr 2024 08:20:34 -0700 Subject: [PATCH 43/53] ci: enable FlakeHub Cache (#942) --- .github/workflows/build-aarch64-darwin.yml | 5 +++++ .github/workflows/build-aarch64-linux.yml | 5 +++++ .github/workflows/build-i686-linux.yml | 5 +++++ .github/workflows/build-x86_64-darwin.yml | 5 +++++ .github/workflows/build-x86_64-linux.yml | 5 +++++ .github/workflows/ci.yml | 24 ++++++++++++++++++++++ .github/workflows/release-branches.yml | 4 ++++ .github/workflows/update.yml | 5 +++++ 8 files changed, 58 insertions(+) diff --git a/.github/workflows/build-aarch64-darwin.yml b/.github/workflows/build-aarch64-darwin.yml index bd223900f..43fb2a0d5 100644 --- a/.github/workflows/build-aarch64-darwin.yml +++ b/.github/workflows/build-aarch64-darwin.yml @@ -13,10 +13,15 @@ jobs: name: Build aarch64 Darwin runs-on: macos-latest-xlarge concurrency: ${{ inputs.cache-key }} + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Build the installer run: | diff --git a/.github/workflows/build-aarch64-linux.yml b/.github/workflows/build-aarch64-linux.yml index f75f41803..645d93541 100644 --- a/.github/workflows/build-aarch64-linux.yml +++ b/.github/workflows/build-aarch64-linux.yml @@ -13,10 +13,15 @@ jobs: name: Build aarch64 Linux (static) runs-on: namespace-profile-default-arm64 concurrency: ${{ inputs.cache-key }} + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Build the installer run: | diff --git a/.github/workflows/build-i686-linux.yml b/.github/workflows/build-i686-linux.yml index 0dff8f7ba..5db6e4145 100644 --- a/.github/workflows/build-i686-linux.yml +++ b/.github/workflows/build-i686-linux.yml @@ -13,10 +13,15 @@ jobs: name: Build i686 Linux (static) runs-on: UbuntuLatest32Cores128G concurrency: ${{ inputs.cache-key }} + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Build the installer run: | diff --git a/.github/workflows/build-x86_64-darwin.yml b/.github/workflows/build-x86_64-darwin.yml index 253900f54..8f7a8a1a0 100644 --- a/.github/workflows/build-x86_64-darwin.yml +++ b/.github/workflows/build-x86_64-darwin.yml @@ -13,10 +13,15 @@ jobs: name: Build x86_64 Darwin runs-on: macos-latest-large concurrency: ${{ inputs.cache-key }} + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Build the installer run: | diff --git a/.github/workflows/build-x86_64-linux.yml b/.github/workflows/build-x86_64-linux.yml index 24a5dbcaa..333335e0a 100644 --- a/.github/workflows/build-x86_64-linux.yml +++ b/.github/workflows/build-x86_64-linux.yml @@ -13,10 +13,15 @@ jobs: name: Build x86_64 Linux (static) runs-on: UbuntuLatest32Cores128G concurrency: ${{ inputs.cache-key }} + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Build the installer run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa5d851ac..e2db1bde5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,10 @@ on: push: branches: [main] +permissions: + id-token: "write" + contents: "read" + jobs: build-x86_64-linux: uses: ./.github/workflows/build-x86_64-linux.yml @@ -15,6 +19,9 @@ jobs: lints: name: Lints runs-on: ubuntu-latest + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Check Nixpkgs input @@ -24,6 +31,8 @@ jobs: check-outdated: false # PRs shouldn't fail because main's nixpkgs is out of date - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main - name: Check rustfmt run: nix develop --command check-rustfmt @@ -40,6 +49,9 @@ jobs: name: Run x86_64 Linux runs-on: ubuntu-latest needs: [lints, build-x86_64-linux] + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts @@ -57,6 +69,7 @@ jobs: - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true local-root: install-root/ logger: pretty log-directives: nix_installer=debug @@ -86,6 +99,7 @@ jobs: - name: Repeated install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true local-root: install-root/ logger: pretty log-directives: nix_installer=debug @@ -143,6 +157,9 @@ jobs: name: Run x86_64 Linux (No init) runs-on: ubuntu-latest needs: [lints, build-x86_64-linux] + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts @@ -160,6 +177,7 @@ jobs: - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true init: none planner: linux local-root: install-root/ @@ -193,6 +211,7 @@ jobs: - name: Repeated install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true init: none planner: linux local-root: install-root/ @@ -252,6 +271,9 @@ jobs: name: Run x86_64 Darwin runs-on: macos-latest needs: [lints, build-x86_64-darwin] + permissions: + id-token: "write" + contents: "read" steps: - uses: actions/checkout@v3 - name: Restore Github cache of Buildkite artifacts @@ -269,6 +291,7 @@ jobs: - name: Initial install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true local-root: install-root/ logger: pretty log-directives: nix_installer=debug @@ -286,6 +309,7 @@ jobs: - name: Repeated install uses: DeterminateSystems/nix-installer-action@main with: + flakehub: true local-root: install-root/ logger: pretty log-directives: nix_installer=debug diff --git a/.github/workflows/release-branches.yml b/.github/workflows/release-branches.yml index 312369a1b..d6ecb24ab 100644 --- a/.github/workflows/release-branches.yml +++ b/.github/workflows/release-branches.yml @@ -10,6 +10,10 @@ on: # otherwise creating the directory and uploading to s3 will fail - 'main' +permissions: + id-token: "write" + contents: "read" + jobs: build-x86_64-linux: uses: ./.github/workflows/build-x86_64-linux.yml diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 19b534084..4ab751cc2 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -7,11 +7,16 @@ on: jobs: lockfile: runs-on: ubuntu-22.04 + permissions: + id-token: "write" + contents: "read" steps: - name: Checkout uses: actions/checkout@v3 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true - name: Enable magic Nix cache uses: DeterminateSystems/magic-nix-cache-action@main - name: Check flake From 1b6195b5262a90c5ba2734d96a9b4fd9e52605f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 11:32:59 -0400 Subject: [PATCH 44/53] Bump rustls from 0.22.3 to 0.22.4 (#938) Bumps [rustls](https://github.com/rustls/rustls) from 0.22.3 to 0.22.4. - [Release notes](https://github.com/rustls/rustls/releases) - [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md) - [Commits](https://github.com/rustls/rustls/compare/v/0.22.3...v/0.22.4) --- updated-dependencies: - dependency-name: rustls dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7633c8dda..f94069c76 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1382,9 +1382,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" dependencies = [ "log", "ring", From 3ec6c320e2b84b6d8b2a164e85cb57076ef2d7f1 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 2 May 2024 12:31:00 -0400 Subject: [PATCH 45/53] Embed the Nix to-be-installed in the binary (#897) * Embed the Nix tarball into the binary This improves built-in offline support, and improves install time reliability. * Stop linking to nix-upgrade * Rename the NIX_INSTALLER_TARBALL environment variable to NIX_INSTALLER_TARBALL_PATH * Document the NIX_INSTALLER_TARBALL_PATH requirement * Link to our current Nix recommendation * Note why we set the upgrade url. * make the x86 builds run on x86 * Indicate the origins of the tarball * derp * fixup: release-prs, release-tags * empty --------- Co-authored-by: Cole Helbling --- .github/workflows/build-x86_64-darwin.yml | 4 +- .github/workflows/ci.yml | 2 +- .github/workflows/release-prs.yml | 6 ++- .github/workflows/release-tags.yml | 7 +-- README.md | 9 ++-- flake.lock | 46 ++++++++++++++--- flake.nix | 5 +- src/action/base/fetch_and_unpack_nix.rs | 22 +++++--- src/settings.rs | 62 +++-------------------- 9 files changed, 83 insertions(+), 80 deletions(-) diff --git a/.github/workflows/build-x86_64-darwin.yml b/.github/workflows/build-x86_64-darwin.yml index 8f7a8a1a0..2e225bdc7 100644 --- a/.github/workflows/build-x86_64-darwin.yml +++ b/.github/workflows/build-x86_64-darwin.yml @@ -1,6 +1,6 @@ name: Build x86_64 Darwin -on: +on: workflow_call: inputs: cache-key: @@ -11,7 +11,7 @@ on: jobs: build-x86_64-darwin: name: Build x86_64 Darwin - runs-on: macos-latest-large + runs-on: macos-13-large concurrency: ${{ inputs.cache-key }} permissions: id-token: "write" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2db1bde5..0be010d78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -269,7 +269,7 @@ jobs: run-x86_64-darwin: name: Run x86_64 Darwin - runs-on: macos-latest + runs-on: macos-13 needs: [lints, build-x86_64-darwin] permissions: id-token: "write" diff --git a/.github/workflows/release-prs.yml b/.github/workflows/release-prs.yml index 11e0f6c54..895a06a0f 100644 --- a/.github/workflows/release-prs.yml +++ b/.github/workflows/release-prs.yml @@ -11,6 +11,10 @@ on: - synchronize - labeled +permissions: + id-token: "write" + contents: "read" + jobs: build-x86_64-linux: # Only intra-repo PRs are allowed to have PR artifacts uploaded @@ -89,8 +93,6 @@ jobs: || (github.event.action != 'labeled' && contains(github.event.pull_request.labels.*.name, 'upload to s3')) ) runs-on: ubuntu-latest - permissions: - id-token: write # In order to request a JWT for AWS auth needs: - build-x86_64-linux - build-i686-linux diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml index 6547e2b92..f42550519 100644 --- a/.github/workflows/release-tags.yml +++ b/.github/workflows/release-tags.yml @@ -8,6 +8,10 @@ on: tags: - "v*.*.*" +permissions: + contents: write # In order to upload artifacts to GitHub releases + id-token: write # In order to request a JWT for AWS auth + jobs: build-x86_64-linux: uses: ./.github/workflows/build-x86_64-linux.yml @@ -32,9 +36,6 @@ jobs: release: runs-on: ubuntu-latest - permissions: - contents: write # In order to upload artifacts to GitHub releases - id-token: write # In order to request a JWT for AWS auth needs: - build-x86_64-linux - build-i686-linux diff --git a/README.md b/README.md index 117018465..d6a0a8d15 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ $ NIX_BUILD_GROUP_NAME=nixbuilder ./nix-installer install linux-multi --nix-buil ### Upgrading Nix -You can upgrade Nix to the version described in [`DeterminateSystems/nix-upgrade`][nix-upgrade] by running: +You can upgrade Nix to [our currently recommended version of Nix][recommended-nix] by running: ``` sudo -i nix upgrade-nix @@ -389,6 +389,9 @@ You'll also need to edit your `.cargo/config.toml` to use `tokio_unstable` as we rustflags=["--cfg", "tokio_unstable"] ``` +You'll also need to set the `NIX_INSTALLER_TARBALL_PATH` environment variable to point to a target-appropriate Nix installation tarball, like nix-2.21.2-aarch64-darwin.tar.xz. +The contents are embedded in the resulting binary instead of downloaded at installation time. + Then it's possible to review the [documentation](https://docs.rs/nix-installer/latest/nix_installer/): ```bash @@ -440,7 +443,7 @@ Differing from the upstream [Nix](https://github.com/NixOS/nix) installer script + `auto-optimise-store` is set to `true` (On Linux only) * `extra-nix-path` is set to `nixpkgs=flake:nixpkgs` * `max-jobs` is set to `auto` - * `upgrade-nix-store-path-url` is set to `https://install.determinate.systems/nix-upgrade/stable/universal` + * `upgrade-nix-store-path-url` is set to `https://install.determinate.systems/nix-upgrade/stable/universal`, to prevent unintentional downgrades. * an installation receipt (for uninstalling) is stored at `/nix/receipt.json` as well as a copy of the install binary at `/nix/nix-installer` * `nix-channel --update` is not run, `~/.nix-channels` is not provisioned * `ssl-cert-file` is set in `/etc/nix/nix.conf` if the `ssl-cert-file` argument is used. @@ -495,8 +498,8 @@ You can read the full privacy policy for [Determinate Systems][detsys], the crea [detsys]: https://determinate.systems/ [diagnosticdata]: https://github.com/DeterminateSystems/nix-installer/blob/f9f927840d532b71f41670382a30cfcbea2d8a35/src/diagnostics.rs#L29-L43 [privacy]: https://determinate.systems/policies/privacy +[recommended-nix]: https://github.com/DeterminateSystems/nix/releases/latest [systemd]: https://systemd.io [wslg]: https://github.com/microsoft/wslg [nixgl]: https://github.com/guibou/nixGL [Nix]: https://nixos.org -[nix-upgrade]: https://github.com/DeterminateSystems/nix-upgrade/blob/main/versions.nix diff --git a/flake.lock b/flake.lock index 8f04146f9..9a7c2077e 100644 --- a/flake.lock +++ b/flake.lock @@ -87,6 +87,24 @@ } }, "nix": { + "inputs": { + "nix": "nix_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1713457987, + "narHash": "sha256-HNt+ocnqVlwGzYx+3DQRlfv06iSv2I7Ch5kuRH7W7m4=", + "rev": "f59b936e273bc761648b45a9f822693f0424da4d", + "revCount": 56, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix/2.21.2/018ef218-45b2-731b-8c3b-a9fc57c55fd1/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/nix/%3D2.21.2.tar.gz" + } + }, + "nix_2": { "inputs": { "flake-compat": "flake-compat_2", "libgit2": "libgit2", @@ -103,7 +121,7 @@ }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nix/%3D2.21.2.tar.gz" + "url": "https://flakehub.com/f/NixOS/nix/%3D2.21.2" } }, "nixpkgs": { @@ -140,12 +158,26 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1712963716, - "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", - "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", - "revCount": 611350, + "lastModified": 1714531828, + "narHash": "sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg=", + "rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1", + "revCount": 558121, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.611350%2Brev-cfd6b5fc90b15709b780a5a1619695a88505a176/018eddfc-e6d9-74bb-a823-20f2ae60079b/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.558121%2Brev-0638fe2715d998fa81d173aad264eb671ce2ebc1/018f3583-6e0d-7f3d-9871-ca7b6c8c73df/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "revCount": 598982, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.598982%2Brev-b06025f1533a1e07b6db3e75151caa155d1c7eb3/018e577a-86bd-7b2f-b434-442e9ada5378/source.tar.gz" }, "original": { "type": "tarball", @@ -158,7 +190,7 @@ "flake-compat": "flake-compat", "naersk": "naersk", "nix": "nix", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" } }, "rust-analyzer-src": { diff --git a/flake.nix b/flake.nix index 32cc7448e..3961b3c81 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ }; nix = { - url = "https://flakehub.com/f/NixOS/nix/=2.21.2.tar.gz"; + url = "https://flakehub.com/f/DeterminateSystems/nix/=2.21.2.tar.gz"; # Omitting `inputs.nixpkgs.follows = "nixpkgs";` on purpose }; @@ -87,6 +87,8 @@ RUSTFLAGS = "--cfg tokio_unstable"; cargoTestOptions = f: f ++ [ "--all" ]; + NIX_INSTALLER_TARBALL_PATH = inputs.nix.tarballs_direct.${final.stdenv.system}; + override = { preBuild ? "", ... }: { preBuild = preBuild + '' # logRun "cargo clippy --all-targets --all-features -- -D warnings" @@ -130,6 +132,7 @@ name = "nix-install-shell"; RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library"; + NIX_INSTALLER_TARBALL_PATH = inputs.nix.tarballs_direct.${system}; nativeBuildInputs = with pkgs; [ ]; buildInputs = with pkgs; [ diff --git a/src/action/base/fetch_and_unpack_nix.rs b/src/action/base/fetch_and_unpack_nix.rs index 280982300..60a6b866a 100644 --- a/src/action/base/fetch_and_unpack_nix.rs +++ b/src/action/base/fetch_and_unpack_nix.rs @@ -15,7 +15,7 @@ Fetch a URL to the given path */ #[derive(Debug, serde::Deserialize, serde::Serialize, Clone)] pub struct FetchAndUnpackNix { - url_or_path: UrlOrPath, + url_or_path: Option, dest: PathBuf, proxy: Option, ssl_cert_file: Option, @@ -24,7 +24,7 @@ pub struct FetchAndUnpackNix { impl FetchAndUnpackNix { #[tracing::instrument(level = "debug", skip_all)] pub async fn plan( - url_or_path: UrlOrPath, + url_or_path: Option, dest: PathBuf, proxy: Option, ssl_cert_file: Option, @@ -32,7 +32,7 @@ impl FetchAndUnpackNix { // TODO(@hoverbear): Check URL exists? // TODO(@hoverbear): Check tempdir exists - if let UrlOrPath::Url(url) = &url_or_path { + if let Some(UrlOrPath::Url(url)) = &url_or_path { match url.scheme() { "https" | "http" | "file" => (), _ => return Err(Self::error(ActionErrorKind::UnknownUrlScheme)), @@ -67,14 +67,21 @@ impl Action for FetchAndUnpackNix { ActionTag("fetch_and_unpack_nix") } fn tracing_synopsis(&self) -> String { - format!("Fetch `{}` to `{}`", self.url_or_path, self.dest.display()) + if let Some(ref url_or_path) = self.url_or_path { + format!("Fetch `{}` to `{}`", url_or_path, self.dest.display()) + } else { + format!( + "Extract the bundled Nix (originally from {})", + crate::settings::NIX_TARBALL_PATH + ) + } } fn tracing_span(&self) -> Span { let span = span!( tracing::Level::DEBUG, "fetch_and_unpack_nix", - url_or_path = tracing::field::display(&self.url_or_path), + url_or_path = self.url_or_path.as_ref().map(tracing::field::display), proxy = tracing::field::Empty, ssl_cert_file = tracing::field::Empty, dest = tracing::field::display(self.dest.display()), @@ -98,7 +105,8 @@ impl Action for FetchAndUnpackNix { #[tracing::instrument(level = "debug", skip_all)] async fn execute(&mut self) -> Result<(), ActionError> { let bytes = match &self.url_or_path { - UrlOrPath::Url(url) => { + &None => Bytes::from(crate::settings::NIX_TARBALL), + Some(UrlOrPath::Url(url)) => { let bytes = match url.scheme() { "https" | "http" => { let mut buildable_client = reqwest::Client::builder(); @@ -144,7 +152,7 @@ impl Action for FetchAndUnpackNix { }; bytes }, - UrlOrPath::Path(path) => { + Some(UrlOrPath::Path(path)) => { let buf = tokio::fs::read(path) .await .map_err(|e| ActionErrorKind::Read(PathBuf::from(path), e)) diff --git a/src/settings.rs b/src/settings.rs index 82735434d..444d4b09e 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -11,21 +11,11 @@ use url::Url; pub const SCRATCH_DIR: &str = "/nix/temp-install-dir"; -/// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86_64 -pub const NIX_X64_64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-x86_64-linux.tar.xz"; -/// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux x86 (32 bit) -pub const NIX_I686_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-i686-linux.tar.xz"; -/// Default [`nix_package_url`](CommonSettings::nix_package_url) for Linux aarch64 -pub const NIX_AARCH64_LINUX_URL: &str = - "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-aarch64-linux.tar.xz"; -/// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin x86_64 -pub const NIX_X64_64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-x86_64-darwin.tar.xz"; -/// Default [`nix_package_url`](CommonSettings::nix_package_url) for Darwin aarch64 -pub const NIX_AARCH64_DARWIN_URL: &str = - "https://releases.nixos.org/nix/nix-2.21.2/nix-2.21.2-aarch64-darwin.tar.xz"; +pub const NIX_TARBALL_PATH: &str = env!("NIX_INSTALLER_TARBALL_PATH"); +/// The NIX_INSTALLER_TARBALL_PATH environment variable should point to a target-appropriate +/// Nix installation tarball, like nix-2.21.2-aarch64-darwin.tar.xz. The contents are embedded +/// in the resulting binary. +pub const NIX_TARBALL: &[u8] = include_bytes!(env!("NIX_INSTALLER_TARBALL_PATH")); #[derive(Debug, serde::Deserialize, serde::Serialize, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "cli", derive(clap::ValueEnum))] @@ -145,39 +135,9 @@ pub struct CommonSettings { /// The Nix package URL #[cfg_attr( feature = "cli", - clap(long, env = "NIX_INSTALLER_NIX_PACKAGE_URL", global = true, value_parser = clap::value_parser!(UrlOrPath)) + clap(long, env = "NIX_INSTALLER_NIX_PACKAGE_URL", global = true, value_parser = clap::value_parser!(UrlOrPath), default_value = None) )] - #[cfg_attr( - all(target_os = "macos", target_arch = "x86_64", feature = "cli"), - clap( - default_value = NIX_X64_64_DARWIN_URL, - ) - )] - #[cfg_attr( - all(target_os = "macos", target_arch = "aarch64", feature = "cli"), - clap( - default_value = NIX_AARCH64_DARWIN_URL, - ) - )] - #[cfg_attr( - all(target_os = "linux", target_arch = "x86_64", feature = "cli"), - clap( - default_value = NIX_X64_64_LINUX_URL, - ) - )] - #[cfg_attr( - all(target_os = "linux", target_arch = "x86", feature = "cli"), - clap( - default_value = NIX_I686_LINUX_URL, - ) - )] - #[cfg_attr( - all(target_os = "linux", target_arch = "aarch64", feature = "cli"), - clap( - default_value = NIX_AARCH64_LINUX_URL, - ) - )] - pub nix_package_url: UrlOrPath, + pub nix_package_url: Option, /// The proxy to use (if any), valid proxy bases are `https://$URL`, `http://$URL` and `socks5://$URL` #[cfg_attr(feature = "cli", clap(long, env = "NIX_INSTALLER_PROXY"))] @@ -250,7 +210,6 @@ pub struct CommonSettings { impl CommonSettings { /// The default settings for the given Architecture & Operating System pub async fn default() -> Result { - let url; let nix_build_user_prefix; let nix_build_user_id_base; let nix_build_user_count; @@ -259,21 +218,18 @@ impl CommonSettings { match (Architecture::host(), OperatingSystem::host()) { #[cfg(target_os = "linux")] (Architecture::X86_64, OperatingSystem::Linux) => { - url = NIX_X64_64_LINUX_URL; nix_build_user_prefix = "nixbld"; nix_build_user_id_base = 30000; nix_build_user_count = 32; }, #[cfg(target_os = "linux")] (Architecture::X86_32(_), OperatingSystem::Linux) => { - url = NIX_I686_LINUX_URL; nix_build_user_prefix = "nixbld"; nix_build_user_id_base = 30000; nix_build_user_count = 32; }, #[cfg(target_os = "linux")] (Architecture::Aarch64(_), OperatingSystem::Linux) => { - url = NIX_AARCH64_LINUX_URL; nix_build_user_prefix = "nixbld"; nix_build_user_id_base = 30000; nix_build_user_count = 32; @@ -281,7 +237,6 @@ impl CommonSettings { #[cfg(target_os = "macos")] (Architecture::X86_64, OperatingSystem::MacOSX { .. }) | (Architecture::X86_64, OperatingSystem::Darwin) => { - url = NIX_X64_64_DARWIN_URL; nix_build_user_prefix = "_nixbld"; nix_build_user_id_base = 300; nix_build_user_count = 32; @@ -289,7 +244,6 @@ impl CommonSettings { #[cfg(target_os = "macos")] (Architecture::Aarch64(_), OperatingSystem::MacOSX { .. }) | (Architecture::Aarch64(_), OperatingSystem::Darwin) => { - url = NIX_AARCH64_DARWIN_URL; nix_build_user_prefix = "_nixbld"; nix_build_user_id_base = 300; nix_build_user_count = 32; @@ -308,7 +262,7 @@ impl CommonSettings { nix_build_user_id_base, nix_build_user_count, nix_build_user_prefix: nix_build_user_prefix.to_string(), - nix_package_url: url.parse()?, + nix_package_url: None, proxy: Default::default(), extra_conf: Default::default(), force: false, From 70a615967d851cac2634516b492fcbeb96e93ee9 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 2 May 2024 21:13:50 -0400 Subject: [PATCH 46/53] Error on SUIS (#941) * Rename macos planner to macos/mod * Clean up some clippy notes about specifying truncate * Add types for parsing macOS system profiles * Error on SUIS * Dump all profiles * Clean up errors * fixup: emit multiple errors on suis blocks * Clean up the error after user input * Nit on phrasing in warn * tpot -> blocking_policy * slice * Add a description to the fail pilst * Move around deck chairs * Disable GHA cache * clean up the query * profile sample: fail -> block * less technical * Link to a det.sys page that talks more about internal disks (tbd) * Update src/planner/macos/profiles.rs Co-authored-by: Cole Helbling * Expand the errorr message again * Test unknown does not error --------- Co-authored-by: Cole Helbling --- .github/workflows/build-aarch64-darwin.yml | 4 +- .github/workflows/build-aarch64-linux.yml | 4 +- .github/workflows/build-i686-linux.yml | 4 +- .github/workflows/build-x86_64-darwin.yml | 2 + .github/workflows/build-x86_64-linux.yml | 4 +- .github/workflows/ci.yml | 2 + .github/workflows/update.yml | 6 +- src/action/base/create_or_insert_into_file.rs | 1 + src/action/base/create_or_merge_nix_config.rs | 1 + src/action/macos/create_fstab_entry.rs | 1 + src/planner/{macos.rs => macos/mod.rs} | 45 +++++ src/planner/macos/profile.sample.block.plist | 58 +++++++ .../macos/profile.sample.unknown.plist | 49 ++++++ src/planner/macos/profile_queries.rs | 137 +++++++++++++++ src/planner/macos/profiles.rs | 162 ++++++++++++++++++ 15 files changed, 474 insertions(+), 6 deletions(-) rename src/planner/{macos.rs => macos/mod.rs} (88%) create mode 100644 src/planner/macos/profile.sample.block.plist create mode 100644 src/planner/macos/profile.sample.unknown.plist create mode 100644 src/planner/macos/profile_queries.rs create mode 100644 src/planner/macos/profiles.rs diff --git a/.github/workflows/build-aarch64-darwin.yml b/.github/workflows/build-aarch64-darwin.yml index 43fb2a0d5..693ae7ccf 100644 --- a/.github/workflows/build-aarch64-darwin.yml +++ b/.github/workflows/build-aarch64-darwin.yml @@ -1,6 +1,6 @@ name: Build aarch64 Darwin -on: +on: workflow_call: inputs: cache-key: @@ -23,6 +23,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Build the installer run: | nix build .#packages.aarch64-darwin.nix-installer -L diff --git a/.github/workflows/build-aarch64-linux.yml b/.github/workflows/build-aarch64-linux.yml index 645d93541..0ea3fb19d 100644 --- a/.github/workflows/build-aarch64-linux.yml +++ b/.github/workflows/build-aarch64-linux.yml @@ -1,6 +1,6 @@ name: Build aarch64 Linux (static) -on: +on: workflow_call: inputs: cache-key: @@ -23,6 +23,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Build the installer run: | nix build .#packages.aarch64-linux.nix-installer-static -L diff --git a/.github/workflows/build-i686-linux.yml b/.github/workflows/build-i686-linux.yml index 5db6e4145..6a9877700 100644 --- a/.github/workflows/build-i686-linux.yml +++ b/.github/workflows/build-i686-linux.yml @@ -1,6 +1,6 @@ name: Build i686 Linux (static) -on: +on: workflow_call: inputs: cache-key: @@ -23,6 +23,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Build the installer run: | nix build .#packages.i686-linux.nix-installer-static -L diff --git a/.github/workflows/build-x86_64-darwin.yml b/.github/workflows/build-x86_64-darwin.yml index 2e225bdc7..e8b838ddd 100644 --- a/.github/workflows/build-x86_64-darwin.yml +++ b/.github/workflows/build-x86_64-darwin.yml @@ -23,6 +23,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Build the installer run: | nix build .#packages.x86_64-darwin.nix-installer -L diff --git a/.github/workflows/build-x86_64-linux.yml b/.github/workflows/build-x86_64-linux.yml index 333335e0a..3578a2071 100644 --- a/.github/workflows/build-x86_64-linux.yml +++ b/.github/workflows/build-x86_64-linux.yml @@ -1,6 +1,6 @@ name: Build x86_64 Linux (static) -on: +on: workflow_call: inputs: cache-key: @@ -23,6 +23,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Build the installer run: | nix build .#packages.x86_64-linux.nix-installer-static -L diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0be010d78..fa27826e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,8 @@ jobs: with: flakehub: true - uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Check rustfmt run: nix develop --command check-rustfmt - name: Check Clippy diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 4ab751cc2..027002efc 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -2,7 +2,7 @@ name: update-flake-lock on: workflow_dispatch: schedule: - - cron: '0 0 * * 0' + - cron: "0 0 * * 0" jobs: lockfile: @@ -17,8 +17,10 @@ jobs: uses: DeterminateSystems/nix-installer-action@main with: flakehub: true - - name: Enable magic Nix cache + - name: Enable Magic Nix Cache uses: DeterminateSystems/magic-nix-cache-action@main + with: + use-gha-cache: false - name: Check flake uses: DeterminateSystems/flake-checker-action@main - name: Update flake.lock diff --git a/src/action/base/create_or_insert_into_file.rs b/src/action/base/create_or_insert_into_file.rs index cf0e23749..96162a60f 100644 --- a/src/action/base/create_or_insert_into_file.rs +++ b/src/action/base/create_or_insert_into_file.rs @@ -208,6 +208,7 @@ impl Action for CreateOrInsertIntoFile { } let mut temp_file = OpenOptions::new() .create(true) + .truncate(true) .write(true) // If the file is created, ensure that it has harmless // permissions regardless of whether the mode will be diff --git a/src/action/base/create_or_merge_nix_config.rs b/src/action/base/create_or_merge_nix_config.rs index ae0585e32..98866cbeb 100644 --- a/src/action/base/create_or_merge_nix_config.rs +++ b/src/action/base/create_or_merge_nix_config.rs @@ -258,6 +258,7 @@ impl Action for CreateOrMergeNixConfig { } let mut temp_file = OpenOptions::new() .create(true) + .truncate(true) .write(true) // If the file is created, ensure that it has harmless // permissions regardless of whether the mode will be diff --git a/src/action/macos/create_fstab_entry.rs b/src/action/macos/create_fstab_entry.rs index 8eac22179..606f327eb 100644 --- a/src/action/macos/create_fstab_entry.rs +++ b/src/action/macos/create_fstab_entry.rs @@ -136,6 +136,7 @@ impl Action for CreateFstabEntry { let mut fstab = tokio::fs::OpenOptions::new() .create(true) + .truncate(false) .write(true) .read(true) .open(fstab_path) diff --git a/src/planner/macos.rs b/src/planner/macos/mod.rs similarity index 88% rename from src/planner/macos.rs rename to src/planner/macos/mod.rs index bb287b732..4e4139860 100644 --- a/src/planner/macos.rs +++ b/src/planner/macos/mod.rs @@ -8,6 +8,9 @@ use which::which; use super::ShellProfileLocations; use crate::planner::HasExpectedErrors; +mod profile_queries; +mod profiles; + use crate::{ action::{ base::RemoveDirectory, @@ -306,6 +309,7 @@ impl Planner for Macos { } async fn pre_install_check(&self) -> Result<(), PlannerError> { + check_suis().await?; check_not_running_in_rosetta()?; if self.enterprise_edition { check_enterprise_edition_available().await?; @@ -364,6 +368,43 @@ fn check_not_running_in_rosetta() -> Result<(), PlannerError> { Ok(()) } +async fn check_suis() -> Result<(), PlannerError> { + let policies: profiles::Policies = match profiles::load().await { + Ok(pol) => pol, + Err(e) => { + tracing::warn!( + "Skipping SystemUIServer checks: failed to load profile data: {:?}", + e + ); + return Ok(()); + }, + }; + + let blocks: Vec<_> = profile_queries::blocks_internal_mounting(&policies) + .into_iter() + .map(|blocking_policy| blocking_policy.display()) + .collect(); + + let error: String = match &blocks[..] { + [] => { + return Ok(()); + }, + [block] => format!( + "The following macOS configuration profile includes a 'Restrictions - Media' policy, which interferes with the Nix Store volume:\n\n{}\n\nSee https://determinate.systems/solutions/macos-internal-disk-policy", + block + ), + blocks => { + format!( + "The following macOS configuration profiles include a 'Restrictions - Media' policy, which interferes with the Nix Store volume:\n\n{}\n\nSee https://determinate.systems/solutions/macos-internal-disk-policy", + blocks.join("\n\n") + ) + }, + }; + + Err(MacosError::BlockedBySystemUIServerPolicy(error)) + .map_err(|e| PlannerError::Custom(Box::new(e))) +} + async fn check_enterprise_edition_available() -> Result<(), PlannerError> { tokio::fs::metadata("/usr/local/bin/determinate-nix-ee") .await @@ -377,12 +418,16 @@ async fn check_enterprise_edition_available() -> Result<(), PlannerError> { pub enum MacosError { #[error("`nix-darwin` installation detected, it must be removed before uninstalling Nix. Please refer to https://github.com/LnL7/nix-darwin#uninstalling for instructions how to uninstall `nix-darwin`.")] UninstallNixDarwin, + + #[error("{0}")] + BlockedBySystemUIServerPolicy(String), } impl HasExpectedErrors for MacosError { fn expected<'a>(&'a self) -> Option> { match self { this @ MacosError::UninstallNixDarwin => Some(Box::new(this)), + this @ MacosError::BlockedBySystemUIServerPolicy(_) => Some(Box::new(this)), } } } diff --git a/src/planner/macos/profile.sample.block.plist b/src/planner/macos/profile.sample.block.plist new file mode 100644 index 000000000..97abe5a98 --- /dev/null +++ b/src/planner/macos/profile.sample.block.plist @@ -0,0 +1,58 @@ + + + + + + foo + + + + ProfileDescription + The description + ProfileDisplayName + Don't allow mounting internal devices + ProfileIdentifier + MyProfile.6F6670A3-65AC-4EA4-8665-91F8FCE289AB + ProfileInstallDate + 2024-04-22 14:12:42 +0000 + ProfileType + Configuration + ProfileUUID + 6F6670A3-65AC-4EA4-8665-91F8FCE289AB + ProfileVersion + 1 + + + ProfileItems + + + + PayloadType + com.apple.systemuiserver + + PayloadContent + + mount-controls + + harddisk-internal + + + deny + + + + + + + + + diff --git a/src/planner/macos/profile.sample.unknown.plist b/src/planner/macos/profile.sample.unknown.plist new file mode 100644 index 000000000..571f94ef2 --- /dev/null +++ b/src/planner/macos/profile.sample.unknown.plist @@ -0,0 +1,49 @@ + + + + + _computerlevel + + + ProfileDescription + + ProfileDisplayName + macOS Software Update Policy: Mandatory Minor Upgrades + ProfileIdentifier + com.example + ProfileInstallDate + 2024-04-22 00:00:00 +0000 + ProfileItems + + + PayloadContent + + AllowPreReleaseInstallation + + AutomaticCheckEnabled + + + PayloadIdentifier + abc123 + PayloadType + com.apple.SoftwareUpdate + PayloadUUID + def456 + PayloadVersion + 1 + + + ProfileRemovalDisallowed + true + ProfileType + Configuration + ProfileUUID + F7972F85-2A4D-4609-A4BB-02CB0C34A3F8 + ProfileVerificationState + verified + ProfileVersion + 1 + + + + diff --git a/src/planner/macos/profile_queries.rs b/src/planner/macos/profile_queries.rs new file mode 100644 index 000000000..36fa23803 --- /dev/null +++ b/src/planner/macos/profile_queries.rs @@ -0,0 +1,137 @@ +use crate::planner::macos::profiles::{ + HardDiskInternalOpts, MountControls, Policies, Profile, ProfileItem, SystemUIServer, Target, +}; + +struct TargetProfileItem<'a> { + target: &'a Target, + profile: &'a Profile, + item: &'a ProfileItem, +} + +pub struct TargetProfileHardDiskInternalOpts<'a> { + pub target: &'a Target, + pub profile: &'a Profile, + pub opts: &'a [HardDiskInternalOpts], +} + +impl TargetProfileHardDiskInternalOpts<'_> { + pub fn display(&self) -> String { + let owner = match self.target { + crate::planner::macos::profiles::Target::Computer => { + "A computer-wide profile".to_string() + }, + crate::planner::macos::profiles::Target::User(u) => format!("A profile owned by {u}"), + }; + + let desc = [ + ("Name", &self.profile.profile_display_name), + ( + "Version", + &self.profile.profile_version.map(|v| v.to_string()), + ), + ("Description", &self.profile.profile_description), + ("ID", &self.profile.profile_identifier), + ("UUID", &self.profile.profile_uuid), + ("Installation Date", &self.profile.profile_install_date), + ] + .into_iter() + .filter_map(|(k, v)| Some((k, (*v).as_ref()?))) + .map(|(key, val)| format!(" * {}: {}", key, val)) + .collect::>() + .join("\n"); + + format!("{owner}:\n{}\n", desc) + } +} + +fn flatten(policies: &Policies) -> impl Iterator { + policies + .iter() + .flat_map(|(target, profiles): (&Target, &Vec)| { + profiles.iter().map(move |profile| (target, profile)) + }) + .flat_map(|(target, profile): (&Target, &Profile)| { + profile + .profile_items + .iter() + .map(move |item| TargetProfileItem { + target, + profile, + item, + }) + }) +} + +pub fn blocks_internal_mounting(policies: &Policies) -> Vec { + flatten(policies) + .filter_map(move |target_profile_item| { + let ProfileItem::SystemUIServer(system_ui_server) = target_profile_item.item else { + return None; + }; + let SystemUIServer { + mount_controls: Some(mount_controls), + } = system_ui_server + else { + return None; + }; + + let MountControls { harddisk_internal } = mount_controls; + + return Some(TargetProfileHardDiskInternalOpts { + target: target_profile_item.target, + profile: target_profile_item.profile, + opts: &harddisk_internal, + }); + }) + .filter(|TargetProfileHardDiskInternalOpts { opts, .. }| { + opts.iter().any(|x| { + [ + HardDiskInternalOpts::ReadOnly, + HardDiskInternalOpts::Deny, + HardDiskInternalOpts::Eject, + ] + .contains(x) + }) + }) + .collect() +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn generate_error() { + let parsed: Policies = plist::from_reader(std::io::Cursor::new(include_str!( + "./profile.sample.block.plist" + ))) + .unwrap(); + + let blocks = blocks_internal_mounting(&parsed); + let err = &blocks[0]; + + assert_eq!( + r#"A profile owned by foo: + * Name: Don't allow mounting internal devices + * Version: 1 + * Description: The description + * ID: MyProfile.6F6670A3-65AC-4EA4-8665-91F8FCE289AB + * UUID: 6F6670A3-65AC-4EA4-8665-91F8FCE289AB + * Installation Date: 2024-04-22 14:12:42 +0000"# + .trim() + .to_string(), + err.display().trim() + ); + } + + #[test] + fn no_error() { + let parsed: Policies = plist::from_reader(std::io::Cursor::new(include_str!( + "./profile.sample.unknown.plist" + ))) + .unwrap(); + + let blocks = blocks_internal_mounting(&parsed); + assert!(blocks.is_empty()); + } +} diff --git a/src/planner/macos/profiles.rs b/src/planner/macos/profiles.rs new file mode 100644 index 000000000..6e7ad864b --- /dev/null +++ b/src/planner/macos/profiles.rs @@ -0,0 +1,162 @@ +use std::collections::HashMap; + +use crate::execute_command; + +#[derive(thiserror::Error, Debug)] +pub enum LoadError { + #[error("Profile plist parsing error: {0}")] + Parse(#[from] plist::Error), + + #[error("Profile discovery error: {0}")] + ProfileListing(#[from] crate::ActionErrorKind), +} + +pub async fn load() -> Result { + let buf = execute_command( + tokio::process::Command::new("/usr/bin/profiles") + // "prints all configuration profiles to console" + .arg("-P") + // "path to output XML plist file (for -P, -L, -C). Use 'stdout' to send information to the console." + // NOTE(grahamc): `stdout` doesn't output XML formatting, but `stdout-xml` does + .args(["-o", "stdout-xml"]) + .stdin(std::process::Stdio::null()), + ) + .await? + .stdout; + + Ok(plist::from_reader(std::io::Cursor::new(buf))?) +} + +pub type Policies = HashMap>; + +#[derive(serde::Deserialize, serde::Serialize, Clone, Debug, Eq, PartialEq, Hash)] +pub enum Target { + #[serde(rename(deserialize = "_computerlevel"))] + Computer, + #[serde(untagged)] + User(String), +} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(rename_all = "PascalCase")] +pub struct Profile { + pub profile_description: Option, + pub profile_display_name: Option, + pub profile_identifier: Option, + pub profile_install_date: Option, + #[serde(rename = "ProfileUUID")] + pub profile_uuid: Option, + pub profile_version: Option, + + #[serde(default)] + pub profile_items: Vec, +} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(tag = "PayloadType", content = "PayloadContent")] +pub enum ProfileItem { + #[serde(rename = "com.apple.systemuiserver")] + SystemUIServer(SystemUIServer), + + #[serde(untagged)] + Unknown(UnknownProfileItem), +} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq)] +#[serde(rename_all = "PascalCase")] +pub struct UnknownProfileItem { + payload_type: String, + payload_content: plist::Value, +} + +impl std::cmp::Eq for UnknownProfileItem {} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(rename_all = "kebab-case")] +pub struct SystemUIServer { + pub mount_controls: Option, +} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(rename_all = "kebab-case")] +pub struct MountControls { + #[serde(default)] + pub harddisk_internal: Vec, +} + +#[derive(serde::Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(rename_all = "kebab-case")] +pub enum HardDiskInternalOpts { + Authenticate, + ReadOnly, + Deny, + Eject, +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn try_parse_blocking_policy() { + let parsed: Policies = plist::from_reader(std::io::Cursor::new(include_str!( + "./profile.sample.block.plist" + ))) + .unwrap(); + assert_eq!( + Policies::from([( + Target::User("foo".into()), + vec![Profile { + profile_description: Some("The description".into()), + profile_display_name: Some("Don't allow mounting internal devices".into()), + profile_identifier: Some( + "MyProfile.6F6670A3-65AC-4EA4-8665-91F8FCE289AB".into() + ), + profile_install_date: Some("2024-04-22 14:12:42 +0000".into()), + profile_uuid: Some("6F6670A3-65AC-4EA4-8665-91F8FCE289AB".into()), + profile_version: Some(1), + profile_items: vec![ProfileItem::SystemUIServer(SystemUIServer { + mount_controls: Some(MountControls { + harddisk_internal: vec![HardDiskInternalOpts::Deny], + }) + })], + }] + )]), + parsed + ); + } + + #[test] + fn try_parse_unknown() { + let parsed: Policies = plist::from_reader(std::io::Cursor::new(include_str!( + "./profile.sample.unknown.plist" + ))) + .unwrap(); + + assert_eq!( + Policies::from([( + Target::Computer, + vec![Profile { + profile_description: Some("".into()), + profile_display_name: Some( + "macOS Software Update Policy: Mandatory Minor Upgrades".into() + ), + profile_identifier: Some("com.example".into()), + profile_install_date: Some("2024-04-22 00:00:00 +0000".into()), + profile_uuid: Some("F7972F85-2A4D-4609-A4BB-02CB0C34A3F8".into()), + profile_version: Some(1), + profile_items: vec![ProfileItem::Unknown(UnknownProfileItem { + payload_type: "com.apple.SoftwareUpdate".into(), + payload_content: plist::Value::Dictionary({ + let mut dict = plist::dictionary::Dictionary::new(); + dict.insert("AllowPreReleaseInstallation".into(), false.into()); + dict.insert("AutomaticCheckEnabled".into(), true.into()); + dict + }) + })], + }] + )]), + parsed + ); + } +} From 099a29ed7ac6cd90df936f4e24c2c712b1f4d9c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 13:06:28 +0000 Subject: [PATCH 47/53] Bump serde from 1.0.197 to 1.0.200 (#951) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.197 to 1.0.200. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.200) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f94069c76..ebc258767 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1504,18 +1504,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.197" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.200" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index ab3eb0604..1f33661e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ glob = { version = "0.3.0", default-features = false } nix = { version = "0.28.0", default-features = false, features = ["user", "fs", "process", "term"] } owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } reqwest = { version = "0.12.3", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } -serde = { version = "1.0.144", default-features = false, features = [ "std", "derive" ] } +serde = { version = "1.0.200", default-features = false, features = [ "std", "derive" ] } serde_json = { version = "1.0.85", default-features = false, features = [ "std" ] } serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } tar = { version = "0.4.38", default-features = false, features = [ "xattr" ] } From 61208e7a05fc9cbb47f73603d11ce97d67379c84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 13:14:07 +0000 Subject: [PATCH 48/53] Bump thiserror from 1.0.58 to 1.0.59 (#949) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.58 to 1.0.59. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ebc258767..975fe8e31 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1747,18 +1747,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 1f33661e5..530f9b5e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ serde_json = { version = "1.0.85", default-features = false, features = [ "std" serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } tar = { version = "0.4.38", default-features = false, features = [ "xattr" ] } target-lexicon = { version = "0.12.4", default-features = false, features = [ "std" ] } -thiserror = { version = "1.0.33", default-features = false } +thiserror = { version = "1.0.59", default-features = false } tokio = { version = "1.21.0", default-features = false, features = ["time", "io-std", "process", "fs", "signal", "tracing", "rt-multi-thread", "macros", "io-util", "parking_lot" ] } tracing = { version = "0.1.36", default-features = false, features = [ "std", "attributes" ] } tracing-error = { version = "0.2.0", default-features = false, optional = true, features = ["traced-error"] } From 4753caa98223db0013556f4e02e69223d9df7608 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 13:25:52 +0000 Subject: [PATCH 49/53] Bump reqwest from 0.12.3 to 0.12.4 (#947) Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.3 to 0.12.4. - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.3...v0.12.4) --- updated-dependencies: - dependency-name: reqwest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 975fe8e31..2cc50deaf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1304,9 +1304,9 @@ checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ "base64 0.22.0", "bytes 1.6.0", diff --git a/Cargo.toml b/Cargo.toml index 530f9b5e9..0c9dad394 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ eyre = { version = "0.6.8", default-features = false, features = [ "track-caller glob = { version = "0.3.0", default-features = false } nix = { version = "0.28.0", default-features = false, features = ["user", "fs", "process", "term"] } owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } -reqwest = { version = "0.12.3", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } +reqwest = { version = "0.12.4", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.200", default-features = false, features = [ "std", "derive" ] } serde_json = { version = "1.0.85", default-features = false, features = [ "std" ] } serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } From ccf1d39a83099657ad324e7927676432435431e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 13:46:15 +0000 Subject: [PATCH 50/53] Bump serde_json from 1.0.115 to 1.0.116 (#950) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.115 to 1.0.116. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.115...v1.0.116) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2cc50deaf..7e601f85f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1524,9 +1524,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", diff --git a/Cargo.toml b/Cargo.toml index 0c9dad394..a6fa0f70c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ nix = { version = "0.28.0", default-features = false, features = ["user", "fs", owo-colors = { version = "4.0.0", default-features = false, features = [ "supports-colors" ] } reqwest = { version = "0.12.4", default-features = false, features = ["rustls-tls-native-roots", "stream", "socks"] } serde = { version = "1.0.200", default-features = false, features = [ "std", "derive" ] } -serde_json = { version = "1.0.85", default-features = false, features = [ "std" ] } +serde_json = { version = "1.0.116", default-features = false, features = [ "std" ] } serde_with = { version = "3", default-features = false, features = [ "std", "macros" ] } tar = { version = "0.4.38", default-features = false, features = [ "xattr" ] } target-lexicon = { version = "0.12.4", default-features = false, features = [ "std" ] } From 3d016779a65574ce76331760a7fbf3f2972ff40b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 13:47:38 +0000 Subject: [PATCH 51/53] Bump serde_with from 3.7.0 to 3.8.1 (#948) Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.7.0 to 3.8.1. - [Release notes](https://github.com/jonasbb/serde_with/releases) - [Commits](https://github.com/jonasbb/serde_with/compare/v3.7.0...v3.8.1) --- updated-dependencies: - dependency-name: serde_with dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e601f85f..6086b8988 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1547,11 +1547,11 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ - "base64 0.21.7", + "base64 0.22.0", "chrono", "hex", "indexmap 1.9.3", @@ -1565,9 +1565,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ "darling", "proc-macro2", From 100decf685e34956f5acbde8e9f281a8e8bbe162 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 3 May 2024 08:43:09 -0700 Subject: [PATCH 52/53] Update deps (#953) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * flake.lock: Update Flake lock file updates: • Updated input 'fenix': 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1822%2Brev-209048d7c545905c470f6f8c05c5061f391031a8/018e98ba-d842-7dad-9d6a-0d0ee173b6b1/source.tar.gz?narHash=sha256-WJvDdOph001fA1Ap3AyaQtz/afJAe7meSG5uJAdSE%2BA%3D' (2024-04-01) → 'https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1852%2Brev-73124e1356bde9411b163d636b39fe4804b7ca45/018f333a-c195-795f-9e07-b43b47d5391f/source.tar.gz?narHash=sha256-kF1bX%2BYFMedf1g0PAJYwGUkzh22JmULtj8Rm4IXAQKs%3D' (2024-05-01) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/e4a405f877efd820bef9c0e77a02494e47c17512?narHash=sha256-dyezzeSbWMpflma%2BE9USmvSxuLgGcNGcGw3cOnX36ko%3D' (2024-03-31) → 'github:rust-lang/rust-analyzer/49e502b277a8126a9ad10c802d1aaa3ef1a280ef?narHash=sha256-g31zfxwUFzkPgX0Q8sZLcrqGmOxwjEZ/iqJjNx4fEGo%3D' (2024-04-30) • Updated input 'naersk': 'github:nix-community/naersk/aeb58d5e8faead8980a807c840232697982d47b9?narHash=sha256-/TdeHMPRjjdJub7p7%2Bw55vyABrsJlt5QkznPYy55vKA%3D' (2023-10-27) → 'github:nix-community/naersk/c5037590290c6c7dae2e42e7da1e247e54ed2d49?narHash=sha256-CO8MmVDmqZX2FovL75pu5BvwhW%2BVugc7Q6ze7Hj8heI%3D' (2024-04-19) • Updated input 'nix/nixpkgs': 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.558121%2Brev-0638fe2715d998fa81d173aad264eb671ce2ebc1/018f3583-6e0d-7f3d-9871-ca7b6c8c73df/source.tar.gz?narHash=sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg%3D' (2024-05-01) → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.557721%2Brev-53a2c32bc66f5ae41a28d7a9a49d321172af621e/018ee413-6e9c-72d4-be11-b9bef24c16bc/source.tar.gz?narHash=sha256-m7%2BIWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s%3D' (2024-04-15) • Updated input 'nixpkgs': 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.598982%2Brev-b06025f1533a1e07b6db3e75151caa155d1c7eb3/018e577a-86bd-7b2f-b434-442e9ada5378/source.tar.gz?narHash=sha256-qrxvLS888pNJFwJdK%2Bhf1wpRCSQcqA6W5%2BOx202NDa0%3D' (2024-03-19) → 'https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.619660%2Brev-63c3a29ca82437c87573e4c6919b09a24ea61b0f/018f3b26-5e03-7aa3-b783-09324dde70c2/source.tar.gz?narHash=sha256-4cPymbty65RvF1DWQfc%2BBc8B233A1BWxJnNULJKQ1EY%3D' (2024-05-02) * cargo update --aggressive --- Cargo.lock | 124 ++++++++++++++++++++++++++++++----------------------- flake.lock | 42 +++++++++--------- 2 files changed, 91 insertions(+), 75 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6086b8988..2349f8fe9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,47 +43,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -129,9 +130,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" @@ -178,9 +179,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.94" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd" [[package]] name = "cfg-if" @@ -277,9 +278,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "core-foundation" @@ -445,9 +446,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "filetime" @@ -457,7 +458,7 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "windows-sys 0.52.0", ] @@ -574,9 +575,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "heck" @@ -653,9 +654,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "hyper" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f24ce812868d86d19daa79bf3bf9175bc44ea323391147a5e3abde2a283871b" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" dependencies = [ "bytes 1.6.0", "futures-channel", @@ -770,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "serde", ] @@ -812,6 +813,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itoa" version = "1.0.11" @@ -835,9 +842,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libredox" @@ -863,9 +870,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1090,9 +1097,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -1100,15 +1107,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.1", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -1183,9 +1190,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] @@ -1247,6 +1254,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "redox_users" version = "0.4.5" @@ -1308,7 +1324,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "bytes 1.6.0", "futures-core", "futures-util", @@ -1369,9 +1385,9 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -1413,21 +1429,21 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" dependencies = [ "ring", "rustls-pki-types", @@ -1551,7 +1567,7 @@ version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", @@ -1586,9 +1602,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -1610,9 +1626,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1676,9 +1692,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.59" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", @@ -2234,11 +2250,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] diff --git a/flake.lock b/flake.lock index 9a7c2077e..f4ce65438 100644 --- a/flake.lock +++ b/flake.lock @@ -8,12 +8,12 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1711952616, - "narHash": "sha256-WJvDdOph001fA1Ap3AyaQtz/afJAe7meSG5uJAdSE+A=", - "rev": "209048d7c545905c470f6f8c05c5061f391031a8", - "revCount": 1822, + "lastModified": 1714544767, + "narHash": "sha256-kF1bX+YFMedf1g0PAJYwGUkzh22JmULtj8Rm4IXAQKs=", + "rev": "73124e1356bde9411b163d636b39fe4804b7ca45", + "revCount": 1852, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1822%2Brev-209048d7c545905c470f6f8c05c5061f391031a8/018e98ba-d842-7dad-9d6a-0d0ee173b6b1/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1852%2Brev-73124e1356bde9411b163d636b39fe4804b7ca45/018f333a-c195-795f-9e07-b43b47d5391f/source.tar.gz" }, "original": { "type": "tarball", @@ -73,11 +73,11 @@ ] }, "locked": { - "lastModified": 1698420672, - "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", + "lastModified": 1713520724, + "narHash": "sha256-CO8MmVDmqZX2FovL75pu5BvwhW+Vugc7Q6ze7Hj8heI=", "owner": "nix-community", "repo": "naersk", - "rev": "aeb58d5e8faead8980a807c840232697982d47b9", + "rev": "c5037590290c6c7dae2e42e7da1e247e54ed2d49", "type": "github" }, "original": { @@ -158,12 +158,12 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1714531828, - "narHash": "sha256-ILsf3bdY/hNNI/Hu5bSt2/KbmHaAVhBbNUOdGztTHEg=", - "rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1", - "revCount": 558121, + "lastModified": 1713145326, + "narHash": "sha256-m7+IWM6mkWOg22EC5kRUFCycXsXLSU7hWmHdmBfmC3s=", + "rev": "53a2c32bc66f5ae41a28d7a9a49d321172af621e", + "revCount": 557721, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.558121%2Brev-0638fe2715d998fa81d173aad264eb671ce2ebc1/018f3583-6e0d-7f3d-9871-ca7b6c8c73df/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.557721%2Brev-53a2c32bc66f5ae41a28d7a9a49d321172af621e/018ee413-6e9c-72d4-be11-b9bef24c16bc/source.tar.gz" }, "original": { "type": "tarball", @@ -172,12 +172,12 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", - "revCount": 598982, + "lastModified": 1714635257, + "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", + "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", + "revCount": 619660, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.598982%2Brev-b06025f1533a1e07b6db3e75151caa155d1c7eb3/018e577a-86bd-7b2f-b434-442e9ada5378/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.619660%2Brev-63c3a29ca82437c87573e4c6919b09a24ea61b0f/018f3b26-5e03-7aa3-b783-09324dde70c2/source.tar.gz" }, "original": { "type": "tarball", @@ -196,11 +196,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1711885694, - "narHash": "sha256-dyezzeSbWMpflma+E9USmvSxuLgGcNGcGw3cOnX36ko=", + "lastModified": 1714501997, + "narHash": "sha256-g31zfxwUFzkPgX0Q8sZLcrqGmOxwjEZ/iqJjNx4fEGo=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "e4a405f877efd820bef9c0e77a02494e47c17512", + "rev": "49e502b277a8126a9ad10c802d1aaa3ef1a280ef", "type": "github" }, "original": { From 18d265a6ab4fe2b4e0317ee6b449d30178d53073 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 3 May 2024 12:53:37 -0700 Subject: [PATCH 53/53] Release v0.19.0 (#954) * flake.nix: fixup hydraJobs binaryTarball references * Release v0.19.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- flake.nix | 8 +++++--- tests/fixtures/linux/linux.json | 4 ++-- tests/fixtures/linux/steam-deck.json | 4 ++-- tests/fixtures/macos/macos.json | 4 ++-- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2349f8fe9..945e25e12 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -961,7 +961,7 @@ dependencies = [ [[package]] name = "nix-installer" -version = "0.18.0" +version = "0.19.0" dependencies = [ "async-trait", "bytes 1.6.0", diff --git a/Cargo.toml b/Cargo.toml index a6fa0f70c..037a18c72 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "nix-installer" description = "The Determinate Nix Installer" -version = "0.18.0" +version = "0.19.0" edition = "2021" resolver = "2" license = "LGPL-2.1" diff --git a/flake.nix b/flake.nix index 3961b3c81..2810c06a2 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ }; sharedAttrs = { pname = "nix-installer"; - version = "0.18.0"; + version = "0.19.0"; src = builtins.path { name = "nix-installer-source"; path = self; @@ -210,12 +210,14 @@ hydraJobs = { vm-test = import ./nix/tests/vm-test { inherit forSystem; - inherit (nix.hydraJobs) binaryTarball; inherit (nixpkgs) lib; + + binaryTarball = nix.tarballs_indirect; }; container-test = import ./nix/tests/container-test { inherit forSystem; - inherit (nix.hydraJobs) binaryTarball; + + binaryTarball = nix.tarballs_indirect; }; }; }; diff --git a/tests/fixtures/linux/linux.json b/tests/fixtures/linux/linux.json index fb969a4cb..df06c477c 100644 --- a/tests/fixtures/linux/linux.json +++ b/tests/fixtures/linux/linux.json @@ -1,5 +1,5 @@ { - "version": "0.18.0", + "version": "0.19.0", "actions": [ { "action": { @@ -425,7 +425,7 @@ } }, "diagnostic_data": { - "version": "0.18.0", + "version": "0.19.0", "planner": "linux", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/linux/steam-deck.json b/tests/fixtures/linux/steam-deck.json index bcf86081e..373016b84 100644 --- a/tests/fixtures/linux/steam-deck.json +++ b/tests/fixtures/linux/steam-deck.json @@ -1,5 +1,5 @@ { - "version": "0.18.0", + "version": "0.19.0", "actions": [ { "action": { @@ -405,7 +405,7 @@ } }, "diagnostic_data": { - "version": "0.18.0", + "version": "0.19.0", "planner": "steam-deck", "configured_settings": [], "os_name": "Ubuntu", diff --git a/tests/fixtures/macos/macos.json b/tests/fixtures/macos/macos.json index 740fa23e6..d839eca1e 100644 --- a/tests/fixtures/macos/macos.json +++ b/tests/fixtures/macos/macos.json @@ -1,5 +1,5 @@ { - "version": "0.18.0", + "version": "0.19.0", "actions": [ { "action": { @@ -438,7 +438,7 @@ "root_disk": "disk3" }, "diagnostic_data": { - "version": "0.18.0", + "version": "0.19.0", "planner": "macos", "configured_settings": [], "os_name": "unknown",