qt5quick2: Symlink $PATH/qmlplugindump to /bin/true
authorMirko Vogt <[email protected]>
Mon, 12 May 2025 01:04:00 +0000 (01:04 +0000)
committerMirko Vogt <[email protected]>
Thu, 22 May 2025 10:58:15 +0000 (10:58 +0000)
qmlplugindump appears to be called at the end of `make`-invocation for
qmake generated projects.

If it fails with exit code != 0 the OpenWrt build fails.

qmlplugindump is apparently needed as a host tool, but can not be
(easily) packaged as a host tool.

The project file states:

  "qmlplugindump cannot be a build tool, because it loads target plugins."

which seems pretty mysterious to me.

So it's needed as a requirement on the host system, and/but natively
installed (newer) versions - at with my Debian's version - started to
fail with:

  "QQmlComponent: Component is not ready"

I have no idea what qmlplugindump actually does or why it's needed.

It seems to do no harm to not invoke qmlplugindump - so
hack-not-even-fix it by just overriding each qmlplugindump invocation.

frameworks/qt5/qt5quick2/Makefile

index 8e1627b480fb77fb7e246be0cfd9572ca0005fda..8ac4901560300c0009021757df91b26e0caeae86 100644 (file)
@@ -196,6 +196,8 @@ define Build/InstallDev
        $(call Build/Install/HostFiles,$(1))
        $(call Build/Install/Headers,$(1))
        $(call Build/Install/Libs,$(1),*)
+
+       ln -sf /bin/true $(STAGING_DIR)/host/bin/qmlplugindump
 endef
 
 define Build/Install/QMLplugin