From e3d855ca66a4759f5043853beeaa11d2492afdb9 Mon Sep 17 00:00:00 2001 From: Valentin Haudiquet Date: Tue, 11 Aug 2026 11:33:12 +0200 Subject: [PATCH] deb: detect package directory using cwd remove linux-riscv specific quirk --- quirks.yml | 4 ---- src/deb/mod.rs | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/quirks.yml b/quirks.yml index 388a743..43ceb5f 100644 --- a/quirks.yml +++ b/quirks.yml @@ -13,7 +13,3 @@ quirks: # parameters: # key: value - linux-riscv: - deb: - package_directory: - - linux-main diff --git a/src/deb/mod.rs b/src/deb/mod.rs index 8fdc41b..1efa7ed 100644 --- a/src/deb/mod.rs +++ b/src/deb/mod.rs @@ -150,6 +150,23 @@ pub(crate) fn find_package_directory( } } + // Try the current working directory name as a package directory + // This is useful when the user is inside a non-standard package directory + // e.g. ~/kernels/linux-riscv/linux-main -> tries "linux-main" + if let Ok(cwd) = std::env::current_dir() + && let Some(cwd_name) = cwd.file_name() + { + let cwd_name_str = cwd_name.to_string_lossy(); + let package_dir = parent_dir.join(cwd_name_str.as_ref()); + if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? { + log::debug!( + "Found package directory via CWD name: {}", + package_dir.display() + ); + return Ok(package_dir); + } + } + // Try package/package pattern first let package_dir = parent_dir.join(package).join(package); if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? {