Bug 47221

Summary: [3.6] join lenka@
Product: Team Accounts Reporter: Lenka <lenadea199900>
Component: joinAssignee: Gleb F-Malinovskiy <glebfm>
Status: ASSIGNED --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: glebfm, grenka, ldv, sin
Version: unspecified   
Hardware: x86   
OS: Linux   
Attachments:
Description Flags
Ключ SSH
none
Ключ GPG none

Description Lenka 2023-08-13 16:30:38 MSK
Created attachment 14086 [details]
Ключ SSH

Имя пользователя: Lenka
Почта: lenadea199900@gmail.com
Ментор: Евгений Синельников
Хочу заниматься usability программ. Уже немного знакома с ADMC есть четкие представления по оптимизации формирования иконок программы.
Comment 1 Lenka 2023-08-13 16:31:11 MSK
Created attachment 14087 [details]
Ключ GPG
Comment 2 Evgeny Sinelnikov 2023-08-13 17:04:27 MSK
Мейнтернество подтверждаю.
Comment 3 Gleb F-Malinovskiy 2023-08-30 12:31:31 MSK
(In reply to Lenka from comment #1)
> Created attachment 14087 [details]
> Ключ GPG
Ok.

(In reply to Lenka from comment #0)
> Created attachment 14086 [details]
> Ключ SSH
Ok.

Ментор есть, ключи в порядке.
T/J/S -> 1.3.
Comment 4 Lenka 2023-09-28 15:50:24 MSK
Подготовила пакет с темой для ADMC:
https://github.com/LenkaDEA/admc_icons
Comment 5 Evgeny Sinelnikov 2023-10-25 17:05:37 MSK
Предлагаю двигаться дальше.

Минимальный пакет с темой иконок ожидаю я.
Comment 6 Lenka 2023-11-14 10:19:04 MSK
Актуальная версия пакета с темами:
https://github.com/LenkaDEA/admc_icons/tree/themes
Comment 7 Gleb F-Malinovskiy 2023-12-05 20:08:52 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 8 Evgeny Sinelnikov 2023-12-18 16:04:56 MSK
Минимально сборка пакетов освоена, ждем исправления в .gear/rules упаковки исходников по тегу и формирование патча. После этого можно переходить к следующему этапу.
Comment 9 Evgeny Sinelnikov 2023-12-22 19:31:10 MSK
Поскольку пакет был переделан, предлагаю обновить photoflare для следующего шага:
https://repology.org/project/photoflare/versions
Comment 10 Lenka 2024-01-16 13:34:46 MSK
Обновила пакет до последней версии 1.6.13-alt1: http://git.altlinux.org/people/lenka/packages/photoflare.git
Есть ли замечания?

Нет доступа к сборочнице, поэтому не могу создать таску.
Comment 11 Evgeny Sinelnikov 2024-01-23 20:58:26 MSK
Пакеты собираются, давайте переходить к освоению сборочницы и тестированию пакетов из тестовых сборочных задач.
Comment 12 Gleb F-Malinovskiy 2024-01-29 14:20:05 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 13 Lenka 2024-01-31 11:31:14 MSK
Создала задание на сборочнице для пакета photoflare: https://packages.altlinux.org/ru/tasks/339458/
Сейчас в состоянии EPERM.
Comment 14 Lenka 2024-02-09 14:05:19 MSK
Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/
Comment 15 Evgeny Sinelnikov 2024-02-11 18:49:19 MSK
(Ответ для Lenka на комментарий #13)
> Создала задание на сборочнице для пакета photoflare:
> https://packages.altlinux.org/ru/tasks/339458/
> Сейчас в состоянии EPERM.

Предлагаю для общего развития добавить в сборку следующие исправления:

1) отдельным коммитом апстримный источник для упрощения сопровождения:
https://www.altlinux.org/Gear/remotes

Пример:

$ gear-remotes-set-from-url https://github.com/PhotoFlare/photoflare
now run gear-remotes-restore

$ git status 
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   .gear/upstream/remotes


$ gear-remotes-restore
$ git remote -v
origin  git://git.altlinux.org/tasks/339458/gears/100/git (fetch)
origin  git://git.altlinux.org/tasks/339458/gears/100/git (push)
upstream        https://github.com/PhotoFlare/photoflare (fetch)
upstream        https://github.com/PhotoFlare/photoflare (push)


2) добавить в .gear/rules exclude для каталога .gear при автоматической генерации патча к апстримным исходникам:
https://bugzilla.altlinux.org/39804

Думаю, что такого варианта будет достаточно:

[sin@base .gear]$ git diff . | cat
diff --git a/.gear/rules b/.gear/rules
index 55f0585..c9b435f 100644
--- a/.gear/rules
+++ b/.gear/rules
@@ -1,3 +1,3 @@
 spec: .gear/photoflare.spec
 tar: v@version@:.
-diff: v@version@:. . name=@name@-@version@-alt.patch
+diff: v@version@:. . name=@name@-@version@-alt.patch exclude=.gear/**

3) почистить код в соответствии с логикой сопровождения.

- После объединения с апстримными исходниками остались куски от предыдущих коммитов, которые я вносил для исправления работы:

$ git diff v1.6.13 -- src/ | cat
diff --git a/src/widgets/PaintWidget.cpp b/src/widgets/PaintWidget.cpp
index 198ed7b..7f6860a 100644
--- a/src/widgets/PaintWidget.cpp
+++ b/src/widgets/PaintWidget.cpp
@@ -25,7 +25,6 @@
 #include <QGraphicsScene>
 #include <QGraphicsSceneMouseEvent>
 #include <QGraphicsProxyWidget>
-#include <QGraphicsEffect>
 #include <QImageReader>
 
 #include "../Settings.h"

- в оригинальном виде исправление состояло в том, что я откатил один из апстримных коммитов:

commit a3ac8be2857d96aed6d4d00e949ab37f2fec01d2
Author: Evgeny Sinelnikov <sin@altlinux.org>
Date:   Mon Feb 14 05:07:05 2022 +0400

    Revert "Fixes #269 - Canvas shadow to separate from mdiarea bg"
    
    This reverts commit e664f48d616fa37ad4fab3c453aa958bee277c28.

diff --git a/src/widgets/PaintWidget.cpp b/src/widgets/PaintWidget.cpp
index 90e3ade..8b0236f 100644
--- a/src/widgets/PaintWidget.cpp
+++ b/src/widgets/PaintWidget.cpp
@@ -25,7 +25,6 @@
 #include <QGraphicsScene>
 #include <QGraphicsSceneMouseEvent>
 #include <QGraphicsProxyWidget>
-#include <QGraphicsEffect>
 #include <QImageReader>
 
 #include "../Settings.h"
@@ -57,12 +56,7 @@ public:
         this->image = image;
         q->setSceneRect(image.rect());
         canvas = addPixmap(QPixmap::fromImage(image));
-        q->setStyleSheet("background-color: rgb(160, 160, 160);");
-
-        // Canvas drop shadow to separate from MdiArea colour
-        QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
-        effect->setBlurRadius(15);
-        canvas->setGraphicsEffect(effect);
+        q->setStyleSheet("background-color: rgb(128, 128, 128);");
     }
 
     void updateImageCanvas()

- Насколько я понимаю, при обновлении до последней версии 1.6.13, откаченный коммит был почти восстановлен. "Почти", потому что удаление строки #include <QGraphicsEffect> не восстановили.

- соответственно, нужно решить. Возвращаем этот коммит или нет?

Зачем я его откатывал нужно ещё вспомнить.

4) уточнить статус работоспособности этого пакета в Сизифе и бранчах. Это чудное приложение в нашей сборке ведёт себя нестабильно - склонно падать при использовании инструментов - Яркость, Насыщенность, Гамма (и это только то, что я с ходу обнаружил):

Как в текущей версии 1.6.9:

[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
QMetaObject::connectSlotsByName: Connecting slot on_comboBoxLanguage_currentIndexChanged() with the first of the following compatible signals: ("currentIndexChanged(int)", "currentIndexChanged(QString)")
[sin@base photflare]$ QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...

[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
kf.imageformats.plugins.xcf: XCF: read called on non-XCF file
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов


так и для новой 1.6.13:

[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
kf.windowsystem: Loaded plugin "/usr/lib64/qt5/plugins/kf5/kwindowsystem/KF5WindowSystemX11Plugin.so" for platform "xcb"
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов
[sin@base photflare]$ photoflare 
QMetaObject::connectSlotsByName: No matching signal for on_actionStroke_Rect_triggered()
QObject::connect: No such signal QSpinBox::changed()
QObject::connect:  (sender name:   'strokeWidth')
QObject::connect:  (receiver name: 'PointerSettingsWidget')
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
QDockWidgetLayout::addItem(): please use QDockWidgetLayout::setWidget()
Magick: abort due to signal 11 (SIGSEGV) "Segmentation Fault"...
Аварийный останов

Таким образом это "отличное" приложение с достаточно отзывчивым апстримом, у которого множество недоработок. То ли связанных с наших окружением, то ли с тем, как это приложение написано вообще. К его доработке можно привлекать начинающих разработчиков для повышения квалификации.

В любом случае, это приложение выглядит на текущий момент достаточно проблемным для работы в окружении сизифа (в окружении p10 я его пока не проверял). Возможно, данное приложение даёт возможность обнаружить и более общие недоработки в окружении сизифа.

____________________

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

Например в devel-newbies@, примерно в такой форме:
- я обновила такой-то пакет - ссылка;
- при обновлении обнаружены такие-то проблемы - перечисление (возможно, в виде ссылок на нашу багзиллу, а лучше на трекер апстрима);
- предлагаю заинтересованным поучаствовать в их исправлении.

Ну, это если пакет, действительно вам интересен.

____________________


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

Одна из проблем, которая была однаружена состоит в том, что в приложении достаточно странно релизована логика поиска файлов локализации (довольно некорретно, по отношению к стандартному расположению в дистрибутивах GNU/Linux). Предположу, что эти особенности связаны с поддержкой portable-сборок, а также поддержку windows в целом, где все файлы программы вываливаются в каталог приложения в Program Files.

Возможно, я на завершил данную задачу, а только подготовил некоторые исправления в домашнем кругу, надеясь что вернусь к этому потом. В результате один патч у нас был принят, но проблему полностью он не решает:

commit 33deae5c825c108137f8472d6462e8828651d931
Author: Helen Sinelnikova <helen@darkmastersin.net>
Date:   Sun Oct 4 23:39:38 2020 +0400

    Fix check of translation file

diff --git a/src/main.cpp b/src/main.cpp
index d5bf7de..0f56727 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -114,14 +114,14 @@ int main(int argc, char *argv[])
         app.installTranslator(&translator);
 
         QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
+        paths.prepend("."); //for local builds testing
         for(int i = 0;i < paths.length(); i++)
         {
-            //QFileInfo check_file(paths[i]+"/languages/"+SETTINGS->getUserLanguage()+".qm");  //for installers
-            QFileInfo check_file("languages/"+SETTINGS->getUserLanguage()+".qm");  //local builds
+            QFileInfo check_file(paths[i]+"/languages/"+SETTINGS->getUserLanguage()+".qm");
             if(check_file.exists() && check_file.isFile())
             {
-                //translator.load(SETTINGS->getUserLanguage()+".qm", paths[i]+"/languages/");  //for installers
-                translator.load(SETTINGS->getUserLanguage()+".qm", "languages/"); //local builds
+                translator.load(SETTINGS->getUserLanguage()+".qm", paths[i]+"/languages/");
+                break;
             }
         }
         MainWindow w;


____________________

Предлагаю закрыть, для начала, из перечисленных выше пунктов 1, 2 и 3. По поводу пунктов 4 и 5 предлагаю сравнить текущую и новую сборки на p10 и на сизифе на предмет наличия регрессий. Далее собрать обновление до 1.6.13 и, в зависимости от анализа регрессий и обнаруженных ошибок, "развесить" сообщения об этих ошибках "и" (как минимум, "или") призвать заинтересованных заняться этими задачами в учебном формате в рассылке devel-newbies@.
Comment 16 Evgeny Sinelnikov 2024-02-11 19:00:01 MSK
(Ответ для Lenka на комментарий #14)
> Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/

В этой сборке сделаны "лишние", взаимоисключающие шаги:

Вот так выглядят правила gear:

tar: @version@:.
spec: .gear/clipboard.spec
diff: @version@:. .  exclude=.gear/**
copy?:.gear/*.patch

Возникает вопрос. А зачем было добавлено правило diff, если патч в итоге кладётся файлом? Зачем генерировать патч, если он далее нигде не используется? Наверное, он тогда просто не нужен?

И наоборот, если патч генерируется, зачем тогда его хранить файлом и прикладывать отдельно, когда можно приложить прямо в исходники?

У обоих вариантов сопровождения есть свои плюсы и минусы. Но стоит определиться - какой схемы сборки придерживаться в данном случае.
Comment 17 Lenka 2024-02-13 17:47:26 MSK
(Ответ для Evgeny Sinelnikov на комментарий #15)
> Предлагаю закрыть, для начала, из перечисленных выше пунктов 1, 2 и 3.

Спасибо за развернутый ответ, замечания и рекомендации по сборке. 
Обновила пакет согласно Вашим рекомендациям:
https://packages.altlinux.org/ru/tasks/339458/

Насчет третьего пункта "почистить код в соответствии с логикой сопровождения":
Проверив багу, убедилась, что она также присутствует. Поэтому приняла решение оставить наш комит: https://git.altlinux.org/gears/p/photoflare.git?p=photoflare.git;a=commit;h=a3ac8be2857d96aed6d4d00e949ab37f2fec01d2
Comment 18 Lenka 2024-02-14 18:58:56 MSK
(Ответ для Evgeny Sinelnikov на комментарий #16)
> (Ответ для Lenka на комментарий #14)
> > Опакетила новую программу: https://packages.altlinux.org/ru/tasks/340169/
> 
> В этой сборке сделаны "лишние", взаимоисключающие шаги
Определилась со схемой сборки и убрала взаимоисключающие шаги.

Теперь gear/rules выглядит следующим образом:
$ cat .gear/rules 
tar: @version@:.
spec: .gear/clipboard.spec
copy?:.gear/*.patch

Таска: https://packages.altlinux.org/ru/tasks/340169/
Comment 19 Lenka 2024-03-18 12:03:09 MSK
В ходе обсуждения получила ряд замечаний/рекомендаций касательно пакета clipboard

Результатом было исправление следующих вещей в spec-файле:
1. Группа была изменена на более подходящую.
2. Убраны Provides.
3. Изменены названия подпакетов.

Таска: https://packages.altlinux.org/en/tasks/340169/
Comment 20 Evgeny Sinelnikov 2024-03-28 18:28:08 MSK
Посмотрел, собрал, установил, одобрил для отправки в сизиф.

Нужно перезапустить сборочную задачу с --commit.

Следующим шагом предлагаю погрузиться в проблему с accountsservice. Это очень важный для нас технологический стек далее связанный с возможностями развития продуктов.

Текущая проблема:
https://bugzilla.altlinux.org/47499

По сути, я вижу две задачи:
- починить проблему автологина для локальных пользователей;
- разобраться с архитектурной связкой accountsservice/lightdm/gdm с целью решения проблемы - что нам требуется для обеспечения кеширования доменных пользователей при логине?

Сейчас приходится вот так
Comment 21 Evgeny Sinelnikov 2024-03-28 18:40:54 MSK
(Ответ для Evgeny Sinelnikov на комментарий #20)
...
> Сейчас приходится вот так вручную решать проблему отсутствия кеширования доменных пользователей:

$ busctl call org.freedesktop.Accounts /org/freedesktop/Accounts org.freedesktop.Accounts CacheUser "s" "sin"
o "/org/freedesktop/Accounts/User758801104"

Ещё одна примыкающая задача - задание пароля для пользователей. Для доменных пользователей она и не может работать, там и проверка на "локальность" не выполняется:

$ busctl call org.freedesktop.Accounts /org/freedesktop/Accounts/User758801104 org.freedesktop.Accounts.User SetPassword "ss" "Qw12345678" "Qw"
Call failed: running '/usr/sbin/chpasswd' failed: Дочерний процесс завершился с кодом 1
Comment 22 Lenka 2024-05-28 11:28:10 MSK
Добрый день! Собрала питоновский модуль:
https://packages.altlinux.org/ru/tasks/349553/
Comment 23 Grigory Ustinov 2024-05-28 12:20:53 MSK
Вы отключаете сборку некоторых тестов, но не комментируете, почему. Это очень нехороший подход, который концептуально ломает весь смысл проверки. С таким же успехом можно было бы просто отключить секцию чек и не вводить других людей в заблуждение.
Если вы отключаете какие-то тесты, неплохо бы указывать причины. Этот допустим требует сеть, этот запущенный сервер sql а тот например временно не работает, потому что требует версию зависимости меньше текущей.
Тогда человек, читая комментарии, будет понимать, что да, действительно секция чек проходит полностью, кроме того, что не может быть пройдено в принципе.
Comment 24 Lenka 2024-06-03 22:55:53 MSK
Спасибо за комментарий и советы!
Переделала согласно Вашим рекомендациям:
https://packages.altlinux.org/ru/tasks/349553/
Comment 25 Lenka 2024-08-01 15:24:24 MSK
Вышли новые версии пакета textual. Обновила. Можно посмотреть в задаче 351067
Также "тяжелая" часть документации была вынесена в отдельный пакет с версии 0.67.0-alt2.

Собрала nushell в задаче 352543. Жду проверки и апрува.
Этот пакет закрывает багу https://bugzilla.altlinux.org/50035
Comment 26 Lenka 2024-08-23 12:12:14 MSK
Вышла новая версия пакета textual
Обновила. Собрано в задаче: 355757
Comment 27 Lenka 2024-10-25 17:51:51 MSK
Обновила textual. Собран в задаче: 355757

Обновила, закрыла багу (51040) и переключила на использование системных библиотек пакет nushell.Собрано в задаче: 354532
Comment 28 Grigory Ustinov 2024-10-26 15:49:34 MSK
Заапрувил и отправил в сизиф последний таск с textual, поскольку он был ftbfs. Тем не менее, у меня есть ряд замечаний, которые хотелось бы, чтобы были исправлены:
1. Во-первых это питоновский модуль, поэтому группа у него должна быть Development/Python3. Я удивлён, что этот модуль вообще прошёл через сборочницу с такой ошибкой.
2. Комментарий к тестам почему-то в секции инсталл.
3. То что вы нагородили с документацией обычно делается макросом %doc README.md в секции %files.
4. Полагаю, что какой-нибудь элементарный ридми и лицензию всё же стоит паковать и в основной модуль.
5. Некритично, но для питоновских модулей бывает удобнее ставить в URL их страницу на pypi.org.
Comment 29 Lenka 2024-10-30 11:18:55 MSK
(Ответ для Grigory Ustinov на комментарий #28)
> Заапрувил и отправил в сизиф последний таск с textual, поскольку он был
> ftbfs. Тем не менее, у меня есть ряд замечаний, которые хотелось бы, чтобы
> были исправлены:
> 1. Во-первых это питоновский модуль, поэтому группа у него должна быть
> Development/Python3. Я удивлён, что этот модуль вообще прошёл через
> сборочницу с такой ошибкой.
> 2. Комментарий к тестам почему-то в секции инсталл.
> 3. То что вы нагородили с документацией обычно делается макросом %doc
> README.md в секции %files.
> 4. Полагаю, что какой-нибудь элементарный ридми и лицензию всё же стоит
> паковать и в основной модуль.
> 5. Некритично, но для питоновских модулей бывает удобнее ставить в URL их
> страницу на pypi.org.

Учла ваши замечания, спасибо за пояснения.
Пересобрала в задаче: 361015
Также обновила версию.

Что касается 3-его замечания о документации, то такая реализация необходима для возможности исключения blog из документации (%exclude %docdir/docs/blog), который очень много весит. В противном случае он не видит этого каталога, к сожалению.
Comment 30 Grigory Ustinov 2024-10-30 15:20:11 MSK
(Ответ для Lenka на комментарий #29)
> Что касается 3-его замечания о документации, то такая реализация необходима
> для возможности исключения blog из документации (%exclude
> %docdir/docs/blog), который очень много весит. В противном случае он не
> видит этого каталога, к сожалению.

Вы правы, красивого способа исключить каталог я не знаю.

А зачем его исключать? Вы выделили документацию в отдельный подпакет и очень правильно сделали. Люди, которые не хотят получить "мусор", его не получат, а люди которые хотят получить оффлайн документацию, получат её в обрезанном виде. 27мб это не так уж много по меркам документации:

[grenka@mrfrog RPMS.classic]$ ls *-doc* | xargs du -Lh | sort -rh | head
135M	qt4-doc-html-4.8.7-alt51.noarch.rpm
79M	gnome-getting-started-docs-3.38.1-alt1.noarch.rpm
77M	libopencv-doc-4.10.0-alt2.noarch.rpm
64M	boost-doc-1.86.0-alt1.noarch.rpm
56M	gnucash-docs-5.9-alt1.noarch.rpm
56M	cgal-devel-doc-5.6.1-alt1.noarch.rpm
52M	giac-doc-1.9.0.69-alt1.noarch.rpm
48M	kicad-doc-8.0.6-alt1.noarch.rpm
39M	openscada-docEN-0.9.7-alt1.noarch.rpm
35M	opentoonz-doc-1.6.0-alt1.noarch.rpm

А ещё вы используете конструкцию: %package -n %name-doc хотя можно было бы и наверное нужно было бы просто %package doc.

[grenka@mrfrog SPECS]$ grep -r "\-n %name-doc$"
e/emacs-mode-auctex/auctex.spec:%files -n %name-doc
p/python3-module-textual/python3-module-textual.spec:%package -n %name-doc
p/python3-module-textual/python3-module-textual.spec:%description -n %name-doc
p/python3-module-textual/python3-module-textual.spec:%files -n %name-doc
S/SoapySDR/SoapySDR.spec:%package -n %name-doc
S/SoapySDR/SoapySDR.spec:%description -n %name-doc
S/SoapySDR/SoapySDR.spec:%files -n %name-doc
x/xapian-core/xapian-core.spec:%package -n %name-doc
x/xapian-core/xapian-core.spec:%description -n %name-doc
x/xapian-core/xapian-core.spec:%files -n %name-doc
t/translate-toolkit/translate-toolkit.spec:%package -n %name-doc
t/translate-toolkit/translate-toolkit.spec:%description -n %name-doc
t/translate-toolkit/translate-toolkit.spec:%files -n %name-doc
v/verilator/verilator.spec:%package -n %name-doc
v/verilator/verilator.spec:%description -n %name-doc
v/verilator/verilator.spec:%files -n %name-doc
o/openldap/openldap.spec:%package -n %name-doc
[grenka@mrfrog SPECS]$ grep -rl "\-n %name-doc$" | wc -l
7
Comment 31 Lenka 2024-11-12 17:10:44 MSK
Спасибо за пояснение. Я еще раз посмотрела каталог blog. Уточню что туда пишут информацию о новых релизах и важных новостях. Вероятно, если человек хочет офлайн документацию, то и информация о релизах ему будет полезна.
Вернула blog в документацию.

Обновила версию и собрала в задаче: 361015
Comment 32 Lenka 2024-11-15 13:02:57 MSK
Обновила nushell: 362528

Обновила python3-module-pytest-textual-snapshot: 362514