bitwiseworks / qt5-os2

Port of Qt software development framework version 5 to OS/2
Other
18 stars 2 forks source link

Update to version 5.15.7 (5.15.11 for Qt WebEngine) #32

Open dmik opened 1 year ago

dmik commented 1 year ago

It appears that Qt Group (this is how they are called now) silently decided to make commercial-only releases of the Qt 5.15 branch (i.e. 5.15.3 and all above including the latest 5.15.11 to the date) available under the open-source LGPL license one year after the original release. At least I couldn't find any public announcements from them about that but the respective branch appears in their open-source repos according to that schedule.

According to https://wiki.qt.io/Qt_5.15_Release, Qt 5.15.7 was released on 2021-10-29, i.e. slightly more than one year ago and here we have it: https://code.qt.io/cgit/qt/qt5.git/tag/?h=v5.15.7-lts-lgpl, with all other modules in their respective repos.

The only exception here is Qt WebEngine module which, as it uses Chromium which is LGPL, has to be released to the public instantly because of the license requirements. Sfor Qt WebEngine we have the latest version 5.15.11: https://code.qt.io/cgit/qt/qtwebengine.git/tag/?h=v5.15.11-lts.

Initially I planned to update only Qt WebEngine to bring us critical Qt and Chromium security fixes and boost Chromium version up to 98.0.4758.102 (according to https://code.qt.io/cgit/qt/qtwebengine.git/tree/CHROMIUM_VERSION?h=v5.15.11-lts) but since we now have other modules updates available, it's time to do so as well — as opposed to Chromium sources, there shouldn't be many changes least significant versions are merely bug fix releases.

The expected outcome is fixing upstream bugs (including Chromium's) which should improve stability on OS/2 as well and saves us from digging into and fixing problems that were caused by Chromium or Qt own code.

This meta ticket is to track individual repository updates.

JFTR, Chromium version in Qt WebEngine 5.15.7 is 94.0.4606.61 (.81 according to an addendum from release notes) which still is quite a bit more recent than our current version 83.0.4103.122.

tomtom-66 commented 1 year ago

It appears that Qt Group (this is how they are called now) silently decided to make commercial-only releases of the Qt 5.15 branch (i.e. 5.15.3 and all above including the latest 5.15.11 to the date) available under the open-source LGPL license one year after the original release. At least I couldn't find any public announcements from them about that but the respective branch appears in their open-source repos according to that schedule.

There was this announcement about the open souce release of 5.15.3:

https://lists.qt-project.org/pipermail/development/2022-March/042262.html

Later there have also been similar announcements for versions 5.15.4 up to 5.15.7 on their Development mailing list:

https://lists.qt-project.org/pipermail/development/2022-May/042437.html

https://lists.qt-project.org/pipermail/development/2022-June/042659.html

https://lists.qt-project.org/pipermail/development/2022-September/042937.html

https://lists.qt-project.org/pipermail/development/2022-October/043169.html

tomtom-66 commented 1 year ago

I have compared the dates on which the release of "Commercial LTS 5.15.x" was announced with the dates on which the release of the corresponding open source version was announced. It might give an indication when subsequent open source versions of 5.15.x can be expected. And indeed it does:

Commercial LTS 5.15.3   04-03-2022
open source 5.15.3      03-03-2022

Commercial LTS 5.15.4   12-05-2021
open source 5.15.4      11-05-2022

Commercial LTS 5.15.5   18-06-2021
open source 5.15.5      17-06-2022

Commercial LTS 5.15.6   08-09-2021
open source 5.15.6  07-09-2022

Commercial LTS 5.15.7   29-10-2021
open source 5.15.7  28-10-2022

The release of an open source version was announced one year minus one day after the announcement of the corresponding Commercial LTS version.

That leads to the following expected announcement dates:

open source 5.15.8  03-01-2023 ?
(Commercial LTS 5.15.8: 04-01-2022)

open source 5.15.9  05-04-2023 ?
(Commercial LTS 5.15.9: 06-04-2022)

open source 5.15.10 06-06-2023 ?
(Commercial LTS 5.15.10:07-06-2022)

open source 5.15.11 04-10-2023 ?
(Commercial LTS 5.15.11:05-10-2022)

Maybe this can be of use for your planning.

dmik commented 1 year ago

@tomtom-66 Ah it's hidden in their developers' mailing list, thanks for pointing that out! Now it's clear more or less. And yes, your estimates match mine. Let's see where it gets us.

dmik commented 1 year ago

The merge of qtbase was mostly non-conflicting; now it's build time.

dmik commented 1 year ago

Also merged qtwebengine-chromium in 38fcc8b007408de5f3b9c711c42b31b82a6349c0 and qtwebengine in https://github.com/bitwiseworks/qtwebengine-os2/commit/dbf88134970f9b4e5ce65fce6d01470816cef6a2 (forgot to mention this ticket in the commit message) as well as 0f75d3248afa940f7a82d9cfaefd4266fa44a7bc.

Now it's finally time to build it all.

dmik commented 1 year ago

Bad news after configure:

WARNING: Nodejs is required to build QtWebEngine.

Seems that newer Chromium requires node.js. I will check what is needed to get it ported to OS/2.

dmik commented 1 year ago

According to this commit https://code.qt.io/cgit/qt/qtwebengine.git/commit/?h=v5.15.7-lts&id=c9d902ca6ca3b1aa2e2762329d18c226d26520af Nodejs was made a requirement for Chromium 87.x. I don't know if it's actually true, I will try to hack around to disable this requirement but something tells me Chromium may indeed strictly depend on it. Though I would wonder why.

psmedley commented 1 year ago

Qt6webenginr also wants nodejs...

dmik commented 1 year ago

No doubt as there Chromium is even at a higher version.

dmik commented 1 year ago

So far, everything has built (both debug and release) except Chromium, which is expected. It will take some time to figure out. I also I disabled strict NodeJS requirement for now but it's unclear yet if it has any contribution here.

psmedley commented 1 year ago

FYI - looks like there is a way to build nodejs with gn rather than hahving to port gyp - https://chromium.googlesource.com/v8/node-ci

psmedley commented 1 year ago

FYI 5.15.8 got released today https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.8/release-note.md

dmik commented 1 year ago

Yup, thanks, I remember it should have happened soon. I will not bother with updating till I finish new Chromium though.