Created attachment 16318 [details] ssh key
Created attachment 16319 [details] gpg key
Псевдоним : sheriffkorov Почта : Kirill Sharov <sheriffkorov@altlinux.org> Пересылка почты : xiencol@gmail.com Имя ментора : Михаил Чернигин Почта ментора : chernigin@altlinux.org Моя цель : Научиться собирать пакеты
Менторство подтверждаю
Ключи в порядке, что-то мешает двигаться дальше?
Ментор есть, ключи в порядке. T/J/S -> 1.3.
Думаю, можем двигаться дальше.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
Научился работать с git.alt. Пакет 1: https://git.altlinux.org/people/sheriffkorov/packages/smlnj.git Пакет 2: https://git.altlinux.org/people/sheriffkorov/packages/alterator-backend-systeminfo.git Жду подтверждения ментора.
Отлично, тогда переходим к шагу с gyle.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
Доброго времени суток! Научился работать со сборочницей. Собрал 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 Жду слова ментора. :)
Собрал ещё один пакет. 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
Да, мне вроде бы всё нравится. Давайте звать рецензента!
Обновил пакет 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
Призван рецензент (egori@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
Прошелся по всем имеющимся на данный момент сборочным заданиям Кандидата. ================================ 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
Здравствуйте, Егор! Премного благодарю за уделённое время и ценную обратную связь! Данные Вами фактические замечания учёл. Хочу доложить о текущем статусе пакетов. 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