From 4493fcb0a84300fc3528afa96b5b24cbffa5d794 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 17 Nov 2025 07:11:58 +0700 Subject: [PATCH 1/2] Run cargo fetch on fetch --- src/cook/fetch.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index eca04b0c3..33d02bbeb 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -306,6 +306,14 @@ pub fn fetch(recipe_dir: &Path, recipe: &Recipe, logger: &PtyOut) -> Result, + logger: &PtyOut, +) -> Result<(), String> { + let mut target_dir = recipe_dir.clone(); + if let Some(package_path) = package_path { + target_dir = target_dir.join(package_path); + } + + let mut command = if is_redox() { + Command::new("cargo") + } else { + let cookbook_redoxer = Path::new("target/release/cookbook_redoxer") + .canonicalize() + .unwrap_or(PathBuf::from("/bin/false")); + Command::new(&cookbook_redoxer) + }; + command.arg("fetch"); + command.arg("--manifest-path"); + command.arg(target_dir.join("Cargo.toml").into_os_string()); + run_command(command, logger)?; + Ok(()) +} + pub(crate) fn fetch_is_patches_newer( recipe_dir: &Path, patches: &Vec, From a2fe40bbfe9fd21d14b7bc9cdd2d72bb5462e4c1 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 17 Nov 2025 07:30:39 +0700 Subject: [PATCH 2/2] Rename to source_dir --- src/cook/fetch.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index 33d02bbeb..1b31d96bb 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -391,13 +391,13 @@ pub(crate) fn fetch_extract_tar( } pub(crate) fn fetch_cargo( - recipe_dir: &PathBuf, + source_dir: &PathBuf, package_path: Option<&String>, logger: &PtyOut, ) -> Result<(), String> { - let mut target_dir = recipe_dir.clone(); + let mut source_dir = source_dir.clone(); if let Some(package_path) = package_path { - target_dir = target_dir.join(package_path); + source_dir = source_dir.join(package_path); } let mut command = if is_redox() { @@ -410,7 +410,7 @@ pub(crate) fn fetch_cargo( }; command.arg("fetch"); command.arg("--manifest-path"); - command.arg(target_dir.join("Cargo.toml").into_os_string()); + command.arg(source_dir.join("Cargo.toml").into_os_string()); run_command(command, logger)?; Ok(()) }