Bug 48922 - [4.2] join alxvmr@
Summary: [4.2] join alxvmr@
Status: ASSIGNED
Alias: None
Product: Team Accounts
Classification: Development
Component: join (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: Andrey Cherepanov
URL: https://altlinux.org/Team/Join
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-25 14:11 MSK by alxvmr
Modified: 2025-03-26 16:31 MSK (History)
5 users (show)

See Also:


Attachments
Публичный ssh-ключ (106 bytes, text/plain)
2023-12-25 14:11 MSK, alxvmr
no flags Details
GPG-ключ (3.01 KB, application/pgp-keys)
2023-12-25 14:11 MSK, alxvmr
no flags Details
GPG-ключ для нового ника (3.81 KB, application/pgp-keys)
2024-01-23 15:56 MSK, alxvmr
no flags Details
Новый публичный SSH-ключ (106 bytes, application/vnd.ms-publisher)
2024-01-23 15:56 MSK, alxvmr
no flags Details
Новый GPG-ключ (3.81 KB, text/plain)
2024-01-23 18:27 MSK, alxvmr
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description alxvmr 2023-12-25 14:11:23 MSK
Created attachment 15275 [details]
Публичный ssh-ключ

Псевдоним: alekseevamo
Адрес пересылки почты: alekseevamo@basealt.ru
Имя ментора: sin

Хочу пройти join, чтобы освоить технологию сборки пакетов для участия в разработке инструментов администрирования.
Comment 1 alxvmr 2023-12-25 14:11:44 MSK
Created attachment 15276 [details]
GPG-ключ
Comment 2 alxvmr 2023-12-25 15:17:59 MSK
(Ответ для alxvmr на комментарий #0)

> Псевдоним: alekseevamo
> Адрес пересылки почты: alekseevamo@basealt.ru

Хотелось бы изменить псевдоним и адрес пересылки почты:
Новый псевдоним: alxvmr
Новый адрес пересылки почты: alexeevamro@gmail.com
Comment 3 Gleb F-Malinovskiy 2024-01-22 16:24:07 MSK
(In reply to alxvmr from comment #2)
> Хотелось бы изменить псевдоним и адрес пересылки почты:
> Новый псевдоним: alxvmr
> Новый адрес пересылки почты: alexeevamro@gmail.com
Без проблем, но с другим ником нужен и другой id в gpg-ключе.
Comment 4 alxvmr 2024-01-23 15:56:14 MSK
Created attachment 15393 [details]
GPG-ключ для нового ника
Comment 5 alxvmr 2024-01-23 15:56:45 MSK
Created attachment 15394 [details]
Новый публичный SSH-ключ
Comment 6 Gleb F-Malinovskiy 2024-01-23 18:18:31 MSK
(In reply to alxvmr from comment #4)
> Created attachment 15393 [details]

Прошу прощения, я не заметил в предыдущем варианте, а тут проблема осталась: мы просим идентификатор ключа делать в формате <First name> <Last name>, а не в обратном порядке, как у вас.

ssh ключ не обязательно было перегенерировать, и первый бы подошёл, но и новый ничем не хуже.
Comment 7 alxvmr 2024-01-23 18:27:29 MSK
Created attachment 15395 [details]
Новый GPG-ключ
Comment 8 Gleb F-Malinovskiy 2024-01-23 18:32:09 MSK
Спасибо, теперь с ключами всё хорошо.

Теперь требуется подтверждение от ментора, а он, кажется, даже на баг не подписан.  Вижу, он был assignee, а в Cc не попал, исправляю тогда сам. :)
Comment 9 Evgeny Sinelnikov 2024-03-05 17:06:17 MSK
Подтверждаю, поехали.
Comment 10 alxvmr 2024-03-05 18:01:01 MSK
Обновила пакет python3-module-smbc до версии 1.0.25.1; убрала патч Игоря Чудова, который был принят в upstream.
https://github.com/alxvmr/smbc
Comment 11 Gleb F-Malinovskiy 2024-03-26 22:17:17 MSK
Ментор есть, ключи в порядке.
T/J/S -> 1.3.
Comment 12 alxvmr 2024-04-15 17:46:45 MSK
Обновила пакет python3-module-prettytable
2.1.0 -> 2.2.0

github: https://github.com/alxvmr/prettytable_alt_linux
Comment 13 alxvmr 2024-07-16 13:03:36 MSK
Сделала Python-обвязку для библиотеки GVDB (язык C), собрала в пакет - https://github.com/alxvmr/gvdb-binding
Comment 14 alxvmr 2024-07-17 17:25:34 MSK
(Ответ для alxvmr на комментарий #13)
> Сделала Python-обвязку для библиотеки GVDB (язык C), собрала в пакет -
> https://github.com/alxvmr/gvdb-binding

В дополнение к предыдущему собщению.

В рамках рабочих задач возникла необходимость обвязать C библиотеку GVDB для предоставления возможности чтения данных из бинарников (Python).

В процессе работы также потребовалось изменить исходники GVDB. В результате, во время сборки пакета формируется патч, который применяется к upstream.

Обвязала, результат обвязки упаковала. 

Применять пакет планируется в задачах, связанных с разработкой в области инфраструктурных решений.
Comment 15 Evgeny Sinelnikov 2024-07-23 20:50:08 MSK
Пакеты собираются, пора переходить на этап регистрации ключей.
Comment 16 alxvmr 2024-08-06 19:25:45 MSK
Внесла изменения в исходники ALT Media Writer - решена проблема, из-за которой вместо выбранного пользователем устройства записи образ записывался на последнее смонтированное устройство (https://github.com/altlinux/ALTMediaWriter/issues/37).

Обновила пакет (1.0.4-alt1 -> 1.0.4-alt2).

Также собрала новый инсталлятор для Windows.

Обновленный .spec лежит в репозитории ALT Media Writer (https://github.com/altlinux/ALTMediaWriter).
Comment 17 alxvmr 2024-08-08 11:52:29 MSK
Внесла изменения в accountsservicies - теперь просматривается /etc/tcb, а не /etc/shadow/, что бьется с внутренним устройством ALT Linux. В соответствии с этим изменила и тесты.

Теперь в Gnome локальные пользователи определяются accountsservicie-ом как локальные и доступен автоматический вход (https://bugzilla.altlinux.org/47499)

Ссылка на репозиторий - https://github.com/alxvmr/accountsservice
Comment 18 Evgeny Sinelnikov 2024-08-08 13:27:45 MSK
Нам уже пора переходить к стадии 3.0, давайте продвинемся.

А то передавать наработки приходится через github:
https://bugzilla.altlinux.org/48922#c17
Comment 19 alxvmr 2024-08-23 12:09:50 MSK
Добрый день!

Написала консольную утилиту gpresult (python) - предоставляет сведения о результирующем наборе групповых политик для текущего пользователя и/или компьютера.

Для проекта был написан конфигурационный файл pyproject.toml, в качестве системы сборки используется hatchling. 

В итоге, получившиеся приложение упаковала в rpm-пакет. Ссылка на репозиторий - https://github.com/alxvmr/gpresult
Comment 20 alxvmr 2024-08-23 12:14:14 MSK
Также во время работы над документацией понадобился плагин mkdocs-static-i18n (исходники: https://github.com/ultrabug/mkdocs-static-i18n).

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

В итоге, собрала данный проект в rpm-пакет: https://github.com/alxvmr/mkdocs-static-i18n
Comment 21 Gleb F-Malinovskiy 2024-09-02 19:17:32 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 22 Evgeny Sinelnikov 2024-09-02 22:33:24 MSK
Репы нужно переложить сюда:
https://git.altlinux.org/people/alxvmr/packages/

Сборка пакетов освоена в достаточной степени, чтобы отправлять тестовые задания на сборочницу.
Comment 23 Gleb F-Malinovskiy 2024-09-04 16:18:55 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 24 alxvmr 2024-09-12 12:13:28 MSK
Обновила пакет libgvdb - добавила генерацию .pc файла в meson.build (https://git.altlinux.org/people/alxvmr/packages/?p=libgvdb.git;a=summary)

Создала task #357343
Comment 25 alxvmr 2024-09-23 13:50:10 MSK
Пакет libgvdb попал в Sisyphus.

Ссылка: https://packages.altlinux.org/en/sisyphus/srpms/libgvdb/3118378682792640562
Comment 26 alxvmr 2024-09-23 14:05:06 MSK
Обновила пакет gpresult (0.0.1-alt1 -> 0.0.2-alt1):
- добавлен вывод информации о Preference;
- добавлена обработка информации о политиках, не имеющих ключей;
- из сборки исключены .po файлы переводов.

Ссылка на пакет: https://packages.altlinux.org/en/sisyphus/srpms/gpresult/
Comment 27 alxvmr 2024-09-24 08:33:19 MSK
Обновила altmediawriter для Sisyphus:
- исправлена ошибка с выбором накопителя (#44462);
- исправлено отображение прогресса записи (#49205);
- исправлено форматирование диска (#47202).

Номер таски #358188.
Comment 28 alxvmr 2024-11-01 16:10:50 MSK
Вместе с @iv собрали пакет alloy (https://github.com/grafana/alloy)
Task (sisyphus): 361292
Comment 29 alxvmr 2024-11-02 12:36:16 MSK
Вместе с @iv починили утечку памяти в mate-menu.
Обновила пакет: #361543 (Sisyphus, 22.04.2-alt7 -> 22.04.2-alt8)
Comment 30 alxvmr 2024-11-02 13:18:12 MSK
(Ответ для alxvmr на комментарий #29)
> Вместе с @iv починили утечку памяти в mate-menu.
> Обновила пакет: #361543 (Sisyphus, 22.04.2-alt7 -> 22.04.2-alt8)

* #361554
Comment 31 alxvmr 2024-12-12 19:04:29 MSK
Обновила пакет userpasswd (применила патч Ивана Волченко)
0.3.4-alt1 -> 0.3.5-alt1
Comment 32 alxvmr 2024-12-12 19:06:47 MSK
Обновила пакет alloy (Sisyphus):
1.4.3-alt3 -> 1.5.0-alt1 -> 1.5.1-alt1
Версия 1.5.1-alt1 сейчас находится в таске 364081
Comment 33 alxvmr 2025-01-14 14:40:15 MSK
Обновила userpasswd: 0.3.5-alt1 -> 0.3.6-alt1
Исправили регрессию
Comment 34 alxvmr 2025-01-14 14:42:56 MSK
Обновила gpresult
0.0.2-alt1 -> 0.0.3-alt1

В частности, добавлены bash completion
Помимо этого внесен новый функционал в утилиту: добавлены новые ключи для форматирования вывода и включения предыдущих значений, включена новая информация в вывод, обновлены переводы, ...
Comment 35 alxvmr 2025-02-13 12:01:31 MSK
Обновила mate-menu: 22.04.2-alt9 -> 22.04.2-alt10

Приложен патч, исправляющий отображение подсказок + добавлена кнопка включения/выключения отображения подсказок.

Номер таски (Sisyphus): 374511
Comment 36 alxvmr 2025-02-13 12:08:47 MSK
Обновила altmediawriter: 1.0.5-alt2.1 -> 1.0.6-alt1

Исправила проблему с кодировкой при выводе ошибки в gui (Windows)

Номер таски (Sisyphus): 374370
Comment 37 alxvmr 2025-02-13 12:10:21 MSK
Обновила gpresult: 0.0.3-alt1 -> 0.0.4-alt1

* Добавлены переводы для стандартного вывода argparse
* Внесены изменения в работу gpresult

Номер таски (Sisyphus): 372224
Comment 38 Evgeny Sinelnikov 2025-02-21 13:20:27 MSK
Базовый каркас сборочных инструментов освоен, давайте подыщем диментора.
Comment 39 alxvmr 2025-02-21 14:15:45 MSK
Обновила пакет alloy (обновление версии): 1.5.1-alt1 -> 1.6.1-alt1
Номер таски (Sisyphus): 371997
Comment 40 alxvmr 2025-02-21 14:22:00 MSK
Собрала новые пакеты из своих исходников (С, cmake):
userpasswd-gnome
gnome-shell-extension-userpasswd

+ обновила .spec для userpasswd (добавила альтернативы) и вынесла .desktop файл в отдельный пакет: userpasswd-common

Пакет userpasswd-gnome предоставляет обновленный userpasswd для GNOME. Манипуляции со старым userpasswd нужны для разрешения конфликтов (новая версия 0.3.6-alt2).

Номер таски с пакетами (userpasswd, userpasswd-common, userpasswd-gnome, gnome-shell-extension-userpasswd): 
Sisyphus 374317
Comment 41 Gleb F-Malinovskiy 2025-03-18 14:48:18 MSK
Призван рецензент (arseny@) для независимой оценки готовности кандидата.

T/J/S -> 4.2.
Comment 42 Arseny Maslennikov 2025-03-26 13:03:20 MSK
(In reply to Gleb F-Malinovskiy from comment #41)
> Призван рецензент (arseny@) для независимой оценки готовности кандидата.
> 
> T/J/S -> 4.2.

ACK.

По словосочетанию "номер таски" я автоматически выгрепал из этой баги следующие
сборочные задания:
https://packages.altlinux.org/tasks/358188
https://packages.altlinux.org/tasks/374511
https://packages.altlinux.org/tasks/374370
https://packages.altlinux.org/tasks/372224
https://packages.altlinux.org/tasks/371997
https://packages.altlinux.org/tasks/374317
и так понял, что смотреть нужно на них.

Мария, Женя, если в списке выше что-то лишнее или нужно рассматривать что-то ещё, сообщите. :)
Comment 43 Arseny Maslennikov 2025-03-26 13:07:09 MSK
Начнём, благословясь. :)

https://packages.altlinux.org/tasks/374317

userpasswd.git:

Глядя на 0.3.6-alt2, вижу не очень внятные записи в changelog пакета.
Я не стал бы подробно на этом останавливаться, будь дело только в стиле.
Мейнтейнеру нужно чётко понимать, что уместно в истории gear-репозитория, а что
в changelog.

Тексты в аннотациях коммитов (commit messages) и в журнале изменений пакета,
вообще говоря, предназначены разным кругам адресатов и сообщают своим адресатам
о разном.
Первое читают участники ALT Linux Team или любой желающий, изучая
исходный пакет (например, чтобы вспомнить, зачем была сделана некая правка),
и сопоставляют с построчным диффом; второе читают пользователи, которые ставят
пакеты и могут не разбираться в их сопровождении, но хотели бы узнать о
заметных для них изменениях в новом пакете — вдруг к обновлению нужно сначала
подготовиться?
Отсюда следует и разница между одним и другим: разный охват (каждый коммит vs
от релиза к релизу), уровень детализации (в changelog короче), changelog
копируется в каждый "бинарный" пакет и возникает иллюзия, что его содержимое
присуще этому бинарному пакету, проч.
[Надо бы где-то это подробно письменно объяснить и положить в базу знаний, а то
про заглавные буквы и точки у нас есть, а про взгляд сисадмина — нет.]

> 63 * Thu Feb 20 2025 Maria Alexeeva <alxvmr@altlinux.org> 0.3.6-alt2
> 64 - Add alternatives
> 65 - Add common subpackage
> 66 - Add conflict with userpasswd < 0.3.6-alt2
* "Add common subpackage" ни о чём читателю changelog entry не скажет, особенно
если он читает changelog не от userpasswd-common.
Чтобы прочесть его summary и description, нужно дать команду, а это не факт,
что удобно — читатель не всегда находится перед интерактивным шеллом, чтобы
туда сказать `apt-cache show userpasswd-common`. Если написать что-то вроде
"Moved .desktop file to userpasswd-common to be shared with ...", это уже
объяснит пользователю суть произошедшего. Или не shared with, а used by, по смыслу.
* "Add conflict" тоже может быть непонятно куда. Если открыть спек, то станет
понятно, что в -common, но это мы с вами на git-историю и исходники смотрим.
Раз уж у нас есть в тексте параграф о появлении -common, там же можно упомянуть
и об этом.

Ну и, раз уж мы на этом остановились, у записей к 0.3.6-alt1 и к -alt2
почему-то разное оформление: там в прошедшем времени, тут в настоящем. Лучше бы
выбрать что-то одно. Так как это сообщения о уже проведённых в репозитории
действиях, а не заголовки ещё не принятых патчей (как в git), я бы предложил
писать в прошедшем; это совпадает с традиционной практикой для RPM-пакетов как
минимум.

Это всё уже уехало в сизиф, но у нас changelog-записи упаковываются в составе
исходников, так что можно исправить задним числом. :)

Кроме этого — теперь в спеке у пакета указано значение Packager, не соответствующее действительности.
Comment 44 Arseny Maslennikov 2025-03-26 13:09:04 MSK
userpasswd-gnome:

в сборочной среде указан пакет ccmake. Вопрос _кандидату_: зачем?
Ещё один вопрос _кандидату_: можно ли упаковать программу с правами setgid
shadow при помощи директив для RPM? если нет, почему?
Comment 45 Arseny Maslennikov 2025-03-26 13:11:16 MSK
(In reply to Arseny Maslennikov from comment #44)
> userpasswd-gnome:
Вопрос на грани апстрима и пакета, на ревью скорее не влияет.
А зачем было городить alternatives, если можно выбирать наилучший фронт в
зависимости от, например, переменной окружения XDG_CURRENT_DESKTOP?
Программа-обёртка, работающая по принципу: если в этом массиве упомянут GNOME,
то взять *-gnome, если KDE (и при этом установлен фронт на Qt, если кто-нибудь
таковой сделает), то *-qt, ..., fallback на что-нибудь безобидное. На неё же смотрит .desktop-файл.

Или от прежней программы userpasswd планируется тоже отказаться?
Comment 46 Arseny Maslennikov 2025-03-26 13:14:18 MSK
(In reply to Arseny Maslennikov from comment #44)
> userpasswd-gnome:
Небольшое замечание отн. апстрима userpasswd-gnome.
Хорошо, что я проходил по commitdiff и заметил.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
> @@ -58,6 +61,8 @@ target_compile_options(
>  )
>  
>  install (TARGETS ${PROJECT_NAME} DESTINATION bin)
> +install (FILES ${DESKTOP_FILE} DESTINATION
> +         /usr/share/applications)
>  
>  set(CMAKE_CLEAN_FILES ${PROJECT_NAME})
>  include(GNUInstallDirs)
В процитированном фрагменте уместен путь `${CMAKE_INSTALL_DATADIR}/applications`.

https://cmake.org/cmake/help/v3.31/command/install.html#files
> To make packages compliant with distribution filesystem layout policies, if projects must specify a DESTINATION, it is strongly recommended that they use a path that begins with the appropriate relative GNUInstallDirs variable. This allows package maintainers to control the install destination by setting the appropriate cache variables. The following example shows how to follow this advice while installing an image to a project-specific documentation subdirectory:
>
> include(GNUInstallDirs)
> install(FILES logo.png
>         DESTINATION ${CMAKE_INSTALL_DOCDIR}/myproj
> )
Не надо начинать новые проекты на CMake. Из этого не выходит ничего хорошего.
Возможно, рациональным исключением из этого правила был бы Qt-dependent проект
(потому что иначе придётся соображать, как правильно интегрироваться с Qt без
CMake), но это же не наш случай...

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

> --- a/src/pam_helper/CMakeLists.txt
> +++ b/src/pam_helper/CMakeLists.txt
> @@ -20,7 +20,7 @@ target_include_directories(helper PRIVATE ${HEADER_DIR} ${GOBJECT_INCLUDE_DIRS}
>  target_link_libraries(helper PRIVATE ${GOBJECT_LIBRARIES} ${GIO_LIBRARIES} ${PAM_LIBRARIES} ${JSON_GLIB_LIBRARIES})
>  target_compile_options(helper PRIVATE ${GOBJECT_CFLAGS} ${GIO_CFLAGS} ${PAM_CFLAGS} ${JSON_GLIB_CFLAGS})
>  
> -install (TARGETS helper DESTINATION ${CMAKE_INSTALL_LIBDIR}/userpasswd/)
> +install (TARGETS helper DESTINATION /usr/lib/userpasswd/)
>  
>  set(CMAKE_CLEAN_FILES ${PROJECT_NAME})
>  include(GNUInstallDirs)
Здесь тоже `${CMAKE_INSTALL_PREFIX}/lib/userpasswd`, если нет отдельной переменной для такого контента.

То же касается `${CMAKE_INSTALL_DATADIR}/gnome-shell` в гноморасширении.

В наше время вообще можно брать meson и горя не знать, особенно для проектов на gnome-стеке.
Comment 47 alxvmr 2025-03-26 16:31:34 MSK
(Ответ для Arseny Maslennikov на комментарий #44)
> userpasswd-gnome:
>
> Ещё один вопрос _кандидату_: можно ли упаковать программу с правами setgid
> shadow при помощи директив для RPM? если нет, почему?

Добрый день!
По поводу setgid shadow: у Вас сейчас старая таска, в ней был неправильный подход к назначению прав. В итоге сделали так:

%attr(2711, root, shadow) %_libexecdir/userpasswd/helper

Простите за путаницу, корректная таска: 375891 (https://git.altlinux.org/tasks/archive/done/_367/375891/)

> в сборочной среде указан пакет ccmake. Вопрос _кандидату_: зачем?
По поводу ccmake: да, зависимость от ccmake тут не нужна, уберу.