Created attachment 15551 [details] ssh_key Псевдоним: fedor E-mail пересылки: crazyfedor69@gmail.com Ментор: Алексей Шабалин Цель: Научиться собирать пакеты.
Created attachment 15552 [details] gpg_key
Принимаю. Тестовые задания готовлю.
Created attachment 15561 [details] gpg_key Дополнено почтовыми адресами.
Первое тестовое задание на работу с rpm кандидат выполнил успешно. Прошу перевести на следующий этап.
Кандидат выполнил 2 задания, прощу обеспечить доступ к сборочнице и git.
Ментор есть, ключи в порядке. T/J/S -> 1.3.
Кандидат готов продолжать вступление. Прошу перейти к стадии 2.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
Кандидат освоил работу с git сервером, прошу дать доступ к сборочнице gyle.alt.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
Кандидат готов собирать пакеты самостоятельно. Предлагаю кандидату проверочное задание: обновить пакеты lxc и lxd, и собрать новый пакет incus. Плюс связанные с этими пакетами проекты - lxcfs, dsqlite, raft. И по итогу подключить со-ментора.
Добрый день. Прикладываю задание с собранными пакетами: https://packages.altlinux.org/ru/tasks/347632/
Прошу подключить проверяющего.
Призван рецензент (rider@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
В 1200 (lxc) используется метод сборки с отдельной веткой для патчей. я посмотрел коммиты, которыми отличается v6.0.0 от alt-6.0.0-fixes и, на мой взгяд, список изменений требует пересмотра. предлагаю ещё раз пересмотреть и обсудить с ментором все ли изменения, которые делаются в этой ветке нужны нам в репозитории.
libcowsql.spec не соответствует shared libs policy.
в libdqlite.git=1.16.4-alt1 непонятно причина, по которой пришлось собирать с внутренней библиотекой raft лучше сделать это изменение отдельным коммитом, в котором описать причину, по которой так пришлось сделать (в этом же задании обновляется libraft)
ко всем пакетам общее замечание URL лучше использовать без тэга %name, тогда его легко можно открыть прямо в редакторе, а иначе приходится делать дополнительные действия. URL: https://github.com/regclient/%name
incus.spec точку потеряли в changelog (см. правила написания changelog на www.altlinux.org) ну и я бы на него применил утилиту cleanup_spec для форматирования.
Добрый день. lxc - пересобрала ветку с патчами. Если не стало лучше, не могли бы вы уточнить, что лишего попало? буду разбираться. libcowsql - применила shared libs policy. incus, regclient - поправила спек. libdqlite - ситуация следующая: ранее была связка lxd-dqlite-libraft. Сейчас эти вещи отбранчевались в incus-cowsql-libraft. При этом нужная версия libraft для dqlite была перенесена самим upstream в исходники проекта в dqlite/src/. Указала этот момент в комментарии коммита, чтобы были заметны изменения. В свою очередь cowsql использует как раз актуальный внешний libraft. Как было бы лучше поступить в таком случае? https://packages.altlinux.org/ru/tasks/347632/
Cистемный libraft для incus, и забандленный в lxd. Это я так рекомендовал собрать. Потому что они разных версий, и апстрим у них теперь разный.
(Ответ для Alexey Shabalin на комментарий #21) > Cистемный libraft для incus, и забандленный в lxd. > Это я так рекомендовал собрать. Потому что они разных версий, и апстрим у > них теперь разный. Да у меня вообще нет вопросов к тому, почему именно так собрано. Основной вопрос в том, что из changelog и содержимого specfile этого не понять. Сейчас стало лучше, но не особо - опять в changelog сказано что сделано, но не сказана причина такого изменения. Её можно написать или в specfile или прямо в commit message (не в changelog) пакета, развёрнуто.
(Ответ для Nadezhda на комментарий #20) > lxc - пересобрала ветку с патчами. Если не стало лучше, не могли бы вы > уточнить, что лишего попало? буду разбираться. меня смущает коммит da50837dd95a9ef6f71eb9d29f9d6f4c136b877d - посмотрите, он в апстрим уже влит, но другой.
(Ответ для Anton Farygin на комментарий #23) > (Ответ для Nadezhda на комментарий #20) > > lxc - пересобрала ветку с патчами. Если не стало лучше, не могли бы вы > > уточнить, что лишего попало? буду разбираться. > > меня смущает коммит da50837dd95a9ef6f71eb9d29f9d6f4c136b877d - посмотрите, > он в апстрим уже влит, но другой. Добрый день. libdqlite - убрала лишнее из спека, оставила только комметарий в коммите. lxc - убрала этот коммит (da50837dd95a9ef6f71eb9d29f9d6f4c136b877d), перетестировала, и оказалось, что так тоже работает. Предполагала, что без него не будет работать, тк в апстриме warning заменили на error. https://packages.altlinux.org/ru/tasks/347632/
regclient.spec: +* Thu Mar 28 2024 Nadezhda Fedorova <fedor@altlinux.org> 0.6.0-alt1 +- 0.6.0 +- initial build for ALT Linux кажется, что 0.6.0 тут лишнее.
libcowsql.spec: у devel пакета должна быть зависимось не на %name на на %name%soname
И если убираете подзадания, то лучше только то, которое исправления. У task add есть опция для вставки подзадания в середину задания. посмотрите help
Добрый день. Прикладываю задание с правками. https://packages.altlinux.org/ru/tasks/search/?q=352890
libcowsql.spec: 1) вместо %version-%release надо использовать %EVR 2) %soname обязательно должно присутствовать в секции %files, что бы не произошло обновление пакета (случайно) со сменой soname и без увеличения его версии в спеке.
incus.spec: важно описать в changelog ваши изменения, влияющие на поведение приложения Я про nobody
(Ответ для Anton Farygin на комментарий #30) > incus.spec: > важно описать в changelog ваши изменения, влияющие на поведение приложения > Я про nobody Подскажите, пожалуйста, что необходимо написать в случае, если это было изначально лишним? После повторного просмотра с Alexey Shabalin было принято решение пофиксить это, оно никак не влияет на работу приложения. Просто fix звучит некрасиво..
ну напишите что удалили и зачем, это же просто.
Добрый день. Поправила по замечаниям. https://packages.altlinux.org/ru/tasks/search/?q=352890
(Ответ для Nadezhda на комментарий #33) > Добрый день. Поправила по замечаниям. > https://packages.altlinux.org/ru/tasks/search/?q=352890 +%package devel +Summary: Library for distributed SQLite database (development files) +Group: Development/Databases +Conflicts: libdqlite-devel +Requires: %name = %version-%release При этом пакет с библиотекой имеет в имени soname
не туда посмотрел, всё нормально - заапрувил.
Для завершения JOIN предлагаю собрать что-то ещё, стараться при этом делать минимум ошибок. Можно пройтись по FTBFS или обновлением пакетов, висящих на @nobody: https://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/error/ curl -s https://git.altlinux.org/acl/list.packages.sisyphus|grep @nobody
Добрый день. Подготовила новый пакет. https://packages.altlinux.org/ru/tasks/355179/
(In reply to Nadezhda from comment #37) > Добрый день. Подготовила новый пакет. > https://packages.altlinux.org/ru/tasks/355179/ +KUBEVIRT_GIT_COMMIT='%version-%release' \ выглядит как ошибка, как будто в этом месте ожидается sha1 коммита для v%version
И когда заимствуете спек-файлы из других дистрибутивов - лучше писать, что было взято за основу (ну или просто соблюдать лицензии заимствованного спек-файла).
(In reply to Anton Farygin from comment #38) > +KUBEVIRT_GIT_COMMIT='%version-%release' \ > > выглядит как ошибка, как будто в этом месте ожидается sha1 коммита для > v%version Это я "придумал" вместо sha1 коммитов ставить %release. И всем другим рекомендую это делать. Обычно эта переменная выводится в --version команде, И для нас актуальнее видеть версию и релиз rpm пакетов, а не апстримный git комит. Иначе зачем мы собираем rpm пакеты? Кроме этого с каждым обновлением надо обновлять в спеке переменную GIT_COMMIT на основе апстримного комита, что неудобно.
(In reply to Alexey Shabalin from comment #40) > (In reply to Anton Farygin from comment #38) > > +KUBEVIRT_GIT_COMMIT='%version-%release' \ > > > > выглядит как ошибка, как будто в этом месте ожидается sha1 коммита для > > v%version > > Это я "придумал" вместо sha1 коммитов ставить %release. > И всем другим рекомендую это делать. > Обычно эта переменная выводится в --version команде, > И для нас актуальнее видеть версию и релиз rpm пакетов, а не апстримный git > комит. > Иначе зачем мы собираем rpm пакеты? > Кроме этого с каждым обновлением надо обновлять в спеке переменную > GIT_COMMIT на основе апстримного комита, что неудобно. Не согласен. Апстримный git коммит нужен для того, что бы при обращении с ошибкой в upstream показать, из чего оно было собрано. Т.е. - это гораздо важнее как для нас так и для апстрима информация. Люди конкретно заморочились тем, что бы sha1 был в выводе. см. коммит c9d721a6c3b99253809d268863e2cc4b3ea94a03
Добрый день, поправила по замечанию. https://packages.altlinux.org/ru/tasks/355179/
(In reply to Anton Farygin from comment #39) > И когда заимствуете спек-файлы из других дистрибутивов - лучше писать, что > было взято за основу (ну или просто соблюдать лицензии заимствованного > спек-файла). ^^^^ вот это не надо поправить ?
(Ответ для Anton Farygin на комментарий #43) > (In reply to Anton Farygin from comment #39) > > И когда заимствуете спек-файлы из других дистрибутивов - лучше писать, что > > было взято за основу (ну или просто соблюдать лицензии заимствованного > > спек-файла). > > ^^^^ вот это не надо поправить ? Извините, не заметила сразу. Дополнила.
(In reply to Nadezhda from comment #44) > (Ответ для Anton Farygin на комментарий #43) > > (In reply to Anton Farygin from comment #39) > > > И когда заимствуете спек-файлы из других дистрибутивов - лучше писать, что > > > было взято за основу (ну или просто соблюдать лицензии заимствованного > > > спек-файла). > > > > ^^^^ вот это не надо поправить ? > > Извините, не заметила сразу. Дополнила. Спасибо, заапрувил. Продолжаем сборку пакетов под наблюдением, пока c моей стороны было довольно много замечаний.