Skip to content

Conversation

NBA2K1
Copy link
Contributor

@NBA2K1 NBA2K1 commented Jul 11, 2025

This PR addresses several issues with the Windows and Linux build and release workflows, improving version handling, packaging consistency, and correctness of desktop integration.

Summary of changes:

  • Windows:

    • Removed the use of a Bash command in the Windows workflow since Bash is not valid on Windows. (Update PATH)
    • Fixed version display by removing the --app-version argument from the inno_bundle build command (previously it was showing 1.0.0)
    • Improved renaming of installer executable using PowerShell to be more robust.
  • Linux RPM package:

    • Dynamically extract the version from pubspec.yaml for RPM packaging, fixing the previous hardcoded version issue (1.0.0).
  • Linux AppImage:

    • Replaced appimagetool with linuxdeploy to bundle all required libraries and make the AppImage fully self-contained.
    • Added image resizing for icons using imagemagick (convert) to ensure icon consistency.
  • Linux DEB package:

    • Replaced deprecated flutter_distributor with the newer fastforge tool for deb package creation.
    • Updated linux/packaging/deb/make_config to adjust installed size and include necessary dependencies.

Additionally, all Linux builds now use the same .desktop file. The auto-generated .desktop file created by fastforge (formerly flutter_distributor) includes a 'Version' key, which is not part of the freedesktop.org specification. To my knowledge it is not possible to disable that and provide a custom one directly. That's why we have to repackage it.

NBA2K1 added 10 commits July 10, 2025 04:55
By not passing --app-version or the Flutter build flags at all, inno_bundle will read the pubspec.yaml and pass `--build-name 0.6.3 --build-number 85` down into `flutter build windows` And stamp both the EXE’s PE resource and the Inno Setup installer with that exact version.
https://pub.dev/documentation/flutter_distributor/latest/

> **Important Notice**: flutter_distributor has been renamed to [fastforge](https://github.com/fastforgedev/fastforge).
    You can continue to use flutter_distributor, but we recommend migrating to fastforge for the latest features and updates.
    Please visit https://fastforge.dev for more information.
and add required dependencies
linuxdeploy automatically grabs the required libraries for Mangayomi and packs them into the AppImage.
fastforge always generates a .desktop file with incorrect semantics.
The generated .desktop file incorrectly includes a 'Version' key, which is not part of the freedesktop.org specification.
fastforgedev/fastforge#158
@kodjodevf kodjodevf merged commit 47c9b79 into kodjodevf:main Jul 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants