Created attachment 12735 [details] Add GPG public key Имя пользователя: qualimock Почта для пересылки: qualimock@yandex.ru Намерения: хочу научиться собирать пакеты Имя ментора: ancieg Подписка: ancieg@altlinux.org
Created attachment 12736 [details] Add SSH public key
(Ответ для QualiMock на комментарий #0) > Имя ментора: ancieg Ок, берусь. > Подписка: ancieg@altlinux.org Но в подписку не добавил :)
Ключи в порядке.
Актуально ли ещё?
(In reply to Gleb F-Malinovskiy from comment #4) > Актуально ли ещё? Да, актуально, но пока времени нет
В общем, время появилось, собрал один пакет на локальной машине. Желаю вернуться к процедуре Join'а.
Прошу зарегистрировать ключи на gitery и выдать доступ к gyle.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
(In reply to Anton Zhukharev from comment #7) > Прошу зарегистрировать ключи на gitery и выдать доступ к gyle. Прошу выдать доступ к gyle.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
Собраны пакеты: cassette: https://packages.altlinux.org/en/sisyphus/srpms/cassette/ python3-module-aria2p: https://packages.altlinux.org/en/sisyphus/srpms/python3-module-aria2p/ nautilus-backspace: https://packages.altlinux.org/en/sisyphus/srpms/nautilus-backspace/ screenshot: https://packages.altlinux.org/en/sisyphus/srpms/screenshot/ opendoas: https://packages.altlinux.org/en/sisyphus/srpms/opendoas/
Я думаю, что можно пробовать двигаться дальше.
Призван рецензент (arseny@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
(In reply to Gleb F-Malinovskiy from comment #13) > Призван рецензент (arseny@) для независимой оценки готовности кандидата. > > T/J/S -> 4.2. ACK. Взгляну на выходных.
Created attachment 17774 [details] nautilus-backspace-allow-override-datadir.diff
Недавно взглянул. Кое-что я уже посмотрел, но ответы пока в столе и ещё нуждаются в редактуре. Скоро опубликую их пачкой. Немного о nautilus-backspace. Нижеследующее почти не касается нашего с вами пакета, но тем не менее выступает хорошим упражнением для среднестатистического мейнтейнера и хорошим тоном для благосклонного апстрима. Если взглянуть на makefile апстрима, то видно, что апстрим на момент авторства немного не умел писать фазу `make install` для своего поделия. Позаботился о цикле разработки, но не о упаковывающих мейнтейнерах. :( Хороший мейнтейнер установит правильно (как вы и сделали в спеке), а отличный ещё и заапстримит правильную установку, благо makefile несложный, а патч небольшой. Предлагаю ув. кандидату это сделать; интуиция мне подсказывает, что апстрим будет договороспособен. :) Они там сверяют UID 0; понятно, что из `geteuid() == 0` никак не следует префикс, куда нужно ставить файлы, но и понятно, что хотелось поддерживать запуск `make install` на живой системе, где умолчания для uid 0 и != 0 _не_ неразумны и даже близки к устойчивой практике. В текущем виде такой код показывает мейнтейнеру пакетов кукиш. Апстриму стоило бы: - ввести что-нибудь вроде `datadir = /usr/share` в самом начале файла, тем самым добавив ручку для переопределения datadir; - да-да, при вызове `make datadir=$HOME/.local/share` установка переменной в командной строке _одерживает верх_ над установкой переменной в тексте! https://www.gnu.org/software/make/manual/make.html, "Overriding Variables" То есть, неосторожному оператору очень легко сломать аккуратный Makefile неаккуратным вызовом make(1). Не баг, а фича! (впрочем, неважно) - ветку `geteuid() != 0` посвятить изменению зн. `datadir` по умолчанию. И волки будут сыты, и овцы будут целы, см. приложенный патч. - поддержать переменную DESTDIR (может как отсутствовать, так и содержать путь к каталогу; писать после обращения к ней / не требуется); - совсем дальновидно: вызывать в рецептах `$(INSTALL)` вместо явного `install`. А ещё у них `make` без аргументов командной строки будет что-то куда-то устанавливать, так как `install` — первая цель по тексту. К такому поведению жизнь пользователей make(1) не готовила, это неприятный сюрприз. :) Ну, и `.PHONY: install schemas`, конечно; ни о каких файлах по именам "install" и "schemas" речи не идёт. Патч получится порядка 14 insertions(+), 11 deletions(-). Вам останется написать в spec: %makeinstall_std datadir=%datadir Танцы с ifneq чего-то 0 вас как мейнтейнера пакета не затронут. Я не помню, пригодна ли ~/.local (согласно спецификации на неё) для того, чтобы быть префиксом (т. е. содержать всё актуальное, что бывает в /usr/local или /usr). Если да, то возможен вариант prefix = /usr datadir = $(prefix)/share и далее аналогично. Но, с учётом того, что проект маленький, тут могут быть разные решения приняты.
Общее замечание. Если апстрим сопровождает свой проект в гите, делает релизы и вешает на релизные ревизии подписанные теги, то их можно тоже запушить на gitery. Тогда при сборке пакетного тега, от которого можно до них дойти по цепочке коммитов, они попадут и на git.a.o/gears, что удобно читателям. gyle так делает много лет, но я об этом узнал только в прошлом году — т. е. менторы об этом вообще не говорят. Надо эту практику по возможности популяризировать. :)
nautilus-backspace: В спеке нет: %define _unpackaged_files_terminate_build 1 Почему? Вопрос и на понимание, и из моего личного любопытства (я никогда не собирал всякий гном). Нужно ли glib-compile-schemas вызывать в %post пакета? Почему нельзя в файлтриггере?
cassette: объективно придраться не к чему. :)
python3-module-aria2p: Вопрос к кандидату: я вижу, что в -alt2 добавлена явная зависимость на aria2. Пожалуйста, обоснуйте это добавление. Кроме этого, нет вопросов.
org.adishatz.Screenshot: А ему точно нужны и meson, и cmake в качестве BR? Кроме этого, нет вопросов.
opendoas: Пакет в целом сложный, с существенной долей системной интеграции. Значит, и поговорить есть о чём! > %description -l ru_RU.UTF-8 > doas — это минимальная замена почтенного sudo. Первоначально она была написана > Тедом Унангстом из проекта OpenBSD, чтобы обеспечить 95%% функций sudo > с частью кодовой базы > обеспечить ... с частью кодовой базы Плохой и корявый перевод строго хуже отсутствия перевода. Надо либо написать своими словами, либо вообще забить на перевод. > Summary(ru_RU.UTF-8): Портативная версия команды doas из OpenBSD Здесь слово portable употреблено в особом смысле, который ему придаёт сообщество OpenBSD: имеется в виду вариант программы, совместимый не только с OpenBSD. В английском языке словосоч. "portable program" имеет два устойчивых смысла: * "работающий везде", толстый исполнимый (в мире windows — бинарный) дистрибутив приложения, не требующий установки в окружение (в т. ч. упаковки в альт для будущей установки); * более уместное значение из литературы вокруг POSIX, языка Си и комплектного библиотечного окружения: программа, которую можно без изменений собрать под произвольную машину и ОС. Эти два варианта — омонимы; второй из них — это "портируемая" программа, которую можно куда-то портировать, to port, например, под линукс. Проект OpenBSD употребляет "portable", ссылаясь на второй вариант употребления (у них portable — программа, совместимая не только с OpenBSD). Я бы в свете всего этого, если уж заниматься переводом этих описаний, вообще избежал намёков на то, что кто-то что-то куда-то портирует. Мы упаковываем вариант opendoas, совместимый с нами (другой упаковывать в альт смысла мало); об этом надо и написать. Навроде "Команда doas из OpenBSD, портированная для Linux". Конечно, ни в коем разе не навязываю стиль и выбор слов. :) > 50 mkdir -p %buildroot%_sysconfdir > 51 cat > %buildroot%_sysconfdir/doas.conf << EOF > 52 # Allow wheel by default > 53 permit :wheel > 54 EOF 1) Для других повышалок привилегий у нас предусмотрены control(8) facilities. Предлагаю взглянуть на семантику и варианты состояний у sudo и предоставить такие же варианты для opendoas (соответственно, упаковать эти контролы в пакет). 2) Если комментарии в конфиге выступают в том числе документацией для пользователя, то, IMHO, прилично писать такие заметки как документацию — книжным стилем; т. е. заканчивать предложения точкой и т. п. > 42 %build > 43 # Non standard build script > 44 ./configure --prefix=%prefix --with-timestamp --with-pam > 45 export CFLAGS="%optflags" > 46 %make_build Что означает запись non-standard build script? Nit: "/bin:/sbin:" в начале safepath в файле doas.c стоило бы, на мой вкус, выпатчить; в альте это симлинки на другие каталоги, входящие в safepath. Впрочем, не настаиваю.
(In reply to Arseny Maslennikov from comment #20) > python3-module-aria2p: > > Вопрос к кандидату: > я вижу, что в -alt2 добавлена явная зависимость на aria2. Пожалуйста, > обоснуйте это добавление. > > Кроме этого, нет вопросов. aria2p - это утилита, работающая с aria2, автогенератор не находит такие зависимости, поэтому пришлось указать явно. (In reply to Arseny Maslennikov from comment #21) > org.adishatz.Screenshot: > > А ему точно нужны и meson, и cmake в качестве BR? > > Кроме этого, нет вопросов. cmake был добавлен, поскольку он потребовался в процессе сборки. Однако, потом оказалось, что все собирается и без него. В https://packages.altlinux.org/en/tasks/379880/ я его убрал из BR. С nautilus-backspace и opendoas в ближайшее время разберусь.