Bug 44423

Summary: При недостаточности места на диске Discover не предупреждает об этом и предлагает обновление
Product: Branch p11 Reporter: Vera Blagoveschenskaya <vercha>
Component: packagekitAssignee: sirius <sirius>
Status: REOPENED --- QA Contact: qa-p11 <qa-p11>
Severity: normal    
Priority: P5 CC: alimektor, amakeenk, antonenkode, belayaav, fomchenkovda, sysoevas, zerg
Version: unspecified   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
нет ошибки
none
example.log none

Description Vera Blagoveschenskaya 2022-11-24 13:10:07 MSK
Стенд в тестировании:
Workstation K 10.1 x86_64 
http://ftp.altlinux.org/pub/distributions/ALTLinux/p10/images/kworkstation/alt-kworkstation-10.1-install-x86_64.iso

plasma5-discover-5.25.5-alt5

Preconditions: отсутствует необходимое место для обновления пакетов

1) Выполнить обновление при занятом дисковом пространстве.
2) Перезагрузка, вход в систему.

Результат: Discover предлагает обновить те же пакеты

Ожидаемый результат: должно быть уведомление, что система НЕ обновлена (после перезагрузки) либо перед обновлением предупреждать, что места недостаточно.
Comment 1 Олег Соловьев 2022-11-24 13:22:04 MSK
https://invent.kde.org/plasma/discover/-/merge_requests/419
Comment 2 Aleksandr Sysoev 2022-12-16 15:28:12 MSK
Created attachment 12113 [details]
нет ошибки
Comment 3 Aleksandr Sysoev 2022-12-16 15:29:51 MSK
Стенд в тестировании:
Workstation K 10.1 x86_64 
Версия пакета:
plasma5-discover-5.26.4-alt2.x86_64

Ошибка не воспроизводится. Есть сообщение о том, что недостаточно места для обновления.
Comment 4 Evgeny Shesteperov 2023-01-10 18:04:52 MSK
Created attachment 12253 [details]
example.log

(Ответ для sysoevas на комментарий #3)
> Стенд в тестировании:
> Workstation K 10.1 x86_64 
> Версия пакета:
> plasma5-discover-5.26.4-alt2.x86_64
> 
> Ошибка не воспроизводится. Есть сообщение о том, что недостаточно места для
> обновления.

Ошибка воспроизводится, если количество свободного места ПОСЛЕ скачивания пакетов недостаточно для завершения (см. пример example.log).
Comment 5 Vera Blagoveschenskaya 2025-01-15 14:00:11 MSK
Образ:
Workstation K 10.4 Release 20241007
plasma5-discover 5.27.11-alt1

Выполнена проверку по сценариям:
Сценарий 1. Обновление без прерываний и с большим наличием свободной памяти.
Результат проверки: Корректная работа.

Сценарий 2.
Прерывание во время установки обновлений c последующим восстановлением 	
Результат проверки: После прерывания обновления и запуска системы появляется сообщение "Ошибка автономного обновления". При нажатии на кнопку: "Восстановление системы" в Discover отображается "Восстановление завершено успешно". При этом в KNotification отображается информация о восстановлении системы.

Сценарий 3. Обновление при недостаточности места на диске.	
При попытке обновить пакеты в Discover отображается сообщение о недостаточности места для обновления - корректное поведение.
Однако, если памяти мало уже после скачивания пакетов, то при установке обновлений в Discover не отображается сообщений и он предлагает заново обновить те же пакеты. Ошибка также воспроизвелась при наличии 300мб свободной памяти на 188мб обновлений. https://bugzilla.altlinux.org/show_bug.cgi?id=44423#c4 - ошибка воспроизводится
Comment 6 Sergey V Turchin 2025-01-16 14:07:20 MSK
Нужно, чтобы формировался файл отчёта о проблеме offline-обновления.
https://github.com/PackageKit/PackageKit/blob/main/docs/offline-updates.txt
Comment 7 Sergey V Turchin 2025-01-16 14:08:15 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #5)
> Ошибка также воспроизвелась при наличии 300мб
> свободной памяти на 188мб обновлений.
Что в /var/lib/PackageKit/offline-update-competed после этого?
Comment 8 Белая Алёна 2025-03-06 17:46:41 MSK
Ошибка воспроизводится в Р11 в версии plasma-discover-6.2.5-alt1

> Что в /var/lib/PackageKit/offline-update-competed после этого?
Этот отчет не формируется ни в Р10, ни в Р11. При удачном обновлении так же не формируется.
Comment 9 Sergey V Turchin 2025-03-07 10:05:08 MSK
Олег, а кто именно должен создать файл отчёта?
Comment 10 Олег Соловьев 2025-03-07 10:41:38 MSK
(In reply to Sergey V Turchin from comment #9)
> Олег, а кто именно должен создать файл отчёта?

packagekit
Comment 11 Dmitrii 2025-03-12 14:43:28 MSK
packgekit корректно создаёт файл offline-update-competed

Проблема в plasma-discover. После обновления и перезапуска системы, discover удаляет этот файл.

Случаи, когда discover удаляет этот файл:
- когда система успешно обновилась (это я исправил в 377701) (*)
- после успешного восстановления
- когда не удалось выполнить восстановление после неудачной попытки обновления
- перед обновлением

* - содержимое файла offline-update-competed, как минимум должно иметь такие значения:
Success=true

ErrorCode=package-already-installed
или
ErrorCode=all-packages-already-installed
или
отсутствовать вообще

Попытка восстановления произойдёт, если содержимое файла offline-update-competed как минимум имеет такие поля:
Success=false
ErrorCode - либо отсутствует, либо имеет значение отличное от приведённых выше
Comment 12 Sergey V Turchin 2025-03-12 15:34:59 MSK
(Ответ для Белая Алёна на комментарий #8)
> > Что в /var/lib/PackageKit/offline-update-competed после этого?
> Этот отчет не формируется ни в Р10, ни в Р11.
А вы смотрите до входа в графическую сессию, а то он уже удалился, когда вы ищете.
Comment 13 Alexander Makeenkov 2025-04-11 13:22:26 MSK
plasma-discover 6.3.4-alt1

(Ответ для Sergey V Turchin на комментарий #7)
> Что в /var/lib/PackageKit/offline-update-competed после этого?

# cat /var/lib/PackageKit/offline-update-competed
[PackageKit Offline Update Results]
Success=false
ErrorCode=failed-initialization
ErrorDetails=PackageKit daemon disappeared

- если не хватает места для скачивания обновлений, то discover явно об этом пишет;
- если место заканчивается уже после скачивания обновлений, то discover ничего не пишет и предлагает перезагрузить систему, однако после последующего входа в систему он предлагает выполнить восстановление системы, потому что произошла ошибка.

(Ответ для Vera Blagoveschenskaya на комментарий #0)
> Результат: Discover предлагает обновить те же пакеты

Если я правильно понимаю, то изначальная проблема решена.
Comment 14 Антоненко Даниил 2025-06-18 12:06:26 MSK
Стенд:
Alt Workstation K 11.0 x86_64

plasma-discover 6.3.5-alt3

Если место заканчивается уже после скачивания обновлений, то Discover ничего не пишет и предлагает перезагрузить систему, однако после последующего входа в систему НЕ предлагает выполнить восстановление системы, просто тишина. В самом Discover предлагает обновить те же пакеты. А также до входа в систему:

# cat /var/lib/PackageKit/offline-update-competed  
[PackageKit Offline Update Results]  
Success=true  
Role=update-packages
Comment 15 Sergey V Turchin 2025-06-23 10:35:38 MSK
(Ответ для Антоненко Даниил на комментарий #14)
> НЕ предлагает выполнить восстановление системы, просто тишина.
Зачем восстанавливать систему? Что-то испорчено?
Comment 16 Sergey V Turchin 2025-06-23 10:38:09 MSK
(Ответ для Антоненко Даниил на комментарий #14)
> Если место заканчивается уже после скачивания обновлений, то Discover ничего
> не пишет
[...]

> # cat /var/lib/PackageKit/offline-update-competed  
> [PackageKit Offline Update Results]  
> Success=true  
> Role=update-packages

(Ответ для Олег Соловьев на комментарий #10)
> > Олег, а кто именно должен создать файл отчёта?
> packagekit

Видимо, packagekit должен написать что-то более подходящее в файле статуса.