Bug 49026 - [done] join armatik@
Summary: [done] join armatik@
Status: CLOSED FIXED
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:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-09 23:57 MSK by Cемен Фомченков
Modified: 2025-08-06 12:50 MSK (History)
15 users (show)

See Also:


Attachments
ssh_key (99 bytes, application/vnd.ms-publisher)
2024-01-09 23:59 MSK, Cемен Фомченков
no flags Details
gpg_key (7.53 KB, application/pgp-encrypted)
2024-01-10 00:01 MSK, Cемен Фомченков
no flags Details
spec-файл speedtest (1.03 KB, text/x-rpm-spec)
2024-05-21 21:42 MSK, Cемен Фомченков
no flags Details
spec-файл notejot (1.64 KB, text/x-rpm-spec)
2024-05-21 21:43 MSK, Cемен Фомченков
no flags Details
patch-файл notejot (965 bytes, patch)
2024-05-21 21:43 MSK, Cемен Фомченков
no flags Details | Diff
patch-файл notepad (1.20 KB, text/x-rpm-spec)
2024-05-21 21:44 MSK, Cемен Фомченков
no flags Details
gpg_key (3.08 KB, application/pgp-encrypted)
2024-05-29 11:55 MSK, Cемен Фомченков
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cемен Фомченков 2024-01-09 23:57:07 MSK
Псевдоним: armatik
Почта: Fomchenkov Semen <armatik@altlinux.org>
Адрес пересылки почты: s.fomchenkov@yandex.ru
Имя ментора: Юрий Седунов
Почта ментора: <aris@altlinux.org>

Цель: Научиться собирать пакеты, в частности использующих GTK4 и libadwaita. Интересно будет обновить сборочное окружение GNOME для сборки пакетов.
Comment 1 Cемен Фомченков 2024-01-09 23:59:49 MSK
Created attachment 15346 [details]
ssh_key

Добавлен ключ ssh.
Comment 2 Cемен Фомченков 2024-01-10 00:01:01 MSK
Created attachment 15347 [details]
gpg_key

Добавлен ключ gpg.
Comment 3 Yuri N. Sedunov 2024-01-10 00:51:35 MSK
(Ответ для Cемен Фомченков на комментарий #0)

> Имя ментора: Юрий Седунов
> Почта ментора: <aris@altlinux.org>

Подтверждаю, Семен готов начать процесс вступления.
Прошу зарегистрировать его на gitery.alt.
Comment 4 Cемен Фомченков 2024-05-21 21:42:07 MSK
Добрый день, @aris
Прошу рассмотреть возможность изменения статуса join'a (T/J/S) с учётом моего вклада в создание пакетов:
- https://packages.altlinux.org/ru/sisyphus/srpms/iplookup-gtk/
- https://packages.altlinux.org/ru/sisyphus/srpms/wike/
- https://packages.altlinux.org/ru/sisyphus/srpms/ascii-draw/
- https://packages.altlinux.org/ru/sisyphus/srpms/textpieces/
Кроме того, я отправил вам по электронной почте файлы spec для сборки, но они не были собраны. Эти файлы я прилагаю во вложении.
Comment 5 Cемен Фомченков 2024-05-21 21:42:51 MSK
Created attachment 16167 [details]
spec-файл speedtest
Comment 6 Cемен Фомченков 2024-05-21 21:43:24 MSK
Created attachment 16168 [details]
spec-файл notejot
Comment 7 Cемен Фомченков 2024-05-21 21:43:49 MSK
Created attachment 16169 [details]
patch-файл notejot
Comment 8 Cемен Фомченков 2024-05-21 21:44:09 MSK
Created attachment 16170 [details]
patch-файл notepad
Comment 9 Yuri N. Sedunov 2024-05-21 23:00:29 MSK
Твои претензии не обоснованы, Сёма. Остынь, работай по плану, разбирайся в проблемах по-существу. Пока ты только в начале пути.

То что ты здесь навыкладывал, тоже надо исправлять.
Comment 10 Cемен Фомченков 2024-05-21 23:03:36 MSK
(Ответ для Yuri N. Sedunov на комментарий #9)
> Твои претензии не обоснованы, Сёма. Остынь, работай по плану, разбирайся в
> проблемах по-существу. Пока ты только в начале пути.
> 
> То что ты здесь навыкладывал, тоже надо исправлять.

Подскажите пожалуйста, о каких претензиях идёт речь. Я попросил пересмотреть статуса join'a согласно информации на странице https://www.altlinux.org/Team/Join/Secretary. На каком этапе я нахожусь сейчас.
Comment 11 Yuri N. Sedunov 2024-05-21 23:10:52 MSK
Мой ответ не был поводом для дискуссии. Пакеты собирать ты не умеешь как и полгода тому назад.
Comment 12 iQQator 2024-05-22 04:15:34 MSK
Добрый день, кажется ошибка не решена, подскажите тогда в чем задача ментора?
Comment 13 iQQator 2024-05-22 04:16:54 MSK
Ожидаю получить ответ на предыдущий свой комментарий :)
Comment 14 Олег Щавелев 2024-05-22 05:04:32 MSK
Юрий, здравствуйте!

Прошу прощения за вопрос Павла. Мы обсудили, что этот отчёт не предполагает вопросов от широкой аудитории. Вопрос снимается.
Comment 15 Cемен Фомченков 2024-05-27 17:45:47 MSK
Прошу заменить ментора в процессе join на shaba@
Comment 16 Gleb F-Malinovskiy 2024-05-28 19:20:29 MSK
(In reply to Cемен Фомченков from comment #2)
> Created attachment 15347 [details]
> gpg_key
В этом файле два ключа, нужен только один.
Comment 17 Alexey Shabalin 2024-05-28 19:30:26 MSK
Принимаю желающего на вступление.
Посмотрим как у меня получится/не получится 8)
Comment 18 ruslandh 2024-05-29 07:44:35 MSK
Семён парень вдумчивый, желаю ему удачи, 
Если что готов консультировать его помимо ментора.
Специалист по Python, так что советую использовать в этом направлении. 

Если что, я на связи в телеграмме и могу проконсультировать.

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

Опять-же новички могли-бы и AltWiki отредактировать, так-как то что понятно знающему человеку, может не очень понятно начинающему. 

PS Еще раз мои извинения. за то что "встрял" в разговор

> Принимаю желающего на вступление.
> Посмотрим как у меня получится/не получится 8)

Я думаю получится, Семену только сессию надо сдать ;-)
Comment 19 Cемен Фомченков 2024-05-29 11:54:11 MSK
(Ответ для Gleb F-Malinovskiy на комментарий #16)
> (In reply to Cемен Фомченков from comment #2)
> > Created attachment 15347 [details] [подробности] [details]
> > gpg_key
> В этом файле два ключа, нужен только один.
Прикладываю новый ключ gpg.
Comment 20 Cемен Фомченков 2024-05-29 11:55:03 MSK
Created attachment 16193 [details]
gpg_key
Comment 21 Gleb F-Malinovskiy 2024-05-29 18:18:33 MSK
Ментор есть, ключи в порядке.
T/J/S -> 1.3.
Comment 22 Alexey Shabalin 2024-07-18 17:19:34 MSK
Кандидат готов начать вступление.
Прошу выдать доступ к gitery.alt
Comment 23 Gleb F-Malinovskiy 2024-09-02 19:17:10 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 24 Alexey Shabalin 2024-09-19 12:46:15 MSK
Кандидат готов собирать пакеты.
Прошу предоставить доступ к  gyle.alt.
Comment 25 Alexey Shabalin 2024-09-19 12:46:15 MSK
Кандидат готов собирать пакеты.
Прошу предоставить доступ к  gyle.alt.
Comment 26 Gleb F-Malinovskiy 2024-09-24 19:03:18 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.     
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 27 Alexey Shabalin 2025-06-23 13:19:01 MSK
Подопечный готов отправлять пакеты в Сизиф. Прошу призвать рецензента.
Comment 28 Gleb F-Malinovskiy 2025-08-05 18:02:13 MSK
Призову самого себя в качестве рецензента.
T/J/S -> 4.2.

1. Настоятельно рекомендую подумать о том, чтобы включить хук pre-commit в git,
потому что в некоторых коммитах встречаются «красные» пробелы, например в конце
строк.
2. Тут просто на подумать: некоторые макросы кажутся излишними, например:
* в libhelium/libbismuth макрос %namespace кажется совсем бесполезным, но
%libhelium/%libbismuth тоже усложняет картину (а не упрощает её);
* klaro, read-it-later, alt-gnome-experimental-settings: макрос %app_id,
например, тоже не очень нужен по сути на случай, что поменяется идентификатор
программы (т.е. с очень большой вероятностью никогда).
Я имею в виду: зачем нужен макрос, если он не предполагает того, чтобы его
изменять, но усложняет чтение spec-файла.
3. Вопрос про libhelium: какова вероятность, что версия пакета не будет
совпадать с %tau_helium_ver?
4. codium: вместо %filter_from_requires /^\/usr\/lib\/ld-linux-aarch64.*/d лучше
использовать patchelf --set-interpreter /lib64/ld-linux-aarch64.so.1 как это
делается в других пакетах.
5. В некоторых пакетах, например gnome-legacy-theme-switcher, libhelium и
libbismuth, пакет libgio устанавливается для тестов? Почему он не попадает в
сборочную среду, если это библиотека?
6. gnome-console-keybind: 00-console-keybind устанавливается в /etc, но зачастую
в /etc кладутся файлы локальной (админской) конфигурации. Может быть у dconf
тоже возможность положить пакетные части в /usr/lib или какое-то такое место?
7. tailscale: зачем в BuildRequires: /proc?
8. ignition-adw, ohmysvg: в пакетах пачка Requires: typelib(..., что выглядит
как потенциальная проблема, например когда список зависимостей меняется. Может
быть существуют какие-то возможности для автоматической генерации таких
зависимостей?
Comment 29 Gleb F-Malinovskiy 2025-08-05 18:24:02 MSK
9. Ещё одна вещь, про которую я забыл сказать: подход с использованием каталога
.gear для spec-файла, патчей и прочих дополнительных файлов я считаю
неправильным. Этот подход достаточно распространён, поэтому сложно засунуть
этого джина обратно в бутылку, когда половина команды так делает, но обратить
внимание всё равно хочется. .gear это каталог для служебных файлов,
используемых gear, туда *можно* положить файлы, но это нецелевое его
использование. Для spec-а и прочих дополнительных файлов я обычно использую
каталог alt, но он может называться как угодно.
Comment 30 Semen Fomchenkov 2025-08-06 01:37:32 MSK
Спасибо за рецензирование, постараюсь ответить на все пункты:

1. Спасибо, обязательно воспользуюсь этим, наблюдал у себя такое и к сожалению не всегда получалось уследить за этим;

2. Тут скорее я пришёл к тому, что достаточно шаблонные вещи стараюсь описать в самом начале спека, особенно те которые могут фигурировать в путях и в названиях файлов далее по спеку. Но по %libhelium/%libbismuth согласен, палку с шаблонностью тут я перегнул, учту на будущее и исправлю при обновлении. %namespace показался достаточно шаблонным при взгляде на libadwaita;

3. Да, как например сейчас (и раньше такое тоже было). От shaba@ было предложение вытягивать пакет tau-helium по файлам так как он собирается как subproject в libhelium, но там бы пришлось патчить сильно meson.build что бы собирать его со всеми нужными опциями. И по итогу учитывая это и различие в версионировании в прошлом, решил собирать отдельными пакетами;

4. Беря codium после долгой задержки в его сопровождении первый раз столкнулся с тем что нужно было отфильтровать зависимости, узнал про %filter_from_requires и видимо решил всё под одну гребёнку отправить. Возьму patchelf --set-interpreter на вооружение для таких ситуаций и исправлю. Задание с исправлением: https://packages.altlinux.org/ru/tasks/391740/ ;

5. От libgio нужен бинарный файл /usr/bin/glib-compile-schemas который нужен для выполнения одного из базовых тестов meson для большинства GNOME-пакетов "Validate schema file" в котором проверяется файл схемы dconf. Для сборки пакета это не нужно, так как схемы там не компилируются, а остаются в исходном виде, компиляция уже происходит после установки у пользователя;

6. Тут столкнулся с тем что нужно было не только переопределять значения схем (с чем я обычно и сталкивался при работе с dconf), а ещё и создать новую, в рамках уже заданного шаблона. Кроме /etc не смог найти такое место, где в данном случае корректно обработал бы dconf. А override схем обычно как раз лежат в /usr/share/glib-2.0/schemas/;

7. При сборке без /proc столкнулся с ошибкой: failed to start telemetry sidecar: os.Executable: readlink /proc/self/exe: no such file or directory посмотрев другие пакеты на golang, например forgejo, заметил аналогичное действие, поэтому не придал этому сильного внимания (как я понимаю зря);

8. Да, есть rpm-build-gir, но с TS он к сожалению не сработал (https://bugzilla.altlinux.org/52815). Я сейчас столкнулся с проблемой при обновлении ignition-adw, так как там теперь используется TS for GIR (https://github.com/gjsify/ts-for-gir), возможно получиться раскрыть эту шкатулку;

9. Да согласен, тут скорее пошёл по накатанной как видел в большинстве пакетов, но патчи сейчас уже начал оформлять в виде коммитов в ветке гита. Думаю, теперь постепенно с обновлениями пакетов буду выносить всё не относиться к gear в alt.
Comment 31 Gleb F-Malinovskiy 2025-08-06 10:53:57 MSK
(In reply to Semen Fomchenkov from comment #30)
> 5. От libgio нужен бинарный файл /usr/bin/glib-compile-schemas который нужен
> для выполнения одного из базовых тестов meson для большинства GNOME-пакетов
> "Validate schema file" в котором проверяется файл схемы dconf. Для сборки
> пакета это не нужно, так как схемы там не компилируются, а остаются в
> исходном виде, компиляция уже происходит после установки у пользователя;
Т.е. на самом деле ошибка в libgio, где утилиты запакованы в тот же пакет,
что и библиотека. К сожалению, из-за обратной совместимости такие ошибки очень
сложно исправлять после того, как они были сделаны.

6. Ну если нет такого места, то ничего не поделаешь.
 
> 7. При сборке без /proc столкнулся с ошибкой: failed to start telemetry
> sidecar: os.Executable: readlink /proc/self/exe: no such file or directory
> посмотрев другие пакеты на golang, например forgejo, заметил аналогичное
> действие, поэтому не придал этому сильного внимания (как я понимаю зря);
Если пакету всегда нужен /proc для работы и пакет используется для сборки,
то зависимость нужна в самом пакете (например, для java всегда нужен /proc, поэтому в пакете есть зависимость).
Если же /proc нужен для чего-то, что делает сам пакет, то это нормальная зависимость.
hasher учитывает и BuildRequires: и Requires: (в установленных в сборочную среду пакетах), см. 4.2.1 в hasher FAQ.
 
> 8. Да, есть rpm-build-gir, но с TS он к сожалению не сработал
> (https://bugzilla.altlinux.org/52815). Я сейчас столкнулся с проблемой при
> обновлении ignition-adw, так как там теперь используется TS for GIR
> (https://github.com/gjsify/ts-for-gir), возможно получиться раскрыть эту
> шкатулку;
Получается, это важная тема на самом деле.
Comment 32 Gleb F-Malinovskiy 2025-08-06 11:26:29 MSK
Ещё одна вещь:

10. В коммит, в котором импортируются исходники лучше писать либо url, либо команды, которые были выполнены, чтобы получить исходники. Например, если используется gear-import, ей можно передать -c "Import <url>" программе gear-import.
Comment 33 Gleb F-Malinovskiy 2025-08-06 11:28:26 MSK
Пользователь добавлен в группу мейнтейнеров.

Желаю удачного мейнтейнерства!
Comment 34 Aleksandr Shamaraev 2025-08-06 11:37:50 MSK
Семён, мои поздравления с прохождением join ^.^
Comment 35 X1Z53 2025-08-06 11:40:38 MSK
﷐[U+1F32D]﷑
Comment 36 Dmitry V. Levin 2025-08-06 11:56:07 MSK
(In reply to Gleb F-Malinovskiy from comment #32)
> Ещё одна вещь:
> 
> 10. В коммит, в котором импортируются исходники лучше писать либо url, либо
> команды, которые были выполнены, чтобы получить исходники. Например, если
> используется gear-import, ей можно передать -c "Import <url>" программе
> gear-import.

Если import в пакете повторяется, имеет смысл настроить commit message в .git/config, например:

[gear "import"]
        commit-message = Import https://ftp.gnu.org/gnu/@name@/@archive_file@
Comment 37 Gleb F-Malinovskiy 2025-08-06 12:50:27 MSK
(In reply to Dmitry V. Levin from comment #36)
>         commit-message = Import https://ftp.gnu.org/gnu/@name@/@archive_file@
Я тоже так делал, но если это не проект GNU, то нет гарантии, что не поменяется фиксированная часть URL-а.