【发布时间】:2021-08-25 04:05:11
【问题描述】:
我正在将嵌入式目标从 Qt 5.9.3 升级到 5.12.10。大多数软件包都可以正常工作,但是 qtvirtualkeyboard 软件包会导致问题。构建过程(使用 Yocto/bitbake)创建一个升级包,其中包含为所有包生成的所有 RPM,在目标上我们使用智能包管理器来安装这些。
这几乎适用于所有软件包,只有 qtvirtualkeyboard 软件包在新版本中具有不同的名称:RPM 从 qtvirtualkeyboard(在 Qt 5.9.3 中)更改为 libqt5virtualkeyboard(在 Qt 5.12.10 中)。看起来这让包管理器感到困惑,并且它退出时出现一个错误,表明某些文件不能被覆盖,因为它们是已安装包的一部分。这是其中一条消息,其他消息遵循相同的模式,都是关于 qtvirtualkeyboard-qmlplugins:
错误:文件 /usr/lib/qt5/qml/QtQuick/VirtualKeyboard/plugins.qmltypes 从安装 libqt5virtualkeyboard-qmlplugins-5.12.10.3+git0+1582869a39-r0.cortexa9hf_vfp_neon 与包中的文件冲突 qtvirtualkeyboard-qmlplugins-5.9.3+git3+81f9e4b142-r3.0.cortexa9hf_vfp_neon
还有许多其他包生成为 libqt5name 包而不是 qtname 包,但这些在 5.9.3 中已经具有此名称,所以它们不会引起问题。
在 ..../pkgdata/runtime/qtvirtualkeyboard-qmlplugins 中有一行:
PKG_qtvirtualkeyboard-qmlplugins: libqt5virtualkeyboard-qmlplugins
这是(在 Qt 5.9.3 中):
PKG_qtvirtualkeyboard-qmlplugins: qtvirtualkeyboard-qmlplugins
在我看来,包裹正在接收一个新名称。
我尝试将带有“qtvirtualkeyboard (
是否可以恢复此名称更改(对于我的本地构建),或者我可以在某处添加规则以确保包管理器在安装新包之前删除原始包?
我正在使用meta-qt5(哈希 8da88b09,这是 5.12.10 的最后一个版本)和 5.12.10 的官方 Qt GIT 存储库。
【问题讨论】:
标签: qt qt5 yocto qtvirtualkeyboard