crabnebula-dev / cargo-packager

Rust executable packager, bundler and updater.
https://docs.crabnebula.dev/packager/
Apache License 2.0
241 stars 16 forks source link

Failing AppImage Packaging while using `out-dir` #206

Open naman-crabnebula opened 5 months ago

naman-crabnebula commented 5 months ago

So, I came across a weird bug in Packager that while building AppImage, it fails with error

DEBUG cargo_packager::package::appimage: Writing target/release/.cargo-packager/appimage/build_appimage.sh and setting its permissions to 764
 INFO cargo_packager::package::appimage: Packaging tauri-app_0.0.1_x86_64.AppImage (/home/namang/Desktop/fixing/tauri-app/src-tauri/target/release/tauri-app_0.0.1_x86_64.AppImage)
DEBUG cargo_packager::shell: Running Command `cd "target/release/.cargo-packager/appimage" && "target/release/.cargo-packager/appimage/build_appimage.sh"`
ERROR cargo_packager::cli: Error running bundle_appimage.sh script: No such file or directory (os error 2)

This happens in Arch Linux as well as Ubuntu 22.04

However, packaging again the same package has no issue

Reproduction

  1. Create a Tauri App

  2. Add Configuration in Cargo.toml

    [package.metadata.packager]
    name = "tauri"
    product-name = "tauri"
    identifier = "com.tauri.example"
    version = "0.0.1"
    before-each-package-command = "cargo build --release"
    out-dir = "target/release"
    resources = [
    "resources",
    ]
    icons=[
    "resources/icons/icon256x256.png",
    "resources/icons/icon.ico"
    ]
  3. Run

    cargo packager --release --verbose

See, it fails

  1. Run `` cargo packager --release --verbose
    
    Again, and it packages the application fine.

Additional Info

Whenever I use out-dir other than that, it fails straightforward for all packages ( Debian as well )

For example, using

out-dir = "Random"

Fails, even if the directory exists

 INFO cargo_packager::package::deb: Packaging tauri-app_0.0.1_amd64.deb (/home/namang/Desktop/fixing/tauri-app/src-tauri/Random/tauri-app_0.0.1_amd64.deb)
DEBUG cargo_packager::package::deb: Generating data
DEBUG cargo_packager::package::deb: Copying binaries
ERROR cargo_packager::cli: No such file or directory (os error 2)
denjell-crabnebula commented 5 months ago

I can confirm I have actually had a similar problem on macOS with Tauri sometimes... The first build fails, but the second one completes.