Closed dmik closed 4 years ago
All of the four repos and the root (this one) have been merged. Now the build stage.
All built (with a number of patches here and there). Now some testing.
I found some test failures in qtbase after the 5.13.1 update which I wan to fix before releasing. I will create separate per-module thickets for those who take more than a blink to fix.
Got a problem while building 5.13.1 RPMs. It seems that .prl files for DLLs are missing from /lib
(static LIBs are fine). They are present in 5.11 builds but not in 5.13.0, so it looks like a 5.13.0 regression to me.
The above problem has been fixed in https://github.com/bitwiseworks/qtbase-os2/commit/c2b39f359fc44786a2b7c214a15a614ea7f46cc0. Starting a rebuild now.
I've resolved https://github.com/bitwiseworks/qtbase-os2/issues/104, but while doing it, found another 5.13 regression (perhaps in qmake as well). Running qmake-qt5
in a source tree of any Qt app gives this:
Cannot read D:/@unixroot/usr/lib/Qt5Network.prl: No such file or directory
Error processing meta file /@unixroot/usr/lib/Qt5Network.prl
Cannot read D:/@unixroot/usr/lib/Qt5Core.prl: No such file or directory
Error processing meta file /@unixroot/usr/lib/Qt5Core.prl
Error processing meta file /@unixroot/usr/lib/Qt5Network.prl
Error processing meta file /@unixroot/usr/lib/Qt5Core.prl
Qt 5.11 RPMs don't show such a problem, neither does my dev build of 5.13.1.
There is a generic problem when cooking RPMs for modules other than qtbase
. The build requires headers to be installed (symlinked) to include
in a structured order (similar to how they appear in /usr/include
). In a usual build this structure is created for all modules by the configure
script. Since this script is only available in qtbase
, .spec for other RPMs can't use it. I really wonder how it works on Fedora. Some debugging is needed.
Ok, I think I know what it is. Fedora builds from official tarballs. They provide forward-includes already. Somehow we need to run syncqt.pl manually. This also requires shipping it. Perhaps, in the root qt5 package, in qt5-srpm-macros.
It's much simpler than that: it's simply enough to create an empty .git subdirectory in the source tree for the module's .pro file (run by qmake) to create these includes using syncqt (which is already shipped with qtbase
). I already used this hack in qtbase
itself. Works for other modules just great. Building further.
the rpm is out and so this task is done.
5.13.1 is out recently. Should be cheap to update all current modules to it (qtbase, qtsvg, qtdeclarative, qttools). Releases like .1 usually contain a lot of hot fixes to .0 ones — it makes sense to take them as a whole rather than cherry pick.