Created attachment 19539 [details] ssh ключ Псевдоним: asd Адрес пересылки: dovydenkovas@basealt.ru Ментор: Егор Игнатов Почта ментора: egori@altlinux.org Моя цель - научиться собирать пакеты.
Created attachment 19540 [details] GPG ключ
Менторство подтверждаю, ключи проверил.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
Считаю, что кандидат готов собирать пакеты. Прошу предоставить доступ на сборочницу.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
Здравствуйте! Прошу остановить работы по этой задаче: https://git.altlinux.org/tasks/402251/ Мой подопечный уже занимается набором этих пакетов. Много работы вокруг них было проделано для исправления ошибок при исполнении.
(Ответ для protvin@altlinux.org на комментарий #6) > Прошу остановить работы по этой задаче: > https://git.altlinux.org/tasks/402251/ Добрый день! Принято, работы останавливаю. Спасибо, что предупредили.
Считаю, что подопечный готов отправлять пакеты в Сизиф
Здравствуйте, Александр и Егор! Сообщите, пожалуйста, на что будущему рецензенту Александра лучше смотреть, чтобы оценить актуальные умения. Например, gear-репозитории или сборочные задания. А то, если изучать произвольные какие-то пакеты, то можно составить слишком пасмурное впечатление по ранним пакетам, в которых может быть больше огрехов. Ответ "Да просто все таски посмотрите" тоже принимается, на страх и риск кандидата. :)
Здравствуйте, Арсений! Упакетил: scorecard https://packages.altlinux.org/en/tasks/401573/ python3-module-graph-tool https://packages.altlinux.org/en/tasks/401575/ Обновлял spyder, потребовалось упакетить несколько новых зависимостей: https://packages.altlinux.org/en/tasks/407777/ Обновлял уже существующие пакеты и исправлял FTBFS: spyder https://packages.altlinux.org/en/tasks/423413/ fuzzel https://packages.altlinux.org/en/tasks/396249/ https://packages.altlinux.org/en/tasks/407385/ https://packages.altlinux.org/en/tasks/410689/ gitui https://packages.altlinux.org/en/tasks/397850/ https://packages.altlinux.org/en/tasks/403035/ mdbook https://packages.altlinux.org/en/tasks/400485/ makedict https://packages.altlinux.org/en/tasks/401068/ fprintd https://packages.altlinux.org/en/tasks/398519/
Отлично. Буду вас смотреть. Можем переписываться здесь, можно писать мне на почту. Есть ещё вариант общаться в личке на нашем matrix-сервере, но в некоторые периоды я могу туда сутки не заглядывать.
scorecard ========= Не имею никаких претензий к упаковке, кроме вкусовых. Отдельный лайк за update-vendor-dependencies.sh; он в репозитории точно не потеряется, и повторить/обновить завендоренное будет несложно. Я обычно требую, чтобы кандидаты такую автоматизацию, когда она требуется, выкладывали, но в полиси это нигде не написано вроде, и вы приняли правильное решение. В этом скрипте есть большой heredoс c ещё одним шелл-скриптом. Добрый совет: чтобы в нём не эскейпить постоянно $, можно защитить его от подстановок (всё равно их там не требуется), взяв здесь non-expanding here document: hsh-run -- sh -e <<'HERE' $var is here verbatim HERE Иначе говоря, закавычить стоп-слово.
По mdbook видно, что вы в нужный момент обратили внимание на чужой пакет, связались с мейнтейнером и сумели договориться. Это ещё плюс балл. :) Но я ещё почитаю внимательнее. python3-module-graph-tool ========================= https://packaging.python.org/en/latest/specifications/recording-installed-packages Ух ты, я и не знал. Любопытно, что в https://en.altlinux.org/Python_packaging_guide об этом ни слова. В спеке видим: > 55 %description devel > 56 %summary. > 64 %description doc > 65 %summary. Но зачем, если есть хорошая секция description у главного исх. пакета? Можно так: взять оттуда пасту, и через пустую строчку добавить одной строкой описание подпакета. https://bugzilla.altlinux.org/show_bug.cgi?id=45539#c36 Здесь wall of text засунули в макроопределение, но можно и копипасту сделать (я лично даже предпочитаю там копипасту). Прошу при будущем обновлении это поправить. Теперь вопросы. :) > 94 %makeinstall_std > 95 mv %buildroot%_datadir/doc/%pypi_name %buildroot%_datadir/doc/python3-module-%pypi_name-%version Вопрос кандидату: а почему бы здесь не написать %name? > 19 Requires: python3-module-matplotlib > 20 Requires: python3-module-matplotlib-cairo > 21 Requires: libgtk+3-gir > 22 Requires: python3-module-pygobject3 > 23 Requires: python3-module-zstandard Вопрос кандидату: появляются ли эти зависимости автоматически, если их не указать? обоснуйте ответ. Остальное чуть позже; не ранее чем завтра.
(Ответ для Arseny Maslennikov на комментарий #13) > Прошу при будущем обновлении это поправить. Описания подпакетов поправил. > Вопрос кандидату: а почему бы здесь не написать %name? Препятствий не вижу. По идее так будет даже лучше, так как будет видно намерение привести имя директории с документацией в соответствие с именем пакета. Исправил в рамках этого же задания. > Вопрос кандидату: появляются ли эти зависимости автоматически, если их не указать? обоснуйте ответ. Автоматиески эти зависимости не появляются, поскольку py3req помечает их как `Ignore for REQ:slight`. По большей части в коде эти зависимости импортируются в блоках try, поэтому их можно было считать опциональными, однако отсуствие этих пакетов ломает функционал связанный с визуализацией графов. Я решил добавить эти зависимости вручную, чтобы библиотека была полностью работоспособна после установки.
(In reply to Aleksandr Dovydenkov from comment #14) > (Ответ для Arseny Maslennikov на комментарий #13) > > Прошу при будущем обновлении это поправить. > Описания подпакетов поправил. Да, круто! Хотя до этого "документа-ион" в описании был один, а стало два. Хочется спросить, одинаково ли они заряжены или по-разному, но не буду :D В общем, "grep taion" по спеку поможет это поправить. > > Вопрос кандидату: а почему бы здесь не написать %name? > Препятствий не вижу. По идее так будет даже лучше, так как будет видно > намерение привести имя директории с документацией в соответствие с именем > пакета. > Исправил в рамках этого же задания. OK. Я б уточнил: у нас есть соглашение, что присущие пакету файлы, относящиеся к документации пакета, кладутся в %datadir/doc/%name-%version, и именно туда их старается положить директива %doc. Поскольку (как я понял) вы собирались положить файлы именно туда, мы и указываем здесь именно идиому %name-%version. > > Вопрос кандидату: появляются ли эти зависимости автоматически, если их не указать? обоснуйте ответ. > Автоматиески эти зависимости не появляются, поскольку py3req помечает их как > `Ignore for REQ:slight`. По большей части в коде эти зависимости > импортируются в блоках try, поэтому их можно было считать опциональными, > однако отсуствие этих пакетов ломает функционал связанный с визуализацией > графов. значит, вы проверили результат; прекрасно! > Я решил добавить эти зависимости вручную, чтобы библиотека была > полностью работоспособна после установки. Если дописать в спеке %set_python3_req_method strict , то, действительно, приезжает больше паразитных зависимостей (например, появляется gstreamer и всевозможные медиакодеки). Так что соглашусь с вами; это был скорее правильный выбор. Можно ли убрать `Requires: lib*-gir`? Если нельзя, то почему?
fuzzel ====== meson.build: 263 install_data( 264 'LICENSE', 'README.md', 'CHANGELOG.md', 265 install_dir: join_paths(get_option('datadir'), 'doc', 'fuzzel')) Не стоит ли их класть согл. конвенции из %doc? Кроме этого, всё хорошо.
(In reply to Arseny Maslennikov from comment #15) > Хочется спросить, одинаково ли они заряжены или по-разному, но не буду :D > В общем, "grep taion" по спеку поможет это поправить. Упс. Судя по тому, как близко они притянулись в спеке, были заряжены по-разному. Разрядил. > Я б уточнил: у нас есть соглашение, что присущие пакету файлы, относящиеся к > документации пакета, кладутся в %datadir/doc/%name-%version, и именно туда > их старается положить директива %doc. Поскольку (как я понял) вы собирались > положить файлы именно туда, мы и указываем здесь именно идиому > %name-%version. Да, именно такого результата я и хотел достичь. > Можно ли убрать `Requires: lib*-gir`? Если нельзя, то почему? Я считаю что нельзя, так как libgtk+3-gir требуется модулю интерактивного отображения графиков, для этого используется именно gtk и именно третьей версии: grep -Rn "gi.require_version('Gtk', '3.0')" src/graph_tool/draw/cairo_draw.py:1545: gi.require_version('Gtk', '3.0') В частности, при отключении перестают работать примеры doc/demos/animation/*.py. fuzzel ====== > meson.build: > 263 install_data( > 264 'LICENSE', 'README.md', 'CHANGELOG.md', > 265 install_dir: join_paths(get_option('datadir'), 'doc', 'fuzzel')) > Не стоит ли их класть согл. конвенции из %doc? Так как пакет изначально не мой, я не менял спек больше, чем необходимо для обновления. Думаю, что можно поправить это при следующем обновлении.
(In reply to Aleksandr Dovydenkov from comment #17) > (In reply to Arseny Maslennikov from comment #15) > > Можно ли убрать `Requires: lib*-gir`? Если нельзя, то почему? > Я считаю что нельзя, так как libgtk+3-gir требуется модулю интерактивного > отображения графиков, для этого используется именно gtk и именно третьей > версии: > > grep -Rn "gi.require_version('Gtk', '3.0')" > src/graph_tool/draw/cairo_draw.py:1545: gi.require_version('Gtk', > '3.0') > > В частности, при отключении перестают работать примеры > doc/demos/animation/*.py. Ага. Я о том, что -gir должны вытягиваться сами, и если они этого не делают, то это недочёт rpm-build-gir. BTW, %set_python3_req_method strict приводит к появлению libgtk+3-gir, но мы выше согласились, что его ставить не надо... В общем, незакрытый вопрос здесь есть, но он на ваш прогресс join не влияет. > fuzzel > ====== > > > meson.build: > > 263 install_data( > > 264 'LICENSE', 'README.md', 'CHANGELOG.md', > > 265 install_dir: join_paths(get_option('datadir'), 'doc', 'fuzzel')) > > Не стоит ли их класть согл. конвенции из %doc? > Так как пакет изначально не мой, я не менял спек больше, чем необходимо для > обновления. > Думаю, что можно поправить это при следующем обновлении. OK, прекрасно. К остальным вашим пакетам у меня нет возражений. :)
Полагаю, что Александр научился собирать пакеты разной природы, показал, что может принимать при составлении пакета решения аккуратно и вдумчиво, конструктивно взаимодействовать с другими мейнтейнерами в команде. Он достоин самостоятельно сопровождать пакеты в Team.
Пользователь добавлен в группу мейнтейнеров. Желаю удачного мейнтейнерства!