PackageKit и libapt используют разные алгоритмы обновления системы. В результате PackageKit не умеет использовать disttag и это приводит к такому: $ pkcon get-updates Получение обновлений[=========================] Загрузка кэша [=========================] Запрос [=========================] Завершено [=========================] Обычное grub-efi-2.02-alt16.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) GRand Unified Bootloader (UEFI variant) Обычное libkwin4_effect_builtins1-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KF5 library Обычное libkwin5-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KF5 library Обычное libkwineffects11-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KF5 library Обычное libkwinglutils11-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KF5 library Обычное libkwinxrenderutils11-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KF5 library Обычное openttd-1.8.0-alt3.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) An open source clone of the Microprose game "Transport Tycoon Deluxe". Обычное openttd-data-1.8.0-alt3.noarch (alt_linux_team-ALT Linux Sisyphus-classic) Data files for openttd Обычное plasma5-integration-1:5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KDE Workspace 5 integration of Qt applications Обычное plasma5-kwin-5.12.8-alt1.x86_64 (alt_linux_team-ALT Linux Sisyphus-classic) KDE Workspace 5 Window Manager Обычное plasma5-kwin-common-5.12.8-alt1.noarch (alt_linux_team-ALT Linux Sisyphus-classic) plasma5-kwin common package $ pkcon update Получение обновлений[=========================] Завершено [=========================] Запрос [=========================] Проверка изменений[=========================] Завершено [=========================] Обновление пакетов[=========================] Загрузка кэша [=========================] Завершено [=========================] В данный момент обновления отсутствуют.
Ну и через apt данные пакеты обновляются нормально. # apt-get dist-upgrade Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Подсчет обновлений... Завершено Следующие пакеты будут ОБНОВЛЕНЫ: grub-efi libkwin4_effect_builtins1 libkwin5 libkwineffects11 libkwinglutils11 libkwinxrenderutils11 openttd openttd-data plasma5-integration plasma5-kwin plasma5-kwin-common 11 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B/21,4MB архивов. После распаковки будет освобождено 91,3kB дискового пространства. Продолжить? [Y/n]
Добавлю, что перед этим система была обновлена через packagekit и в результате этого появилось 11 пакетов, которые он не может обновить.
Подтверждаю. Проверил и обнаружил проблему обновления qt-creator, пересобранного без увеличения релиза с новым libbotan: $ pkcon update Получение обновлений[=========================] Завершено [=========================] Запрос [=========================] Проверка изменений[=========================] Завершено [=========================] Неисправимая ошибка: The following packages have unmet dependencies: qt-creator: Depends: libbotan-2.so.7()(64bit) (>= set:qj8jynvbXaIsNFTUrpuZxl0HaEVwwZKORljillmx6Y6Dc3zBrIbD2Y81p0lyI8eR1GIkePZECznHDjSDFRSLVJMcwuZHzPZkZBVEZn5ci0XY6jjBm5ysEkXpDz6Ahgo2wFlQOfzYa11Ysbns0PZDBxQiyCuoy9Ogp8fT4mTRHgCXEMO8SotSdOP8cZmLcraZgz1ELCwJ7jh3SuJn55OVBitMVK5Ky6OKdKLlqgUeSMBZyqQ4aoI4egDcmKnbB2RZE2FQQXkM0gTaBDmZio0hLfZwwIrcmmg) $ rpm -q qt-creator qt-creator-4.8.2-alt1.x86_64 $ rpm -q libbotan libbotan-2.7.0-alt1.x86_64 $ apt-cache showpkg qt-creator | head -n 5 Package: qt-creator Versions: 4.8.2-alt1(/var/lib/apt/lists/_mnt_repo_Sisyphus_x86%5f64_base_pkglist.classic) 4.8.2-alt1(/var/lib/rpm/Packages) $ apt-cache showpkg libbotan | head -n 5 Package: libbotan Versions: 2.9.0-alt1(/var/lib/apt/lists/_mnt_repo_Sisyphus_x86%5f64_base_pkglist.classic) 2.7.0-alt1(/var/lib/rpm/Packages)
Проверьте, воспроизводится ли с самыми свежими сборками rpm и apt из заданий #224998 и #223177.
mcelog-162-alt2 -> sisyphus: Fri Mar 22 2019 Anton Farygin <rider@altlinux.ru> 162-alt2 - added post script for service mcelog (closes: #36342)
промахнулся, извините
(В ответ на комментарий №4) > Проверьте, воспроизводится ли с самыми свежими сборками rpm и apt из заданий > #224998 и #223177. Проверил. Поставил qt-creator на свежем Сизифе, выполнил 'apt-get remove libbotan' (удалило qt-creator, qt-creator-data и libbotan), добавил указанные задания и выполнил 'apt-get dist-upgrade', поставил qt-creator, qt-creator-data и libbotan-2.7.0-alt1 из архива за 10 марта 2019, и запустил опять pkcon update. Проблема осталась.
Удалось заставить packagekit нормально делать 'pkcon update' с помощью apt из задания #223177, а также дополнительных изменений для packagekit: http://git.altlinux.org/people/darktemplar/packages/?p=PackageKit.git;a=commitdiff;h=082f591ca3d6da623d772a60d2d00a068b4988f9 Ждём apt с поддержкой disttag в Сизифе.
mcelog-162-alt2 -> p8: Fri Mar 22 2019 Anton Farygin <rider@altlinux.ru> 162-alt2 - added post script for service mcelog (closes: #36342) Thu Mar 21 2019 Anton Farygin <rider@altlinux.ru> 162-alt1 - 159 -> 162 - fixed condreload target in initscript (closes: #36328) - logrotate setting has been moved from cron to main package (closes: #36329) - updated logrotate settings from ALT bug #36329 Wed Aug 08 2018 Anton Farygin <rider@altlinux.ru> 159-alt1 - version up to 159 - built from upstream git Tue Jul 26 2016 Fr. Br. George <george@altlinux.ru> 138-alt1 - Autobuild version bump to 138
промахнулся дважды
после последних изменений в apt'е обновление через packagekit перестало работать совсем.
Больше не могу воспроизвести проблему. Похоже, было исправлено в apt, скорее всего в релизах 0.5.15lorg2-alt68 или 0.5.15lorg2-alt68.1.
Старая проблема была исправлена, нашёл другую после обновления с помощью pkcon update с архива на 10 марта 2019 до текущего Сизифа, предварительно установив текущие apt и rpm: $ pkcon get-updates Получение обновлений[=========================] Загрузка кэша [=========================] Запрос [=========================] Завершено [=========================] В данный момент обновления отсутствуют. # apt-get dist-upgrade Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Подсчет обновлений... Завершено Следующие пакеты будут ЗАМЕНЕНЫ: libucil (by libucil2) xorg-rgb (by rgb) Следующие НОВЫЕ пакеты будут установлены: libucil2 rgb 0 будет обновлено, 2 новых установлено, 2 пакетов будет заменено, 0 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B/49,1kB архивов. После распаковки будет освобождено 79,3kB дискового пространства. Продолжить?
packagekit-1.1.12-alt8 -> sisyphus: Fri Aug 30 2019 Aleksei Nikiforov <darktemplar@altlinux> 1.1.12-alt8 - Fixed processing obsoletes during upgrades (Closes: #36342).
Спасибо!
Спасибо, отправил и в p9 сейчас. cas@, наверное, одобрит это исправление.
(In reply to comment #8) > Удалось заставить packagekit нормально делать 'pkcon update' с помощью apt из > задания #223177, а также дополнительных изменений для packagekit: > > http://git.altlinux.org/people/darktemplar/packages/?p=PackageKit.git;a=commitdiff;h=082f591ca3d6da623d772a60d2d00a068b4988f9 > > Ждём apt с поддержкой disttag в Сизифе. Да, тогда мы с vseleznv@ пробовали подход к учёту disttag как дополнительной информации для сравнения версия пакетов, без изменения формата VerStr. Но всех клиентов apt тогда нужно было бы пропатчить для правильной работы. (Вообще-то, это нужно было ещё сделать ради сравнения buildtime давно, но тогда это было не так заметно.) Я посмотрел aptitude, perl-чего-то-там-Apt, вот тут ещё патч на packagekit, и совершенно не захотелось трогать так много пакетов и отклоняться в них сильнее от upstream. В общем, рад, что решили добавить всю информацию в VerStr в apt-0.5.15lorg2-alt68 и что все клиенты могут продолжать пользоваться старым API. (In reply to comment #12) > Больше не могу воспроизвести проблему. Похоже, было исправлено в apt, скорее > всего в релизах 0.5.15lorg2-alt68 или 0.5.15lorg2-alt68.1. 0.5.15lorg2-alt68.1 может помочь правильной работе, когда данные о пакетах пихают в apt из разных источников (индексы в репозиториях, локальная база данных установленных пакетов RPM) и данные друг друга дополняют по сути (например, полезные Provides, которые в одном источнике есть для пакета, в другом нет для того же самого пакета). При этом идентификаторы версий (VerStr) не во всех источниках могли быть полными (включать disttag или buildtime и т.п.) -- это осложняло их объединение. С этим релизом это должно работать получше.