Hi! On Mon, 23 Oct 2017, Vladimir D. Seleznev wrote: > После вчерашнего обновления Qt5 сломалась работоспособность uim-qt5, > который должен был работать как плагин к Qt5, но с новым релизом > последнего не подключается с такой диагностикой: > > > Got keys from plugin meta data ("uim") > QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforminputcontexts" ... > Cannot load library /usr/lib64/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so: > (/usr/lib64/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so: symbol _ZTI21QPlatformInputContext, > version Qt_5 not defined in file libQt5Gui.so.5 with link time reference) > QLibraryPrivate::loadPlugin failed on > "/usr/lib64/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so" > : "Cannot load library > /usr/lib64/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so: > (/usr/lib64/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so: > symbol _ZTI21QPlatformInputContext, version Qt_5 not defined in file > libQt5Gui.so.5 with link time reference)" > > > По setversion всё в порядке, но видно, что символ > _ZTI21QPlatformInputContext в libQt5Gui.so.5 переехал с Qt_5 на > Qt_5_PRIVATE_API. > > Это чинится пересборкой uim'а с новым Qt5, но если бы я не использовал > uim-qt5, то и не заметил бы поломки, пока кто-нибудь из пользователей не > пожаловался бы, т.е. отслеживание работоспособности плагинов остаётся на > пользователях. > > Есть ли механизмы, с помощью которых можно было бы отслеживать подобные > поломки? Если нет, то может у кого-нибудь есть идеи, как их можно было > бы отслеживать и добавить их в инфраструктуру сборочницы? Вспомнилось, что мы думали о разделении set на несколько множеств -- по версионированию. (Раз мы версионированию upstream-ов вообще не доверяем и имеем механизм set-versions.) Следов того обсуждения я сходу не нашёл. Отдельно требовалось продумать переходный период. Иметь Provides и со всем суммарным множеством (как сейчас), и разделённые. В случае наличия разделённых, генерировать Requires на разделённые. Во время перехода длина затронутых Provides возрастёт не больше, чем в два раза. После перехода общая длина будет примерно такая же, как сейчас. Володя, может быть, ты это уже пробовал реализовывать? -- Best regards, Ivan