commit: 695723d44abcef90bcea9682a388920388249083
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu May 22 23:21:18 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 23 00:14:47 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=695723d4
dev-qt/qtbase: add wall of blockers for old <dev-qt/*-${PV} in live
This is the same as commit 2455f4d30364e65eccbcfee4d8edd6bd8742cba2
that was done for dev-qt/qtcore:5. Been found to still be a problem if
e.g. qtvirtualkeyboard-6.8.2 is installed while using Qt 6.8.3+ where
it causes issues for sddm/breeze theme when it tries to load the
incompatible qtvirtualkeyboard plugin. This can happen when a user
have it installed while in a depcleanable state but does not depclean,
and the package manager is allowed to not update in this stuation.
Does have the downside of causing more confusing portage output when
users upgrade, but hasn't been known to cause actual update problems
(issues will most likely be due to something else than these blockers).
Not *all* these packages can cause problems (some are unlikely to be
dlopen'ed), but it's simpler to just list all packages with libraries.
List was copied from stabilization-groups' qt6.group given it has all
packages w/ Qt6, excluding qtbase (no need to self-block), pyside,
qttranslations, and qt-docs.
fwiw should also block higher versions in case of Qt downgrade, but
that is an unusual occurance combined with unusual lack of depclean
and this does not need to handle everything (would need to make +1
blockers to allow revbumps and kind of meh to keep in the ebuild).
Qt5 blocks <QT5_PV aka $(ver_cut 1-3), but a similar variable has not
been used with Qt6 yet and blocking _rc as well does not hurt even if
they will not "mismatch version" with non-_rc, so just using PV.
For now only adding in live, and it will start being used with 6.9.1
and can see to any issue then.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
dev-qt/qtbase/qtbase-6.9.9999.ebuild | 32 ++++++++++++++++++++++++++++++++
dev-qt/qtbase/qtbase-6.9999.ebuild | 32 ++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
diff --git a/dev-qt/qtbase/qtbase-6.9.9999.ebuild
b/dev-qt/qtbase/qtbase-6.9.9999.ebuild
index 75e08fb7ef89..e30bb9bc9eee 100644
--- a/dev-qt/qtbase/qtbase-6.9.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.9.9999.ebuild
@@ -117,8 +117,40 @@ COMMON_DEPEND="
sqlite? ( dev-db/sqlite:3 )
)
"
+# wrt blockers: users do not always depclean regularly and outdated
+# dev-qt packages sometime cause runtime issues (update this when new
+# Qt libraries/plugins are added, and keep old for 2y+ if removed)
RDEPEND="
${COMMON_DEPEND}
+ !<dev-qt/qt3d-${PV}:6
+ !<dev-qt/qt5compat-${PV}:6
+ !<dev-qt/qtcharts-${PV}:6
+ !<dev-qt/qtconnectivity-${PV}:6
+ !<dev-qt/qtdeclarative-${PV}:6
+ !<dev-qt/qthttpserver-${PV}:6
+ !<dev-qt/qtimageformats-${PV}:6
+ !<dev-qt/qtlanguageserver-${PV}:6
+ !<dev-qt/qtlocation-${PV}:6
+ !<dev-qt/qtmultimedia-${PV}:6
+ !<dev-qt/qtnetworkauth-${PV}:6
+ !<dev-qt/qtpositioning-${PV}:6
+ !<dev-qt/qtquick3d-${PV}:6
+ !<dev-qt/qtquicktimeline-${PV}:6
+ !<dev-qt/qtremoteobjects-${PV}:6
+ !<dev-qt/qtscxml-${PV}:6
+ !<dev-qt/qtsensors-${PV}:6
+ !<dev-qt/qtserialbus-${PV}:6
+ !<dev-qt/qtserialport-${PV}:6
+ !<dev-qt/qtshadertools-${PV}:6
+ !<dev-qt/qtspeech-${PV}:6
+ !<dev-qt/qtsvg-${PV}:6
+ !<dev-qt/qttools-${PV}:6
+ !<dev-qt/qtvirtualkeyboard-${PV}:6
+ !<dev-qt/qtwayland-${PV}:6
+ !<dev-qt/qtwebchannel-${PV}:6
+ !<dev-qt/qtwebengine-${PV}:6
+ !<dev-qt/qtwebsockets-${PV}:6
+ !<dev-qt/qtwebview-${PV}:6
syslog? ( virtual/logger )
"
DEPEND="
diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild
b/dev-qt/qtbase/qtbase-6.9999.ebuild
index 75e08fb7ef89..e30bb9bc9eee 100644
--- a/dev-qt/qtbase/qtbase-6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.9999.ebuild
@@ -117,8 +117,40 @@ COMMON_DEPEND="
sqlite? ( dev-db/sqlite:3 )
)
"
+# wrt blockers: users do not always depclean regularly and outdated
+# dev-qt packages sometime cause runtime issues (update this when new
+# Qt libraries/plugins are added, and keep old for 2y+ if removed)
RDEPEND="
${COMMON_DEPEND}
+ !<dev-qt/qt3d-${PV}:6
+ !<dev-qt/qt5compat-${PV}:6
+ !<dev-qt/qtcharts-${PV}:6
+ !<dev-qt/qtconnectivity-${PV}:6
+ !<dev-qt/qtdeclarative-${PV}:6
+ !<dev-qt/qthttpserver-${PV}:6
+ !<dev-qt/qtimageformats-${PV}:6
+ !<dev-qt/qtlanguageserver-${PV}:6
+ !<dev-qt/qtlocation-${PV}:6
+ !<dev-qt/qtmultimedia-${PV}:6
+ !<dev-qt/qtnetworkauth-${PV}:6
+ !<dev-qt/qtpositioning-${PV}:6
+ !<dev-qt/qtquick3d-${PV}:6
+ !<dev-qt/qtquicktimeline-${PV}:6
+ !<dev-qt/qtremoteobjects-${PV}:6
+ !<dev-qt/qtscxml-${PV}:6
+ !<dev-qt/qtsensors-${PV}:6
+ !<dev-qt/qtserialbus-${PV}:6
+ !<dev-qt/qtserialport-${PV}:6
+ !<dev-qt/qtshadertools-${PV}:6
+ !<dev-qt/qtspeech-${PV}:6
+ !<dev-qt/qtsvg-${PV}:6
+ !<dev-qt/qttools-${PV}:6
+ !<dev-qt/qtvirtualkeyboard-${PV}:6
+ !<dev-qt/qtwayland-${PV}:6
+ !<dev-qt/qtwebchannel-${PV}:6
+ !<dev-qt/qtwebengine-${PV}:6
+ !<dev-qt/qtwebsockets-${PV}:6
+ !<dev-qt/qtwebview-${PV}:6
syslog? ( virtual/logger )
"
DEPEND="