Bug 33912

Summary: спамит после установки пакетов
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P2 CC: bircoph, boyarsh, darktemplar, glebfm, grenka, imz, ldv, mike, placeholder, rider, sem, snejok, zerg
Version: unstableKeywords: regression, usability
Hardware: all   
OS: Linux   
URL: http://www.opennet.ru/openforum/vsluhforumID3/120273.html#97
Attachments:
Description Flags
возвращение логики выдачи "Done." к сстоянию до 7be75b2c none

Description Michael Shigorin 2017-09-22 18:49:13 MSK
После внедрения posttrans-триггеров начал выкидывать окошко после _каждой_ установки группы пакетов -- людей это достаёт (включая меня).
Comment 1 Grigory Ustinov 2018-09-20 19:04:19 MSK
(В ответ на комментарий №0)
> После внедрения posttrans-триггеров начал выкидывать окошко после _каждой_
> установки группы пакетов -- людей это достаёт (включая меня).

Пожалуйста, опишите багу чуть конкретнее? Приложите скрин окошка?
Comment 2 Michael Shigorin 2018-09-20 21:26:35 MSK
Окошко со словом "Done." вместо того, чтоб никакого окошка вообще не вылезало
при условии "тихого" завершения транзакции.  Ты, поди, не застал времена, когда
так и было...
Comment 3 Michael Shigorin 2020-04-09 16:12:14 MSK
И тут спрашивают:

---
А не запускать synaptic который под конец вываливает окно APT сообщает DONE.
--- http://www.opennet.ru/openforum/vsluhforumID3/120273.html#97
Comment 5 Michael Shigorin 2022-01-16 15:09:57 MSK
Часть бага пришла коммитом 7be75b2c020b8ff851339bcc805481343c8dc285:

-   if (Interactive == true)
+   if (quiet <= 2)
       cout << _("Done.") << endl;

Мне кажется, конкретно эта правка была ошибочной и стоит вернуть как было; проверил -- "Done." в Synaptic больше не наблюдаю, но остался вывод после пробной успешной транзакции (что и является регрессией):

--- При выполнении изменений были получены сообщения:
Во время подготовки к установке:

jvgs-data-0.5-alt3.e2kv4
jvgs-0.5-alt3.e2kv4
---

Вот как это выглядит в консоли без локализации:

---
# LANG=C apt-get -o RPM::Interactive=false -y install jvgs
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  jvgs-data
The following NEW packages will be installed:
  jvgs jvgs-data
0 upgraded, 2 newly installed, 0 removed and 0 not upgraded.
Need to get 0B/1669kB of archives.
After unpacking 6456kB of additional disk space will be used.
Committing changes...
Preparing packages...
%% 0.000000
%% 50.000000
jvgs-data-0.5-alt3.e2kv4
%% 0.000000
%% 0.003886
[...кстати, процентов вышло 263 строки на первый пакет и 115 -- на второй; многовато?]
%% 99.877228
%% 99.996399
%% 100.000000
jvgs-0.5-alt3.e2kv4
%% 0.000000
%% 0.006525
%% 1.107490
[...]
%% 99.903557
%% 99.995750
%% 100.000000
---

Эти строчки уже из librpm, точнее, lib/rpminstall.c:

---
        } else {
            char *s = headerGetAsString(h, RPMTAG_NEVRA);
            fprintf(stdout, "%s\n", s);
            (void) fflush(stdout);
            free(s);
        }
---

Прошу лучше понимающих в rpm/apt помочь допинать эту багу (я догадываюсь, что вы тоже не пользуетесь synaptic в повседневной жизни).

Вот это место в synaptic тоже посмотрел -- сходу непонятно, по какому именно критерию надо игнорировать лишние строки в виде только NEVRA в случае, когда ничего заслуживающего внимание не происходило:

--- void RGInstallProgress::updateInterface()
         if (line[0] != '%') {
            map<string, string>::const_iterator I = _summaryMap.find(line);
            if (I == _summaryMap.end()) {
               if (_startCounting == false) {
                  gtk_label_set_label(GTK_LABEL(_label), utf8(line));
                  gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(_pbar), 0);
               } else {
                  _msgs.addLine(utf8(line));
               }
[...]
--- gtk/rginstallprogress.cc
Comment 6 Michael Shigorin 2022-01-16 15:12:22 MSK
Created attachment 10131 [details]
возвращение логики выдачи "Done." к сстоянию до 7be75b2c