[Development] Qt5.8 qdbuscpp2xml broken for kde baloo?

Andreas Müller schnitzeltony at googlemail.com
Tue Mar 7 14:22:23 CET 2017


On Fri, Feb 10, 2017 at 11:19 AM, Andreas Müller
<schnitzeltony at googlemail.com> wrote:
> Hi,
>
> I am cross building Qt and KDE with yocto environment. After Update to
> Qt 5.8 the package baloo from KDE KF5 is broken. After investigation I
> found that qdbuscpp2xml 5.8 build misses some public slots.
>
> I get for Qt5.8 build by yocto:
>
> qdbuscpp2xml -a filecontentindexer.h
> Unregistered input type in parameter list: QDBusMessage
> Unregistered input type in parameter list: QDBusMessage
> <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
> 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
> <node>
>   <interface name="org.kde.baloo.fileindexer">
>     <property name="currentFile" type="s" access="read"/>
>     <signal name="startedIndexingFile">
>       <arg name="filePath" type="s" direction="out"/>
>     </signal>
>     <signal name="finishedIndexingFile">
>       <arg name="filePath" type="s" direction="out"/>
>     </signal>
>   </interface>
> </node>
>
> On my local fedora Qt5.7.1
> qdbuscpp2xml -a filecontentindexer.h
> <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection
> 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
> <node>
>   <interface name="org.kde.baloo.fileindexer">
>     <property name="currentFile" type="s" access="read"/>
>     <signal name="startedIndexingFile">
>       <arg name="filePath" type="s" direction="out"/>
>     </signal>
>     <signal name="finishedIndexingFile">
>       <arg name="filePath" type="s" direction="out"/>
>     </signal>
>     <method name="registerMonitor">
>     </method>
>     <method name="unregisterMonitor">
>     </method>
>   </interface>
> </node>
>
> You can see that qdbuscpp2xml complains for unregistered QDBusMessage
> and the slots 'registerMonitor' and 'unregisterMonitor' having
> QDBusMessage in parameter are missing.
>
> Since yocto builds also native qdbuscpp2xml it might be possible that
> there is something missing for qdbuscpp2xml.
>
> Pointers how to get around or even confirmation of a bug are welcome -
> baloo's filecontentindexer.h is attached
>
Coming back to the original qdbuscpp2xml / baloo problem: I have
checked further and think to know what happened:

* qdbuscpp2xml build based on Qt5.7 simply ignored QDBusMessage
parameters. This seemed to be silently accepted by baloo as the call
to unregisterMonitor was done without parameters [1].
* qdbuscpp2xml build based on Qt5.8 bootstrapped complained with
'Unregistered input type in parameter list: QDBusMessage' and ignoring
registerMonitor/unregisterMonitor as mentioned above.
* qdbuscpp2xml build based on Qt5.8 and patched (attachment) to
non-bootstrapped handles QDBusMessage properly.

I dropped a note a kde-devel either but can not find it in any
archive. Anyway I can hacked baloo to build now and am happy.

[1] https://cgit.kde.org/baloo.git/tree/src/qml/experimental/monitor.cpp#n114

Andreas



More information about the Development mailing list