diff --git a/plugins/updater/tests/app-updater/tests/update.rs b/plugins/updater/tests/app-updater/tests/update.rs index 230ab376..6deb21e4 100644 --- a/plugins/updater/tests/app-updater/tests/update.rs +++ b/plugins/updater/tests/app-updater/tests/update.rs @@ -82,9 +82,8 @@ fn build_app(cwd: &Path, config: &Config, bundle_updater: bool, target: BundleTa #[derive(Copy, Clone)] enum BundleTarget { AppImage, - + Deb, App, - Msi, Nsis, } @@ -93,6 +92,7 @@ impl BundleTarget { fn name(self) -> &'static str { match self { Self::AppImage => "appimage", + Self::Deb => "deb", Self::App => "app", Self::Msi => "msi", Self::Nsis => "nsis", @@ -105,7 +105,15 @@ impl Default for BundleTarget { #[cfg(any(target_os = "macos", target_os = "ios"))] return Self::App; #[cfg(target_os = "linux")] - return Self::AppImage; + { + // Check if we're on a Debian-based system + if std::path::Path::new("/var/lib/dpkg").exists() + && std::path::Path::new("/etc/apt").exists() + { + return Self::Deb; + } + return Self::AppImage; + } #[cfg(windows)] return Self::Nsis; } @@ -113,12 +121,23 @@ impl Default for BundleTarget { #[cfg(target_os = "linux")] fn bundle_paths(root_dir: &Path, version: &str) -> Vec<(BundleTarget, PathBuf)> { - vec![( - BundleTarget::AppImage, - root_dir.join(format!( - "target/debug/bundle/appimage/app-updater_{version}_amd64.AppImage" - )), - )] + // Check if we're on a Debian-based system + if std::path::Path::new("/var/lib/dpkg").exists() + && std::path::Path::new("/etc/apt").exists() { + vec![( + BundleTarget::Deb, + root_dir.join(format!( + "target/debug/bundle/deb/app-updater_{version}_amd64.deb" + )), + )] + } else { + vec![( + BundleTarget::AppImage, + root_dir.join(format!( + "target/debug/bundle/appimage/app-updater_{version}_amd64.AppImage" + )), + )] + } } #[cfg(target_os = "macos")]