[Development] A simple analysis of apps using qtbase's private headers

Lisandro Damián Nicanor Pérez Meyer perezmeyer at gmail.com
Fri Jan 22 04:15:02 CET 2016


I did a **very** simple analysis of apps packaged in Debian using qtbase's 
private headers. My main concern was to see if we (Debian) can avoid having to 
rebuild them every time we push a new version of Qt to our archive.

What I've found seemed interesting so I decided to share it here.

The following three have something in common: they are all apps coded for 
Chinese people. I've been told that they need QPA's private stuff in order to 
have proper input systems, but I haven't checked.

* fcitx-qt5 1.0.5
* gcin 2.8.4
* hime 0.9.10

If people go to the extent of using private headers for this maybe it's a very 
good reason to (somehow) make that part of the API public. It might make a 
difference for chinese coders.

--8<--

The following three seems to be using at least qpa/qplatformtheme.h

* KDE's frameworkintegration 5.16.0
* libqtxdg 1.3.0
* lxqt-qtplugin 0.10.0

Maybe for being able to create it's own theme?

--8<--

And the rest for various reasons:

* KDE's kdeclarative 5.16.0: code says to use QQuickImageProvider

* KDE's kwin 5.4.3: qpa/qwindowsysteminterface.h

* gammaray 2.4.0 I guess it needs to get into internal stuff.

* musescore 2.0.2 An interesting false positive. It embeds Qt's code without a 
namespace so the resulting symbols files get catched by our tools and confuse 
them.

* qtcurve 1.8.18: private/qwidget_p.h (no further digging)

* calibre 2.48.0: quite a lot of stuff, just saw it and left it there.


That's all. I really hope someone finds it interesting.

<https://packages.debian.org/source/sid/fcitx-qt5>
<https://packages.debian.org/source/sid/frameworkintegration>
<https://packages.debian.org/source/sid/gcin>
<https://packages.debian.org/source/sid/hime>
<https://packages.debian.org/source/sid/kdeclarative>
<https://packages.debian.org/source/sid/kwin>
<https://packages.debian.org/source/sid/libqtxdg>
<https://packages.debian.org/source/sid/gammaray>
<https://packages.debian.org/source/sid/lxqt-qtplugin>
<https://packages.debian.org/source/sid/musescore>
<https://packages.debian.org/source/sid/qtcurve>
<https://packages.debian.org/source/sid/calibre>

-- 
Never attribute to malice that which is adequately explained by stupidity.
  http://en.wikipedia.org/wiki/Hanlon's_razor

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20160122/7afbf14a/attachment.sig>


More information about the Development mailing list