Bug 50733 - [3.6] join sheriffkorov@
Summary: [3.6] join sheriffkorov@
Status: ASSIGNED
Alias: None
Product: Team Accounts
Classification: Development
Component: join (show other bugs)
Version: unspecified
Hardware: all Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-24 17:43 MSK by Kirill Sharov
Modified: 2025-03-13 23:08 MSK (History)
4 users (show)

See Also:


Attachments
ssh key (107 bytes, application/vnd.ms-publisher)
2024-06-24 17:43 MSK, Kirill Sharov
no flags Details
gpg key (3.01 KB, application/vnd.ms-publisher)
2024-06-24 17:44 MSK, Kirill Sharov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kirill Sharov 2024-06-24 17:43:09 MSK
Created attachment 16318 [details]
ssh key
Comment 1 Kirill Sharov 2024-06-24 17:44:14 MSK
Created attachment 16319 [details]
gpg key
Comment 2 Kirill Sharov 2024-06-24 17:53:16 MSK
Псевдоним       : sheriffkorov
Почта           : Kirill Sharov <sheriffkorov@altlinux.org>
Пересылка почты : xiencol@gmail.com
Имя ментора     : Михаил Чернигин
Почта ментора   : chernigin@altlinux.org
Моя цель        : Научиться собирать пакеты
Comment 3 Michael Chernigin 2024-06-24 18:24:47 MSK
Менторство подтверждаю
Comment 4 Michael Chernigin 2024-07-31 16:37:20 MSK
Ключи в порядке, что-то мешает двигаться дальше?
Comment 5 Gleb F-Malinovskiy 2024-09-02 17:52:47 MSK
Ментор есть, ключи в порядке.
T/J/S -> 1.3.
Comment 6 Michael Chernigin 2024-09-04 12:29:51 MSK
Думаю, можем двигаться дальше.
Comment 7 Gleb F-Malinovskiy 2024-09-04 16:29:50 MSK
ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.3.
Comment 8 Kirill Sharov 2024-10-14 13:12:56 MSK
Научился работать с git.alt.

Пакет 1: https://git.altlinux.org/people/sheriffkorov/packages/smlnj.git
Пакет 2: https://git.altlinux.org/people/sheriffkorov/packages/alterator-backend-systeminfo.git

Жду подтверждения ментора.
Comment 9 Michael Chernigin 2024-10-14 14:53:45 MSK
Отлично, тогда переходим к шагу с gyle.
Comment 10 Gleb F-Malinovskiy 2024-10-14 17:02:02 MSK
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -> 3.6.
Comment 11 Kirill Sharov 2024-11-02 10:07:30 MSK
Доброго времени суток!

Научился работать со сборочницей.
Собрал 4 пакета:
1. workflow (https://git.altlinux.org/people/sheriffkorov/packages/workflow.git) — C++ библиотека;
2. wfrest (https://git.altlinux.org/people/sheriffkorov/packages/wfrest.git) — C++ библиотека;
3. alterator-backend-systeminfo (https://git.altlinux.org/people/sheriffkorov/packages/alterator-backend-systeminfo.git) — noarch (непосредственный разработчик);
4. alterator-application-systeminfo (https://git.altlinux.org/people/sheriffkorov/packages/alterator-application-systeminfo.git) — графическое Qt/C++ приложение (непосредственный разработчик).

Логи задач сборочницы:
Задача 361063 (пакеты 1-2): https://git.altlinux.org/tasks/361063/logs/events.5.1.log
Задача 361235 (пакеты 3-4): https://git.altlinux.org/tasks/361235/logs/events.1.1.log

Жду слова ментора. :)
Comment 12 Kirill Sharov 2024-11-19 15:23:25 MSK
Собрал ещё один пакет.
jujutsu (https://git.altlinux.org/people/sheriffkorov/packages/jujutsu.git) — написанная на Rust утилита VCS.

В задаче 362804: https://git.altlinux.org/tasks/362804/logs/events.1.1.log


Также пересобрал задачи 361063 и 361235.
Лог 361063: https://git.altlinux.org/tasks/361063/logs/events.7.1.log
Лог 361235: https://git.altlinux.org/tasks/361235/logs/events.2.1.log
Comment 13 Michael Chernigin 2024-11-25 15:59:28 MSK
Да, мне вроде бы всё нравится. Давайте звать рецензента!
Comment 14 Kirill Sharov 2024-12-18 16:52:04 MSK
Обновил пакет ccache до 4.10 (в sisyphus версия 4.6).

С мейнтейнером пакета в процессе установки связи: жду ответа.

ccache (https://git.altlinux.org/people/sheriffkorov/packages/ccache.git).

Также новая версия ccache повлекла за собой новые зависимости. Одна из зависимостей отсутствует в sisyphus, поэтому её тоже пришлось "опакетить".

span-lite (https://git.altlinux.org/people/sheriffkorov/packages/span-lite.git) — header-only библиотека C++.

В задаче 365333: https://git.altlinux.org/tasks/365333/logs/events.3.1.log
Comment 15 Gleb F-Malinovskiy 2025-01-27 14:35:39 MSK
Призван рецензент (egori@) для независимой оценки готовности кандидата.

T/J/S -> 4.2.
Comment 16 Egor Ignatov 2025-01-31 10:15:45 MSK
Прошелся по всем имеющимся на данный момент сборочным заданиям Кандидата.

================================
https://packages.altlinux.org/en/tasks/361063/

workflow
Собрана библиотека на C++(Cmake)
Замечания:
- Пакет имеет более актуальную версию в апстриме.
- Лицензия указана не по SPDX.
- Релизный коммит создан не через gear-commit.
- Не соответствует Shared Libs Policy.

wfrest
Собран фреймворк на C++(Cmake)
Замечания:
- Пакет имеет более актуальную версию в апстриме.
- Релизный коммит создан не через gear-commit.
- Бинарный пакет должен быть -devel пакетом.
- Странная строчка в спеке '%exclude %_docdir/%name-0.9.6/README.md'
  Во-первых, не понятно зачем исключать README.md. Во-вторых, захардкоженная
  версия уже поменялась.
- Было бы неплохо еще упакетить README.md, LICENSE.

================================
https://packages.altlinux.org/en/tasks/362804/

jujutsu
Собран пакет на rust.
Замечания:
- Пакет имеет более актуальную версию в апстриме.
- Релизный коммит создан не через gear-commit.
- Неправильный порядок коммитов: вендоринг должен быть до релизного коммита.
- При сборке 'warning: Installed (but unpackaged) file(s) found'
  Можно использовать '%define _unpackaged_files_terminate_build 1' чтобы
  отслеживать такой мусор.
- Было бы неплохо еще упакетить README.md, LICENSE.

================================
https://packages.altlinux.org/en/tasks/365333/

span-lite
Собрана single-file header-only C++ библиотека.
Замечания:
- Релизный коммит создан не через gear-commit.

ccache
Обновлен чужой пакет.
Замечания:
- Пакет имеет более актуальную версию в апстриме.
- Релизный коммит создан не через gear-commit.
- Неправильный порядок коммитов: релизный коммит должен быть последним.
- Длина строки в description уж очень сильно ограничена (видимо 41 символ).
- Чтобы каждый раз не добавлять/убирать 'copy: .gear/*.patch' из gear/rules
  можно использовать 'copy?: .gear/*.patch'.
- При сборке чужих пакетов стоит стараться соблюдать стиль владельца пакета.
  Например, в данном случае в changelog было бы уместнее написать
  "new version 4.10" вместо "New version 4.10."

================================
https://packages.altlinux.org/en/tasks/361235/

alterator-application-systeminfo
- Каша из коммитов:
  + Изменения связанные с пакетированием (спек, .gear/rules, т.д.) должны быть в
    отдельных от исходников коммитах.
  + Выпускающий (релизный) коммит, который содержит спек, должен быть последним.
  + Релизный коммит должен быть создан утилитой gear-commit.
  **Как Ментор пропустил такое в сизиф - загадка**
- Лишний 'Requires: libqbase' AutoReq сам справляется.

alterator-backend-systeminfo
- Аналогичная каша из коммитов

===============================

Помимо явных проблем с использованием git и gear-commit, в целом спеки выглядят
неплохо. Базовые навыки сборки на достаточном уровне, теперь от Кандидата
хотелось бы увидеть понимание и применение остальных, более продвинутых,
инструментов и технологий, а также большего разнообразия в системах
сборки/языках программирования собираемых пакетов.

Что уже продемонстрировал Кандидат:
- Базовые навыки сборки rpm-пакетов.
- Сборку из апстримного тега.
- Сборку C++ пакетов с помощью Cmake.
- Сборку rust пакета.
- Вендоринг rust зависимостей.
- Сборку noarch пакета.

Что хотелось бы видеть от кандидата:
- Сопровождение собственных пакетов (обновление до следующей версии).
- Умение работать с чужими/осиротевшими пакетами.
- Умение прикладывать патчи и/или делать коммиты к апстримным исходникам.
- Включение тестов при сборке пакетов.
- Понимание и применение Shared Libs Policy.
- Опыт использование других систем сборки, например: make, autotools, meson.
- Опыт сборки пакетов на других языках, например: C, python, golang, bash.
- Опыт использования pre/post скриптов (triggers).
- Опыт использование макросов условной сборки %if_with/%if_enable/%ifarch.
- Использование '%define _unpackaged_files_terminate_build 1'.
- Использование '%config(noreplace)' для упаковки конфигурационных файлов.
- Использование 'gear-remotes' для сохранения указателя на апстрим.
- Сборку системных сервисов (демонов).

================================
Решение:

Кандидат пока не готов к самостоятельной сборке пакетов в сизиф.

================================
В связи с переводом Кандидата на стадию 4.0 при наличии таких серьезных и при
этом очевидных ошибок, как тут[1][2][3] с порядком и содержанием коммитов,
хотелось бы высказать свои сомнения в готовности Ментора быть ментором.

Первое, что бросилось в глаза - Ментор совершенно не поддерживает свои пакеты
(из 13 пакетов, собранных в sisyphus, 6 требуют обновления
https://packages.altlinux.org/en/sisyphus/maintainers/chernigin/watch).

Видно, что Ментор не является активным мейнтейнером, он занимается только
пакетами подсистемы alterator, и с момента прохождения join другие свои пакеты
практически не трогал.

Поэтому считаю, что Ментор, хоть и является членом Team, не имеет достаточного
опыта, чтобы быть ментором.

[1] https://git.altlinux.org/people/sheriffkorov/packages/?p=ccache.git;a=log;h=359bc3e83791fd3c500be924954dca2c4137424a
[2] https://git.altlinux.org/people/sheriffkorov/packages/?p=alterator-application-systeminfo.git;a=log;h=182bfc73c93cffdb325f45002ee560935497ca21
[3] https://git.altlinux.org/people/sheriffkorov/packages/?p=alterator-backend-systeminfo.git;a=log;h=a63aac080e26d7c35dbf104b5ed2e96d8001844a
Comment 17 Kirill Sharov 2025-03-13 23:08:15 MSK
Здравствуйте, Егор! Премного благодарю за уделённое время и ценную обратную связь! 

Данные Вами фактические замечания учёл. Хочу доложить о текущем статусе пакетов.

1. Пересобрал workflow (библиотека С++, CMake) и wfrest (фреймворк C++, CMake).
Помимо учтённых замечаний по пакету:
- включил тесты;
- приложил патчи;
- опакетил LICENSE и README;
- использовал %define _unpackaged_files_terminate_build 1;
- использовал gear-remotes-save.

Два патча касаются wfrest, один из которых отключает тесты на утечки памяти, так как возникли проблемы с запуском valgrind в chroot, которые не смог решить. Такое решение, возможно, временное.

В сборочном задании 361063 (статус EPERM).

2. Пересобрал alterator-backend-systeminfo (noarch, bash, make) и alterator-application-systeminfo (Qt/C++, CMake).
Учёл замечания как мог. Являюсь разработчиком исходников, поэтому делал, как было принято. Но мне тоже это не нравится, теперь веду всё, что связано с пакетированием и релизами в sisyphus, в отдельной ветке.
Помимо учтённых замечаний:
- опакетил LICENSE и CHANGELOG;
- использовал %define _unpackaged_files_terminate_build 1;
- использовал gear-remotes-save.

Пакеты alterator-backend-systeminfo и alterator-application-systeminfo с актуальными версиями находятся в Сизифе.

В планах закончить пересборку jujutsu (Rust, cargo) и ccache (C++, CMake) с учётом замечаний и пожеланий.

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

(In reply to Egor Ignatov from comment #16)
> Прошелся по всем имеющимся на данный момент сборочным заданиям Кандидата.
> 
> ================================
> https://packages.altlinux.org/en/tasks/361063/
> 
> workflow
> Собрана библиотека на C++(Cmake)
> Замечания:
> - Пакет имеет более актуальную версию в апстриме.
> - Лицензия указана не по SPDX.
> - Релизный коммит создан не через gear-commit.
> - Не соответствует Shared Libs Policy.
> 
> wfrest
> Собран фреймворк на C++(Cmake)
> Замечания:
> - Пакет имеет более актуальную версию в апстриме.
> - Релизный коммит создан не через gear-commit.
> - Бинарный пакет должен быть -devel пакетом.
> - Странная строчка в спеке '%exclude %_docdir/%name-0.9.6/README.md'
>   Во-первых, не понятно зачем исключать README.md. Во-вторых, захардкоженная
>   версия уже поменялась.
> - Было бы неплохо еще упакетить README.md, LICENSE.
> 
> ================================
> https://packages.altlinux.org/en/tasks/362804/
> 
> jujutsu
> Собран пакет на rust.
> Замечания:
> - Пакет имеет более актуальную версию в апстриме.
> - Релизный коммит создан не через gear-commit.
> - Неправильный порядок коммитов: вендоринг должен быть до релизного коммита.
> - При сборке 'warning: Installed (but unpackaged) file(s) found'
>   Можно использовать '%define _unpackaged_files_terminate_build 1' чтобы
>   отслеживать такой мусор.
> - Было бы неплохо еще упакетить README.md, LICENSE.
> 
> ================================
> https://packages.altlinux.org/en/tasks/365333/
> 
> span-lite
> Собрана single-file header-only C++ библиотека.
> Замечания:
> - Релизный коммит создан не через gear-commit.
> 
> ccache
> Обновлен чужой пакет.
> Замечания:
> - Пакет имеет более актуальную версию в апстриме.
> - Релизный коммит создан не через gear-commit.
> - Неправильный порядок коммитов: релизный коммит должен быть последним.
> - Длина строки в description уж очень сильно ограничена (видимо 41 символ).
> - Чтобы каждый раз не добавлять/убирать 'copy: .gear/*.patch' из gear/rules
>   можно использовать 'copy?: .gear/*.patch'.
> - При сборке чужих пакетов стоит стараться соблюдать стиль владельца пакета.
>   Например, в данном случае в changelog было бы уместнее написать
>   "new version 4.10" вместо "New version 4.10."
> 
> ================================
> https://packages.altlinux.org/en/tasks/361235/
> 
> alterator-application-systeminfo
> - Каша из коммитов:
>   + Изменения связанные с пакетированием (спек, .gear/rules, т.д.) должны
> быть в
>     отдельных от исходников коммитах.
>   + Выпускающий (релизный) коммит, который содержит спек, должен быть
> последним.
>   + Релизный коммит должен быть создан утилитой gear-commit.
>   **Как Ментор пропустил такое в сизиф - загадка**
> - Лишний 'Requires: libqbase' AutoReq сам справляется.
> 
> alterator-backend-systeminfo
> - Аналогичная каша из коммитов
> 
> ===============================
> 
> Помимо явных проблем с использованием git и gear-commit, в целом спеки
> выглядят
> неплохо. Базовые навыки сборки на достаточном уровне, теперь от Кандидата
> хотелось бы увидеть понимание и применение остальных, более продвинутых,
> инструментов и технологий, а также большего разнообразия в системах
> сборки/языках программирования собираемых пакетов.
> 
> Что уже продемонстрировал Кандидат:
> - Базовые навыки сборки rpm-пакетов.
> - Сборку из апстримного тега.
> - Сборку C++ пакетов с помощью Cmake.
> - Сборку rust пакета.
> - Вендоринг rust зависимостей.
> - Сборку noarch пакета.
> 
> Что хотелось бы видеть от кандидата:
> - Сопровождение собственных пакетов (обновление до следующей версии).
> - Умение работать с чужими/осиротевшими пакетами.
> - Умение прикладывать патчи и/или делать коммиты к апстримным исходникам.
> - Включение тестов при сборке пакетов.
> - Понимание и применение Shared Libs Policy.
> - Опыт использование других систем сборки, например: make, autotools, meson.
> - Опыт сборки пакетов на других языках, например: C, python, golang, bash.
> - Опыт использования pre/post скриптов (triggers).
> - Опыт использование макросов условной сборки %if_with/%if_enable/%ifarch.
> - Использование '%define _unpackaged_files_terminate_build 1'.
> - Использование '%config(noreplace)' для упаковки конфигурационных файлов.
> - Использование 'gear-remotes' для сохранения указателя на апстрим.
> - Сборку системных сервисов (демонов).
> 
> ================================
> Решение:
> 
> Кандидат пока не готов к самостоятельной сборке пакетов в сизиф.
> 
> ================================
> В связи с переводом Кандидата на стадию 4.0 при наличии таких серьезных и при
> этом очевидных ошибок, как тут[1][2][3] с порядком и содержанием коммитов,
> хотелось бы высказать свои сомнения в готовности Ментора быть ментором.
> 
> Первое, что бросилось в глаза - Ментор совершенно не поддерживает свои пакеты
> (из 13 пакетов, собранных в sisyphus, 6 требуют обновления
> https://packages.altlinux.org/en/sisyphus/maintainers/chernigin/watch).
> 
> Видно, что Ментор не является активным мейнтейнером, он занимается только
> пакетами подсистемы alterator, и с момента прохождения join другие свои
> пакеты
> практически не трогал.
> 
> Поэтому считаю, что Ментор, хоть и является членом Team, не имеет
> достаточного
> опыта, чтобы быть ментором.
> 
> [1]
> https://git.altlinux.org/people/sheriffkorov/packages/?p=ccache.git;a=log;
> h=359bc3e83791fd3c500be924954dca2c4137424a
> [2]
> https://git.altlinux.org/people/sheriffkorov/packages/?p=alterator-
> application-systeminfo.git;a=log;h=182bfc73c93cffdb325f45002ee560935497ca21
> [3]
> https://git.altlinux.org/people/sheriffkorov/packages/?p=alterator-backend-
> systeminfo.git;a=log;h=a63aac080e26d7c35dbf104b5ed2e96d8001844a