Add option to list available Qt modules
Follow-up from https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/61#issuecomment-586592499.
From what I understand, Qt modules are not loaded dynamically and thus deploying them is not optional. They have to be deployed since the binary directly links against them at build time. What is the use case of being able to specify extra modules to deploy?
(The EXTRA_QT_PLUGINS env var is named rather unfortunately. It seems to deploy modules, not plugins.)
@realnc we auto-discover ("guessify", if you want so) the plugins that have to be deployed. This can fail in some cases. Therefore we offer the option to add additional modules. This has been influenced by linuxdeployqt.
By implementing an option to list the modules, a user can get an idea what they may specify for the environment variable.
I agree the name of the variable might be misleading. I'm open to renaming it (while keeping the original for compatibility reasons).
By the way, I'm not a Qt expert. I might not fully comply to the lingo. Modules, plugins and other terms might be used wrongly. Please don't hesitate to open issues or send PRs to fix those problems.
we auto-discover ("guessify", if you want so) the plugins that have to be deployed. This can fail in some cases.
Do you know which cases? Modules should show up in ldd output of anything that uses them.
IIRC there was something about different database drivers. But I'm not entirely sure. It doesn't hurt to offer this option, after all.
IIRC there was something about different database drivers. But I'm not entirely sure. It doesn't hurt to offer this option, after all.
The database drivers are plugins, not modules. So you can't deploy them with EXTRA_QT_PLUGINS.
True. And I see the difference to linuxdeploy.
My suggestion: let's introduce EXTRA_QT_MODULES (just because it's no effort to rename that variable), and add a new EXTRA_QT_PLUGINS that actually goes for plugin names. Then you can specify e.g., platform themes by specifying EXTRA_QT_PLUGINS=platformthemes/libqgtk3.so.
EXTRA_QT_PLUGINS should definitely be renamed to EXTRA_QT_MODULES as the current name is an missleading.
I was just bitten by this. @TheAssassin did you find a good workaround to deploy actual plug-ins?