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

Deployment of webenginewidgets module is a no-op

Open BowDown097 opened this issue 3 months ago • 3 comments

webenginewidgets is a recognized module, and is linked to a library in the code (libQt[X]WebEngineWidgets), but presently does nothing when marked to be deployed. This has caused problems in the deployment of my application where it is not detected as a dependency and has to be explicitly marked as such, seemingly due to the application being built with LTO. As a workaround, I had to manually copy the required library.

This is all that's logged of its "deployment":

[qt/stdout] -- Deploying module: webenginewidgets -- 
[qt/stdout]

BowDown097 avatar Oct 04 '25 16:10 BowDown097

We deploy all the files that are installed, we just list all files in the directory and copy them over. The files need to be present therefore at the time of deployment. See https://github.com/linuxdeploy/linuxdeploy-plugin-qt/blob/master/src/deployers/WebEnginePluginsDeployer.cpp. Please check the files are present in the first place.

The deployer just doesn't complain if it cannot find any files. It probably should. PRs welcome.

TheAssassin avatar Oct 05 '25 18:10 TheAssassin

That should be the case if I'm understanding things correctly - in the event the WebEngineWidgets library is detected as a dependency, in the same build environment, it is found and deployed properly. It is in the event that it's not, but the respective module is marked to be deployed, that nothing happens. I have a few other modules in a similar situation, but they deploy fine. It appears to just be this one, out of the ones I use at least.

BowDown097 avatar Oct 06 '25 01:10 BowDown097

I checked the plugin factory and there is no special handling for QWebEngineWidgets set up, see https://github.com/linuxdeploy/linuxdeploy-plugin-qt/blob/master/src/deployers/PluginsDeployerFactory.cpp#L83-L85. I would expect that nothing is to be done. The log might be a bit misleading, but I'd rather have it log every module it finds, as we may want to add more code in the future. The link above however is misleading, as the code is not called for webenginewidgets.

The only module the plugin deploys files for is webenginecore. Does that one have log output?

TheAssassin avatar Oct 07 '25 18:10 TheAssassin