Псевдоним : skachedubov Почта : Danila Skachedubov <skachedubov@altlinux.org> Пересылка почты : SKADA2012@yandex.ru Имя ментора : Иван Савин Почта ментора : svn17@altlinux.org Моя цель : Научиться собирать пакеты
Эта заявка недооформлена. Можете переоткрыть баг когда решите её оформить.
Created attachment 13073 [details] Прикрепляю публичную часть SSH ключа
Created attachment 13074 [details] Прикрепляю публичную часть GPG ключа
Created attachment 13078 [details] Прикрепляю публичную часть SSH ключа
Подтверждаю заявку. Прошу секретаря зарегистрировать ключи.
Считаю что кандидат уже умеет генерировать ключи и готов к переходу на следующий этап.
(In reply to Danila from comment #4) > Created attachment 13078 [details] > Прикрепляю публичную часть SSH ключа Ok. (In reply to Danila from comment #3) > Created attachment 13074 [details] > Прикрепляю публичную часть GPG ключа Я не понимаю, зачем нужен такой комментарий к ключу, но формально ключ, конечно, соответствует критериям.
Кандидат готов начать встаупление в team.
ssh ключ на gitery.alt зарегистрирован. Адрес для пересылки создан. T/J/S -> 2.3.
Прошу кандидата предоставить примеры пакетов на git.altlinux.org.
Добавил несколько пакетов: https://git.altlinux.org/people/skachedubov/packages/ 1. extarct-dtb: инструмент для разделения образа ядра с добавленными dtb на отдельные файлы ядра и dtb. 2. StegoPy: инструмент для стеанографии методом LSB. 3. spi-tools: инструмент командной строки, который помогает использовать устройства Linux spidev. 4. vunit: - фреймворк для Unit-тестов для Verilog.
(Ответ для Danila Skachedubov на комментарий #11) > Добавил несколько пакетов: > https://git.altlinux.org/people/skachedubov/packages/ > 1. extarct-dtb: инструмент для разделения образа ядра с добавленными dtb на > отдельные файлы ядра и dtb. > 2. StegoPy: инструмент для стеанографии методом LSB. > 3. spi-tools: инструмент командной строки, который помогает использовать > устройства Linux spidev. > 4. vunit: - фреймворк для Unit-тестов для Verilog. Посмотрел первый пакет из списка. Тег Packager надо убрать, он больше не используется. Тег License сделать в соответствии с https://www.altlinux.org/Spec#License. Исправить: warning: Installed (but unpackaged) file(s) found: /usr/CHANGES.md /usr/LICENSE /usr/bin/extract-dtb /usr/lib/python3/site-packages/extract_dtb-1.2.4.dev0.dist-info/METADATA /usr/lib/python3/site-packages/extract_dtb-1.2.4.dev0.dist-info/entry_points.txt Остальные пакеты пока не смотрел, сказанное выше актуально и для них.
Ещё актуально?
Внес изменения в пакеты: https://git.altlinux.org/people/skachedubov/packages/ 1. Удалил тэг Packager 2. Лицензии указал макросами 3. Исправил warning'и при сборке пакета в хэшере.
(Ответ для Danila Skachedubov на комментарий #14) > Внес изменения в пакеты: > https://git.altlinux.org/people/skachedubov/packages/ > 1. Удалил тэг Packager > 2. Лицензии указал макросами > 3. Исправил warning'и при сборке пакета в хэшере. Посмотрел второй пакет из списка. Он не собирается.
Исправил ошибки в spec файлах: 1. Изменил домен в почте на правильный (altlinux.org). 2. Исправил путь в секции %install в пакете StegoPy
Первый пакет: 1) Смешивать свои коммиты с коммитами апстрима не очень хорошая идея по моему. Наверное, лучше свои коммиты делать в отдельной ветке. Второй пакет: 1) первый пункт для первого пакета. https://www.altlinux.org/Spec#Version - про версии. 2) Почему не использовать %_bindir вместо %define install_dir /usr/bin/ ? Третий пакет: 1) первый пункт для первого пакета. 2) зачем эта переменная - %define version 4.7.0? Четвёртый пакет: 1) Первый пункт из первых трёх можно посмотреть здесь. 2) Ветку по умолчанию логичней назвать sisyphus и собирать из неё, зачем master?
Исправил ошибки: Разделил ветки с апстримом и своими коммитами со сборкой Исправил использование макросов в spec файлах Разобрался с промежуточными версиями для пакета StegoPy
- Исправил ошибку при указании промежуточной версии, созданной командой git describe - Установил дефолтный бранч sisyphus во всех репозиториях командой ssh gitery default-branch
extract-dtb: 1)https://www.altlinux.org/Spec#%25description "Длина каждой строки не должна превышать 72 символа" StegoPy: 1)Пакет не собирается. 2) v0.0.4beta-14-g823a92b - странная версия. https://www.altlinux.org/Spec#Version 3)https://www.altlinux.org/Spec#%25description "Длина каждой строки не должна превышать 72 символа" 4) из https://bugzilla.altlinux.org/show_bug.cgi?id=45885#c17 > 2) Почему не использовать %_bindir вместо %define install_dir /usr/bin/ ? spi-tools: 1)Пакет не собирается. vunit: 1) из https://bugzilla.altlinux.org/show_bug.cgi?id=45885#c12 > Тег Packager надо убрать, он больше не используется. 2)https://www.altlinux.org/Spec#%25description "Длина каждой строки не должна превышать 72 символа"
Собирал пакеты командой gear-hsh --commit, исправив все недочеты и ошибки, выявленные в предыдущей проверке, отписался в багзиллу, подсознательно считая, что закоммитил и запушил все изменения... Прошу прощение за потраченное время на проверку( Сейчас закоммитил и отправил все изменения, так же исправил длину строк в секции %description.
StegoPy: 1) Странная версия - v0.0.4beta.14.g823a92b. https://www.altlinux.org/Spec#Version В примере показано как из этого делают версию. 2) Думаю стоит запушить тэг апстрима с помощью которого это получилось. tar: . name=@name@-@version@ base=@name@-@version@ - это не ошибка, но base в данном случае дублирует действие по умолчанию (gear-rules(5)).
Запушил тег, для получения командой git describe --abbrev=1 HEAD^ количества коммитов до последнего коммита апстрима и для формирования уникального имени объекта. Исправил версию. Да, без указания base, используется имя архива без суффикса, в моем случае это излишне.
(Ответ для Danila Skachedubov на комментарий #23) > Запушил тег, для получения командой git describe --abbrev=1 HEAD^ количества > коммитов до последнего коммита апстрима и для формирования уникального имени > объекта. > Исправил версию. В версии 0.0.4.0.14.g823a один лишний символ по сравнению с примером из https://www.altlinux.org/Spec#Version
Исправил версию 0.0.4.0.14.g823a. Удалил префикс "g".
Считаю, что кандидат готов к следующему шагу. Прошу секретаря дать доступ к сборочнице.
За прошедшее время мы ужесточили правила про gpg-ключи и принимаем ключи только без комментария. Можно было бы рассмотреть вопрос об исключении, но я думаю, что комментарий (developer) не имеет никакого смысла.
Кандидат, прошу обновить ключ.
Created attachment 17719 [details] GPG ключ Добрый день, прикладываю новый gpg-ключ.
ssh ключ на gyle.alt зарегистрирован. Пакет alt-gpgkeys обновлён. Адрес подписан на devel@. T/J/S -> 3.6.
Добрый день! В рамках освоения работы со сборочницей собрал несколько тасок: #381892 - таска в сизиф с пакетами, собранными для джоина. #381890 #381882 #379482 #377866 #381957 - таски, созданные в разные ветки репозитория, собранные с флагом --test-only для тестирования вносимого функицонала в рамках решения рабочих задач.
Добрый вечер! Пересобрал пакет cherrytree с новой версией. https://git.altlinux.org/people/skachedubov/packages/?p=cherrytree.git;a=summary Добавил патч, возвращающий на место флаг России, вместо установленного апстримом флага организации, запрещенной в Российской Федерации. Данный патч закрывает багу https://bugzilla.altlinux.org/48695. Собрал таску в сизиф 382341.
StegoPy, python3-module-extract-dtb, python3-module-vunit, spi-tools: tagger Danila Skachedubov <skachedubovda@altlinux.org> Коммитер: Danila Skachedubov <skachedubovda@altlinux.org> 2025-04-17 19:26:42 cherrytree: tagger Danila Skachedubov <skachedubovda@altlinux.org> Автор: Danila Skachedubov <skachedubov@altlinux.org> 2025-04-22 17:07:54 Коммитер: Danila Skachedubov <skachedubovda@altlinux.org> 2025-04-24 15:43:47 При этом в changelog'ах <skachedubov@altlinux.org> и тут Псевдоним : skachedubov Почта : Danila Skachedubov <skachedubov@altlinux.org> В ключах тоже указан адрес skachedubov@altlinux.org. Зачем указывать адрес <skachedubovda@altlinux.org>? Он существует? Считаю, это надо исправить.
Да, эта почта уже неактуальна, осталась в глобальном конфиге гита и ставила свой след в коммитах. Все исправил и запушил. Таски пересобрал, на этот раз решил не пихать пакеты не связанные друг с другом в одну таску, да и их количество не требует такого. #384838 TESTED #1 [test-only] sisyphus spi-tools.git=1.0.2-alt1 #384836 TESTED #1 [test-only] sisyphus StegoPy.git=0.0.4.0.14.823a-alt1 #384835 TESTED #1 [test-only] sisyphus python3-module-extract-dtb.git=1.2.3-alt1 #384833 TESTED #1 [test-only] sisyphus python3-module-vunit.git=4.7.0-alt1 #384832 EPERM #1 sisyphus cherrytree.git=1.4.0-alt1 Все tested, за исключением cherrytree, который, надеюсь с новым патчем попадет в сизиф.
Считаю что кандидат готов к следующему шагу. Прошу секретаря призвать рецензента.
Добрый день, разбирался в процессе сборке/пересборке модулей ядра. Обновил kernel-source-rtl8192eu с новой версией, поддерживающей ядро 6.18 и модуль к нему для 6.12 и 6.18. Уже попало в Сизиф. https://git.altlinux.org/people/skachedubov/packages/?p=kernel-modules-rtl8192eu.git&a=shortlog&h=refs/heads/template/rtl8192eu/sisyphus https://git.altlinux.org/people/skachedubov/packages/?p=kernel-source-rtl8192eu.git&a=shortlog&h=refs/heads/sisyphus
Призван рецензент (antohami@) для независимой оценки готовности кандидата. T/J/S -> 4.2.
Замечание по уже прошедшему пакету: https://git.altlinux.org/tasks/archive/done/_394/403606/gears/100/git?p=git;a=commitdiff;h=9041f48351e8cd0d9535b3c269b481a9b56d2832 Не делайте в одном коммите изменения в коде и спек файле. Также вижу, что в этом спеке используются фигурные скобки в макросах: %{_datadir} У нас принято не использовать фигурные скобки без необходимости. ____ https://git.altlinux.org/tasks/402289 тут всё нормально. Одобрил, коммитьте.
https://git.altlinux.org/tasks/401825/gears/40/git?p=git;a=commitdiff;h=2ae2202f9031a3910ddea09310b63132e257a69d 1. Укажите VCS: https://адрес.git 2. Или выровните отступы, или уберите их: Name: libgeopmd Version: 3.2.1 Release: alt1 Summary: C/C++ implementation of the GEOPM access service Group: System/Libraries License: BSD-3-Clause URL: https://geopm.github.io Source0: %name-%version.tar 3. Вместо autoreconf -vif нужно использовать макрос %autoreconf и выполнять его нужно в %build, а не %prep. 4 Нет символа новой строки в конце спека и в .gear/rules: +- first build for ALT \ No newline at end of file +spec: .gear/libgeopmd.spec \ No newline at end of file Все текстовые файлы в linux должны заканчиваться символом новой строки. 5. Это тут ни к чему: #BuildRequires: /sys 6. Это не нужно указывать, входят в базовый сборочный чрут: BuildRequires: autoconf BuildRequires: automake 7. Зачем вам пакет пустышка libgeopmd, который ничего не вытягивает? Уберите %files, чтобы его не было. 8. Почему собираете на из тега?
https://git.altlinux.org/tasks/401825/gears/400/git?p=git;a=commitdiff;h=46f64f80c95fb53b689fa342cb3d7e706d3fbcd7 1. Уж очень интересное описание у пакета: +%global desc test ... +%description -n geopm-cli +%{desc} Неправда ли? 2. Не стоит делать так: %_libdir/libgeopm.so.%{soversion}* %_libdir/geopm/libgeopmiogroup_profile.so.%{soversion}* Лучше так %_libdir/libgeopm.so.%soversion %_libdir/libgeopm.so.%soversion.* %_libdir/geopm/libgeopmiogroup_profile.so.%soversion %_libdir/geopm/libgeopmiogroup_profile.so.%soversion.* Так гарантируется контроль %soversion И, кстати, странно, что libgeopmiogroup_profile.so.%soversion не в %_libdir, а в подкаталоге. Обычно в подкаталоги убирают неверсионированные библиотеки, которые нужны только пакету. 3. Странная конструкция: %if ! %defined _without_check Можно так: %def_with check ... %check %if_with_check 4. Добавьте VCS 4. Вместо autoreconf -vif нужно использовать макрос %autoreconf и выполнять его нужно в %build, а не %prep. 5. Нет символа новой строки в конце спека и в .gear/rules: +- first build for ALT \ No newline at end of file +spec: .gear/libgeopmd.spec \ No newline at end of file Все текстовые файлы в linux должны заканчиваться символом новой строки. 6. Это тут ни к чему: #BuildRequires: /sys 7. Это не нужно указывать, входят в базовый сборочный чрут: BuildRequires: autoconf BuildRequires: automake ___ Пройдитесь по своим пакетам. Скорее всего будут аналогичные замечания. Сообщите, как всё исправите, тогда продолжу ревью.
Добрый день, спасибо за замечания! Хотел бы уточнить пару моментов: - Насколько в целом подход в пакете freeipa-server-gpo для сохранения файлов в промежуточной директории, чтобы не инсталляция в сервер происходила исключительно при запуске скрипта реализован правильно? - Пакеты libgeopm libgeopmd python3-module-geopmpy geopmd еще не в финальном виде ,такими "сырыми" я их выложил для того, чтобы проверить работу тестов в сборочнице. Во время сборки в хешере, я столкнулся с проблемой, что для прохождения тестов нужно монтировать не только /proc, но и /sys, локально в хешере все собиралось хорошо, но при этом я ни в одном спеке не видел монтирование /sys, что и смутило меня, тесты отключать я не хотел, хотел разобраться можно ли монтировать /sys на сборочнице, что не получилось и дальше я уже экспериментировал как обходить конкретные тесты пока не добился успеха, поэтому планировал отписаться в баге как данные пакеты будут в финальном виде. Еще раз спасибо!
(Ответ для Danila Skachedubov на комментарий #41) > - Насколько в целом подход в пакете freeipa-server-gpo для сохранения файлов > в промежуточной директории, чтобы не инсталляция в сервер происходила > исключительно при запуске скрипта реализован правильно? Это действительно очень странный подход. %post echo "********************************************************************" echo "FreeIPA Group Policy plugins have been installed in staging directory." echo "To activate them, run: ipa-gpo-install" echo "This will copy the plugins to their proper locations and configure" echo "the necessary schema and services." echo "********************************************************************" Чем было вызвано? И вот такое ужасно: %postun if [ $1 -eq 0 ]; then # Package removal (not upgrade) # Remove plugin files that were copied by ipa-gpo-install rm -f %{python3_sitelibdir}/ipaserver/plugins/chain.py rm -f %{python3_sitelibdir}/ipaserver/plugins/gpmaster.py rm -f %{python3_sitelibdir}/ipaserver/plugins/gpo.py rm -f %{_datadir}/ipa/ui/js/plugins/chain/chain.js rm -f %{_datadir}/ipa/ui/js/plugins/chain/gpo.js rm -f %{_datadir}/ipa/schema.d/75-chain.ldif rm -f %{_datadir}/ipa/schema.d/75-gpc.ldif rm -f %{_datadir}/ipa/schema.d/75-gpmaster.ldif rm -f %{_datadir}/ipa/updates/75-chain.update rm -f %{_datadir}/ipa/updates/75-gpc.update rm -f %{_datadir}/ipa/updates/75-gpmaster.update rm -f %{_sysconfdir}/oddjobd.conf.d/ipa-gpo.conf rm -f %{_prefix}/libexec/ipa/oddjob/org.freeipa.server.create-gpo-structure rm -f %{_prefix}/libexec/ipa/oddjob/org.freeipa.server.delete-gpo-structure fi Можно запаковать как %ghost всё это, чтобы так не удалять. Я теперь посмотрел спек полностью (не только коммит), появились дополнительные вопросы: 1. Локали пакуются не так: %{_datadir}/locale/ru/LC_MESSAGES/ipa-gpo-install.mo Нужно в %install: %find_lang ipa-gpo-install А в %files прописать: %files -f ipa-gpo-install.lang Так они и автоматом найдутся, и получат отметку, что это локали. 2. Не нашлись автоматом: Requires: python3-module-freeipa Requires: python3-module-ipaserver Requires: freeipa-server-trust-ad Requires: samba-common-tools ? > - Пакеты libgeopm libgeopmd python3-module-geopmpy geopmd еще не в финальном > виде ,такими "сырыми" я их выложил для того, чтобы проверить работу тестов в > сборочнице. Во время сборки в хешере, я столкнулся с проблемой, что для > прохождения тестов нужно монтировать не только /proc, но и /sys, локально в > хешере все собиралось хорошо, но при этом я ни в одном спеке не видел > монтирование /sys, что и смутило меня, тесты отключать я не хотел, хотел > разобраться можно ли монтировать /sys на сборочнице, что не получилось и > дальше я уже экспериментировал как обходить конкретные тесты пока не добился > успеха, поэтому планировал отписаться в баге как данные пакеты будут в > финальном виде. /sys монтировать нельзя. Видимо, тестировать придётся на altlinux.space в контейнерах, раз такие тесты. Почему туда не перемещаетесь с github, кстати?
(In reply to Антон Мидюков from comment #42) > /sys монтировать нельзя. Видимо, тестировать придётся на altlinux.space в > контейнерах, раз такие тесты. Можно же использовать vm-run, будет и /sys и настоящий root (если вдруг тоже нужно).
Добрый день, по поводу пакета https://git.altlinux.org/people/skachedubov/packages/?p=freeipa-server-gpo.git&a=summary Исходники есть и на altlinux.space https://altlinux.space/danila-skachedubov/freeipa-server-gpo В спеке поменяю ссылку с github на altlinux.space Дабы уйти от решения в спеке в секции %postun удалять файлы и перемещать их в системе при установке плагина я пересмотрел архитектуру включения плагина, поэтому в следующей версии исправлю это. Так же учту остальные замечания. По поводу пакетов libgeopm libgeopmd python3-module-geopmpy geopmd в которых я столкнулся с проблемой запусков тестов, я разобрался как включить kvm в хешере и запустить тесты, используя vm-run. Так же учту все замечания, указанные выше. Как доведу "до ума" эти пакеты, соберу заново таски и отпишусь в баге для ревью. Спасибо