Qt 6

Lisandro Damián Nicanor Pérez Meyer perezmeyer at gmail.com
Fri Sep 24 22:07:39 BST 2021


Hi!

On Fri, 24 Sept 2021 at 17:18, Fab Stz <fabstz-it at yahoo.fr> wrote:
>
> Hello,
>
> Thank you.
>
> Just a few comments to mention some differences with what I did for Qt for
> Android. As I said, for now I use the single source package shipped by Qt. One
> of the reason is that the qtbase DFSG sources (at least for Qt5) don't ship
> sqlite's source code. Did you remove it too in Qt6?

Yes, see https://salsa.debian.org/qt-kde-team/qt6/qt6-base/-/blob/master/debian/copyright#L8

> Would it be possible to
> keep the source here?

No. It only adds up work for us (and I don't remeber if it was the
normal sqlite or the "all in one single file" monstruosity).

> When compiling Qt for Android, sqlite has to be there,
> it cannot take the system's sqlite since it is sort of compilation of Qt for
> an Android system which doesn't have sqlite built-in. There is the same
> problem for other 3rd party libraries shipped in Qt.

Then don't use Debian's tarballs but get them from upstream directly.

> Did you remove any other code from the sources?

Yes, see the link above.

> In my packaging of Qt6 for Android I also had this in addition. Maybe this is
> also of interest to you in debian/rules
>
> debian/control:
> ---------------
> These pages mention also these build dependencies. Not sure if this is
> relevant to qtbase or anyother package.
> https://wiki.qt.io/Building_Qt_6_from_Git#System_Requirements
>
> - Perl (>=5.14)
> - Python (>=2.6.x)
>
> So I also set:
>  perl (>= 5.14),
>  python3,

Perl is required to run a script used to prepare the git repo in order
to create a tarball. I don't think we are using it.

I also don't remember that we use python at all.


> Minimal version of cmake is 3.16, but later version bring additional features.
> See: https://github.com/qt/qtbase/tree/dev/cmake#cmake-versions

The minimal version is exactly that: minimal. If any other more recent
version of CMake is present on the buildd at build time it will be
used.

>
> debian/rules:
> -------------
> In override_dh_auto_install:
>
>         # Reproducible builds: remove build paths from
> QtBuildInternalsExtra.cmake
>         sed -i -e '/QT_SOURCE_TREE/ s,\(.*"\)\(.*\)\(".*\),
> \1<REMOVED_DURING_DEBIAN_PACKAGING>\3,' debian/tmp/usr/lib/*/lib/cmake/
> Qt6BuildInternals/QtBuildInternalsExtra.cmake

What's the functionality of this file? Maybe it shouldn't be packaged
at all to start with.

>         # This one is not for qtbase but for qtqml I guess
>         # Reproducible builds: remove build paths from qqmljsparser_p.h
>         sed -i -e 's,^\(#line.\+ "\).*\(parser/qqmljs.g"\)$$,\1\2,' debian/
> tmp/usr/lib/*/include/QtQml/*/QtQml/private/qqmljsparser_p.h

That sounds like a hack that needs to get solved upstrea, Do you know
which tool generates it?

>
> In override_dh_auto_clean:
>         dh_auto_clean
>         rm -v -f debian/build-host/CMakeCache.txt
>
> where debian/build-host is the build directory. Not sure if this is of
> interest for your package.

I don't think so.

regards, Lisandro.



More information about the pkg-kde-talk mailing list