Bug 12971 - qt5webengine: graph-depends seems producing incorrect output
Summary: qt5webengine: graph-depends seems producing incorrect output
Status: RESOLVED MOVED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2020.02.2
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-01 13:47 UTC by Aleksandr Makarov
Modified: 2024-06-15 14:52 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments
The graph-depends of the provided config (35.91 KB, application/pdf)
2020-06-01 13:47 UTC, Aleksandr Makarov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksandr Makarov 2020-06-01 13:47:13 UTC
Created attachment 8486 [details]
The graph-depends of the provided config

This is happening on current master: 3a9261ddd9 (HEAD -> master, origin/master, origin/HEAD) package/libusb-compat: set LIBUSB_1_0_SONAME

Create a following .config:
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5WEBENGINE=y

Then call:
$ make graph-depends

And you'll see that qt5quickcontrols and qt5quickcontrols2 packages are not marked as dependant on the qt5webengine package, although the qt5webengine has selected both of them.

I would expect the dependency graph to be "ALL -> qt5webengine -> {qt5quickcontrols,qt5quickcontrols2}" rather than "ALL -> {qt5webengine,qt5quickcontrols,qt5quickcontrols2}"
Comment 1 Peter Seiderer 2020-06-01 19:34:49 UTC
qt5quickcontrols and qt5quickcontrols2 seems to be run-time dependencies as the compile-time dependencies (see package/qt5/qt5webengine/qt5webengine.mk) are
only given as:

QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp \
        qt5declarative qt5webchannel host-bison host-flex host-gperf \
        host-pkgconf host-python
Comment 2 Peter Seiderer 2020-06-01 19:36:04 UTC
And this ones are the ones shown in the graph-depends output...
Comment 3 Thomas Petazzoni 2020-06-10 20:15:35 UTC
Indeed as Peter said, graph-depends draws the graph of build-time dependencies, as listed by the package <pkg>_DEPENDENCIES variable.

However, I find it odd that qt5declarative is only a runtime dependency for qt5webengine, if it is needed, it should also be needed at build time, but qt5webengine builds fine without this. Would it be possible to check if this runtime dependency is really needed ?
Comment 4 Peter Seiderer 2020-06-10 21:32:52 UTC
qt5declarative (and with it qt5declarative-quick) is a compile time
dependency, only qt5quickcontrols and qt5quickcontrols2 are the runtime
dependencies (which is o.k. as the quickcontrols are normally only
referenced from qml/runtime and the c++ code/libs by plugin loading)...
Comment 5 Yann E. MORIN 2024-06-15 14:52:46 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!