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

Add option to list available Qt modules

Open TheAssassin opened this issue 5 years ago • 9 comments

Follow-up from https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/61#issuecomment-586592499.

TheAssassin avatar Feb 15 '20 13:02 TheAssassin

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 avatar Feb 16 '20 18:02 realnc

@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).

TheAssassin avatar Feb 16 '20 18:02 TheAssassin

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.

TheAssassin avatar Feb 16 '20 18:02 TheAssassin

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.

realnc avatar Feb 16 '20 18:02 realnc

IIRC there was something about different database drivers. But I'm not entirely sure. It doesn't hurt to offer this option, after all.

TheAssassin avatar Feb 16 '20 18:02 TheAssassin

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.

realnc avatar Feb 16 '20 18:02 realnc

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.

TheAssassin avatar Feb 16 '20 19:02 TheAssassin

EXTRA_QT_PLUGINS should definitely be renamed to EXTRA_QT_MODULES as the current name is an missleading.

mnesarco avatar Dec 29 '20 15:12 mnesarco

I was just bitten by this. @TheAssassin did you find a good workaround to deploy actual plug-ins?

arximboldi avatar Feb 23 '24 13:02 arximboldi