Created attachment 11651 [details] gpg key Псевдоним: fomchenkovda E-mail: fomchenkovda@basealt.ru Ментор: Станислав Левин Моя цель: Научиться собирать пакеты. Освоить git.alt. Для начала планирую собрать пакет valgrind
Created attachment 11652 [details] ssh key
*За кандидатами замечено желание менять исполнителя*
Не против поучаствовать в роли ментора.
valgrind уже собран в сизифе: https://packages.altlinux.org/ru/sisyphus/srpms/valgrind/
https://www.altlinux.org/Team/Join/Candidate: > GPG-ключ (RSA >= 4096bit). В ключе должны быть имя в формате "<First name> <Last name>" и uid вида псевдоним@altlinux.org
Моя цель: Научиться собирать пакеты. Освоить git.alt. Для начала планирую собрать пакет sayonara
Created attachment 11659 [details] gpg key -- fixed
В публичной части gpg ключа указан псевдоним sirius, в то время как изначально указан другой fomchenkovda. Какой все-таки планируется использовать?
2-ое - sirius.
(In reply to Dmitrii from comment #7) > Created attachment 11659 [details] > gpg key -- fixed Кавычки вокруг имени -- лишние.
Created attachment 11741 [details] gpg key -- fixed Убраны кавычки из имени.
Created attachment 11755 [details] gpg key -- fixed
(In reply to Dmitrii from comment #12) > Created attachment 11755 [details] > gpg key -- fixed Ok.
Так как пакет sayonara уже собран, собиру пакет grblControl.
(Ответ для Dmitrii на комментарий #14) > Так как пакет sayonara уже собран, собиру пакет grblControl. По нему сразу предложение: не делать в имени пакета заглавных букв. Так красивее. Например: grblсontrol или grbl-сontrol
> Например: grblсontrol или grbl-сontrol Provides: grblControl = %EVR можно всегда добавить при необходимости.
Кандидат готов перейти на этап 2.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
Подопечный готов собирать пакеты.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. T/J/S -> 3.5.
Адрес подписан на devel@. T/J/S -> 3.6.
подопечный готов отправлять пакеты в Сизиф
Призван рецензент (antohami@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
candle https://packages.altlinux.org/ru/tasks/313320/ Замечания: 1. License: GPLv3 Желательно указывать в формате SPDX $ ls -l /usr/share/license/GPLv3 lrwxrwxrwx 1 root root 12 фев 12 23:33 /usr/share/license/GPLv3 -> GPL-3.0-only 2. Сборка пакета закрывает багу: https://bugzilla.altlinux.org/46743 Нужно это указать в ChangeLog, чтобы бага закрылась автоматически. 3. Не нужно указывать: BuildRequires: make он уже есть базовом сборочном чруте. ----------- systemd https://packages.altlinux.org/ru/tasks/318186/ Таск Failed и последний раз собирался 4 мая 2023. Забыли удалить? ----------- usbguard-notifier https://packages.altlinux.org/ru/sisyphus/srpms/usbguard-notifier/ Этот проект - разработка кандидата. Всё хорошо, но в спеке лицензия не в SPDX формате. Сделайте себе коммит в git, обновлять пакет ради этого не нужно. И ещё макрос %cmakeinstall_std желательно поменять на современную форму %cmake_install ----------- qimgv https://packages.altlinux.org/ru/tasks/331361/ Замечания 1. Версия 1.0.3.alpha Не нужно указывать alpha, beta, rc в версии пакета, так как, когда пакет зарелизится, нельзя будет изменить версию на 1.0.3. 1.0.3.alpha > 1.0.3. Поэтому слово alpha нужно указать в Release: alt0.alpha 2. лицензия не в SPDX формате 3. макрос %cmakeinstall_std желательно менять на современную форму %cmake_install ----------- https://packages.altlinux.org/ru/tasks/330893/ Тут три подзадания paho-c: 1. лицензия не в SPDX формате 2. длинные строки в %description. Нужно разбивать строки на <= 80 символов 3. В libpaho-mqtt пакуется библиотека. Желательно указать в её имени soname Тогда, когда soname поменяется в будущем, можно будет собрать отдельный пакет со старым soname без devel пакета. Смотреть: https://www.altlinux.org/Shared_Libs_Policy gvm-libs 1. лицензия не в SPDX формате 2. макрос %cmakeinstall_std желательно менять на современную форму %cmake_install 3. Путь в Source для скачивания и соответственно упаковка в tar.gz Лучше всегда исходники паковать в tar, а путь до исходников указывать отдельно Я указываю: # Source-url: https://путь/до/архива.tar.gz Source: архив.tar.gz openvas-scanner 1. лицензия не в SPDX формате 2. макрос %cmakeinstall_std желательно менять на современную форму %cmake_install ----------- https://packages.altlinux.org/ru/tasks/331986/ wxmedit 1. лицензия не в SPDX формате ----------- https://packages.altlinux.org/ru/tasks/331915/ rizin и сutter-re 1. лицензия не в SPDX формате ----------- https://git.altlinux.org/tasks/343531 brightnessctl 1. Нужно разбить на коммиты. Сейчас просто один коммит, всё в кучу. 2. лицензия не в SPDX формате 3. длинные строки в %description. Нужно разбивать строки на <= 80 символов 4. Путь в Source для скачивания и соответственно упаковка в tar.gz 5. %_man1dir/%name.1.xz не нужно указывать конкретное расширение файла, оно может поменяться, ставьте * Это чей-то srpm импортированный? ----------- https://packages.altlinux.org/ru/tasks/343532/ swaylock 1. Нужно разбить на коммиты. Сейчас просто один коммит, всё в кучу. 2. длинные строки в %description. Нужно разбивать строки на <= 80 символов 3. Путь в Source для скачивания и соответственно упаковка в tar.gz Это чей-то srpm импортированный? ----------- Жду ответов, исправлений или пояснений, почему исправлять не нужно.
Исправил вышеуказанные замечания. 1. Изменил формат лицензии в пакете candle=1.2-alt1 с GPLv3 на GPL-3.0-only 2. Указал в changelog номер баги в багзилле. 3. Убрал "BuildRequires: make" из candle.spec. -- systemd -- 1. Забыл удалить старое задание. 2. Удалил задание 318186, т.к. изменения давно уже в апстриме. -- usbguard-notifier -- 1. Изменил формат лицензии. 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". (https://gitlab.basealt.space/fomchenkovda/usbguard-notifier/-/commit/8c5c99ebd9675966783e5f2d3ae9f9e0f5cf496c) -- qimgv -- 1. Указал "alpha" в Release. 2. Изменил формат версии на SPDX. 3. Заменил макрос "%cmakeinstall_std" на "%cmake_install". -- paho-c -- 1. Изменил формат лицензии. 2. Добавил переносы строк в %description, чтобы длина строк была <= 80 символов. 3. Добавил в %abiversion в название пакета. -- gvm-libs -- 1. Исправил формат лицензии. 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". 3. Упаковал исходники в tar. -- openvas-scanner -- 1. Исправил формат лицензии. 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". 3. Упаковал исходники в tar. -- wxmedit -- 1. Исправил формат лицензии. -- rizin и cutter-re -- 1. Исправил формат лицензии. -- brightnessctl -- 1. Разбил один коммит на несколько. 2. Исправил формат лицензии. 3. Добавил переносы строк в %description, чтобы длина строк была <= 80 символов. Добавил в %abiversion в название пакета. 4. Упаковал исходники в tar. Отдельно указал путь для скачивания исходников. 5. Заменил расширение файла "%_man1dir/%name.1.xz" на "%_man1dir/%name.1.*". Вроде нет. Это утилита которая предоставляется некоторыми дистрибутивами, но разрабатывается сторонним разработчиком. -- swaylock -- 1. Разбил один коммит на несколько. 2. Добавил переносы строк в %description, чтобы длина строк была <= 80 символов. Добавил в %abiversion в название пакета. 3. Упаковал исходники в tar. Отдельно указал путь для скачивания исходников.
(Ответ для Dmitrii на комментарий #25) > Исправил вышеуказанные замечания. > > 1. Изменил формат лицензии в пакете candle=1.2-alt1 с GPLv3 на GPL-3.0-only > > 2. Указал в changelog номер баги в багзилле. > > 3. Убрал "BuildRequires: make" из candle.spec. > Сделайте отдельный коммит. Зачем было переделывать тот, что был? Описание коммита должно соответствовать тому, что в коммите. > -- systemd -- > 1. Забыл удалить старое задание. > 2. Удалил задание 318186, т.к. изменения давно уже в апстриме. > ок > -- usbguard-notifier -- > 1. Изменил формат лицензии. > 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". > (https://gitlab.basealt.space/fomchenkovda/usbguard-notifier/-/commit/ > 8c5c99ebd9675966783e5f2d3ae9f9e0f5cf496c) > ок > -- qimgv -- > 1. Указал "alpha" в Release. > 2. Изменил формат версии на SPDX. > 3. Заменил макрос "%cmakeinstall_std" на "%cmake_install". > одобрил > -- paho-c -- > 1. Изменил формат лицензии. > 2. Добавил переносы строк в %description, чтобы длина строк была <= 80 > символов. > 3. Добавил в %abiversion в название пакета. > ок > -- gvm-libs -- > 1. Исправил формат лицензии. > 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". > 3. Упаковал исходники в tar. > В прошлый раз не увидел, что в спеке: %set_verify_elf_method unresolved=relaxed Должны быть веские основания так делать. Не разбирались, почему так происходит? > -- openvas-scanner -- > 1. Исправил формат лицензии. > 2. Заменил макрос "%cmakeinstall_std" на "%cmake_install". > 3. Упаковал исходники в tar. > И тут в спеке: %set_verify_elf_method unresolved=relaxed > -- wxmedit -- > 1. Исправил формат лицензии. > Не заметил прошлый раз. Переводы запаковываете неправильно. Не нужно указывать %_datadir/locale/*/LC_MESSAGES/%name.mo Вместо этого в секции %install используется макрос %find_lang %name а в %files добавляете %files -f %name.lang %find_lang %name находит переводы и пишет их в файл %name.lang Затем при помощи опции -f мы указываем список файлов %name.lang для упаковки. > -- rizin и cutter-re -- > 1. Исправил формат лицензии. > одобрил > -- brightnessctl -- > 1. Разбил один коммит на несколько. > 2. Исправил формат лицензии. > 3. Добавил переносы строк в %description, чтобы длина строк была <= 80 > символов. Добавил в %abiversion в название пакета. Ох уж этот копипаст ;) %abiversion не про этот пакет. Одобрил. > 4. Упаковал исходники в tar. Отдельно указал путь для скачивания исходников. > 5. Заменил расширение файла "%_man1dir/%name.1.xz" на "%_man1dir/%name.1.*". > > Вроде нет. Это утилита которая предоставляется некоторыми дистрибутивами, но > разрабатывается сторонним разработчиком. > > -- swaylock -- > 1. Разбил один коммит на несколько. > 2. Добавил переносы строк в %description, чтобы длина строк была <= 80 > символов. Добавил в %abiversion в название пакета. > 3. Упаковал исходники в tar. Отдельно указал путь для скачивания исходников. одобрил Одобренные коммитьте. По остальным жду исправлений и пояснений.
-- gvm-libs -- Убрал макрос "%set_verify_elf_method unresolved=relaxed" из спек-файла. Удалось решить проблему без использования данного макроса. -- openvas-scanner -- Не удалось решить проблему таким же образом, как это было сделано в gvm-libs, т.к. для компиляции libopenvas_misc.so нужны ф-ии определённые в исходных файлах необходимых для сборки libopenvas_nasl.so (nasl_get_plugin_filename, nasl_get_function_name). Также в зависимостяк libopenvas_nasl.so указана libopenvas_misc.so (openvas-scanner/nasl/CMakeLists.txt:191). Получаются перекрёстные ссылки друг на друга, если добавить в libopenvas_misc.so в зависимости libopenvas_nasl. Поэтому, кроме вынесения 2-х функций в отдельную библиотеку, не знаю как решить данную проблему. В итоге пришлось оставить макрос "%set_verify_elf_method unresolved=relaxed" в спек-файле. Пакеты, которые были заапрувлены, закоммител.
-- openvas-scanner -- Тут ещё проблема в спеке: %exclude %_target_libdir_noarch/debug %_libdir/* Не надо так делать. Во-первых, не нужно упаковывать %_libdir/*.so не в devel пакет. Во-вторых, надо стремиться контролировать на уровне спека, что упаковывать, а не паковать чтобы там ни было, кроме вот этого.
(Ответ для Dmitrii на комментарий #27) > Получаются перекрёстные ссылки > друг на друга, если добавить в libopenvas_misc.so в зависимости > libopenvas_nasl. Если это подпакеты одного пакета, то зависимости друг на друга точно не страшно.
-- openvas-scanner -- Удалось собрать пакет без использования макроса "%set_verify_elf_method unresolved=relaxed".
(Ответ для Dmitrii на комментарий #30) > -- openvas-scanner -- > Удалось собрать пакет без использования макроса "%set_verify_elf_method > unresolved=relaxed". Отлично. Поправьте два %description у paho-c. На строки не разбили. И будем завершать join.
(In reply to Антон Мидюков from comment #31) > > Отлично. > > Поправьте два %description у paho-c. На строки не разбили. Поправил.
Считаю что кандидат готов к самостоятельной сборки пакетов.
Пользователь добавлен в группу мейнтейнеров. Желаю удачного мейнтейнерства!