From 939afdeb987190fcbf9607c50884e029f48bd14e Mon Sep 17 00:00:00 2001 From: amrbashir Date: Wed, 5 Jun 2024 01:26:54 +0300 Subject: [PATCH 1/3] fix(rpm): use product name for output package ref: https://github.com/tauri-apps/tauri/pull/9375 ref: https://github.com/tauri-apps/tauri/pull/9375#issuecomment-2144997488 --- .changes/bundler-rpm-filename.md | 6 ++++++ tooling/bundler/src/bundle/linux/rpm.rs | 20 +++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 .changes/bundler-rpm-filename.md diff --git a/.changes/bundler-rpm-filename.md b/.changes/bundler-rpm-filename.md new file mode 100644 index 000000000000..d922e4e44757 --- /dev/null +++ b/.changes/bundler-rpm-filename.md @@ -0,0 +1,6 @@ +--- +"tauri-bundler": "patch:bug" +--- + +Use the `productName` for `rpm` package name instead of main binary name, to be consistent with other bundle types. + diff --git a/tooling/bundler/src/bundle/linux/rpm.rs b/tooling/bundler/src/bundle/linux/rpm.rs index ee3383ae7661..0724089f5aa4 100644 --- a/tooling/bundler/src/bundle/linux/rpm.rs +++ b/tooling/bundler/src/bundle/linux/rpm.rs @@ -18,7 +18,7 @@ use super::freedesktop; /// Bundles the project. /// Returns a vector of PathBuf that shows where the RPM was created. pub fn bundle_project(settings: &Settings) -> crate::Result> { - let name = settings.main_binary_name(); + let product_name = settings.product_name(); let version = settings.version_string(); let release = settings.rpm().release.as_str(); let epoch = settings.rpm().epoch; @@ -30,7 +30,7 @@ pub fn bundle_project(settings: &Settings) -> crate::Result> { let summary = settings.short_description().trim(); - let package_base_name = format!("{name}-{version}-{release}.{arch}"); + let package_base_name = format!("{product_name}-{version}-{release}.{arch}"); let package_name = format!("{package_base_name}.rpm"); let base_dir = settings.project_out_directory().join("bundle/rpm"); @@ -45,11 +45,17 @@ pub fn bundle_project(settings: &Settings) -> crate::Result> { log::info!(action = "Bundling"; "{} ({})", package_name, package_path.display()); let license = settings.license().unwrap_or_default(); - let mut builder = rpm::PackageBuilder::new(name, version, &license, arch, summary) - .epoch(epoch) - .release(release) - // This matches .deb compression. On a 240MB source binary the bundle will be 100KB larger than rpm's default while reducing build times by ~25%. - .compression(rpm::CompressionWithLevel::Gzip(6)); + let mut builder = rpm::PackageBuilder::new( + settings.main_binary_name(), + version, + &license, + arch, + summary, + ) + .epoch(epoch) + .release(release) + // This matches .deb compression. On a 240MB source binary the bundle will be 100KB larger than rpm's default while reducing build times by ~25%. + .compression(rpm::CompressionWithLevel::Gzip(6)); if let Some(description) = settings.long_description() { builder = builder.description(description.trim()) From 633f7cef6d0db43b8d2da39a9e4738ac86cb88ef Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Wed, 5 Jun 2024 19:11:23 +0300 Subject: [PATCH 2/3] use kebab-case product-name for rpm --- tooling/bundler/src/bundle/linux/rpm.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tooling/bundler/src/bundle/linux/rpm.rs b/tooling/bundler/src/bundle/linux/rpm.rs index 0724089f5aa4..f2895ac74430 100644 --- a/tooling/bundler/src/bundle/linux/rpm.rs +++ b/tooling/bundler/src/bundle/linux/rpm.rs @@ -43,10 +43,11 @@ pub fn bundle_project(settings: &Settings) -> crate::Result> { let package_path = base_dir.join(&package_name); log::info!(action = "Bundling"; "{} ({})", package_name, package_path.display()); - + let license = settings.license().unwrap_or_default(); + let name = heck::AsKebabCase(settings.product_name()).to_string(); let mut builder = rpm::PackageBuilder::new( - settings.main_binary_name(), + &name, version, &license, arch, From a2dcdd15baa0c83ad76883260cf4db2853ecfcb8 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Wed, 5 Jun 2024 19:22:05 +0300 Subject: [PATCH 3/3] fmt --- tooling/bundler/src/bundle/linux/rpm.rs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/tooling/bundler/src/bundle/linux/rpm.rs b/tooling/bundler/src/bundle/linux/rpm.rs index f2895ac74430..209f62f90e62 100644 --- a/tooling/bundler/src/bundle/linux/rpm.rs +++ b/tooling/bundler/src/bundle/linux/rpm.rs @@ -43,20 +43,14 @@ pub fn bundle_project(settings: &Settings) -> crate::Result> { let package_path = base_dir.join(&package_name); log::info!(action = "Bundling"; "{} ({})", package_name, package_path.display()); - + let license = settings.license().unwrap_or_default(); let name = heck::AsKebabCase(settings.product_name()).to_string(); - let mut builder = rpm::PackageBuilder::new( - &name, - version, - &license, - arch, - summary, - ) - .epoch(epoch) - .release(release) - // This matches .deb compression. On a 240MB source binary the bundle will be 100KB larger than rpm's default while reducing build times by ~25%. - .compression(rpm::CompressionWithLevel::Gzip(6)); + let mut builder = rpm::PackageBuilder::new(&name, version, &license, arch, summary) + .epoch(epoch) + .release(release) + // This matches .deb compression. On a 240MB source binary the bundle will be 100KB larger than rpm's default while reducing build times by ~25%. + .compression(rpm::CompressionWithLevel::Gzip(6)); if let Some(description) = settings.long_description() { builder = builder.description(description.trim())