linuxdeploy-plugin-qt icon indicating copy to clipboard operation
linuxdeploy-plugin-qt copied to clipboard

Add option for ignoring Qt modules

Open Zaraka opened this issue 1 year ago • 2 comments

For some reason, linuxdeploy-plugin-qt started deploying the Qt6Sql module even though I do not use SQL anywhere in my project. This would not be a problem normally, but also if I run the linuxdeploy twice it fails on the second run because it is unable to locate libmimerapi.so

I want to be able to:

  1. Explicitly disable Qt modules for linking
  2. Probably also explicitly disable library files for dependencies if I want to include Qt6Sql module anyway

Zaraka avatar Nov 10 '23 15:11 Zaraka

As I was digging around I have noticed, for some reason many more modules are included. Modules I do not use at all. Things like PDF, StateMachine etc. I have scanned the codebase many times, there is not a single mention/use of any of these modules in my C++ or QML code. Finally, on the second run linuxdeploy-plugin-qt scans also already existing files in AppDir/usr/lib and then tried to satisfy even more dependencies which end up with a failure to find libmimerapi.so.

A workaround is to delete contents of AppDir/usr/lib before running linuxdeploy. This still deploys many unwanted Qt modules, but it finishes the AppImage

Zaraka avatar Nov 11 '23 08:11 Zaraka

Something in your bundle must link to Qt6Sql. That's the only reason why this plugin would start shipping those files. Please share a complete(!) log.

That said, PRs welcome for your feature proposal. We should track both things separately. So please open a new issue with your build log.

TheAssassin avatar Dec 10 '23 22:12 TheAssassin