Bug 45031

Summary: Для p10 нужен макрос add_python3_self_prov_path
Product: Branch p10 Reporter: Vitaly Lipatov <lav>
Component: rpm-build-python3Assignee: kotopesutility <kotopesutility>
Status: CLOSED FIXED QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: amakeenk, ancieg, kotopesutility, slev, vercha
Version: не указана   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 49974    

Description Vitaly Lipatov 2023-01-25 02:39:15 MSK
Поскольку вы делали такие изменения в пакетах, например, в frescobaldi
* Sat Nov 12 2022 Daniel Zagaynov <kotopesutility@altlinux.org> 3.1.3-alt5.1
- NMU: used %%add_python3_self_prov_path macro to skip self-provides from dependencies.

прошу обеспечить возможность сборки таких пакетов в p10,
например, путём обновления rpm-build-python3 в репозитории или
добавлении конкретного макроса %add_python3_self_prov_path
Comment 1 Stanislav Levin 2023-01-25 17:50:05 MSK
Daniel, возможен ли бэкпорт этого изменения в p10?
Comment 2 Stanislav Levin 2023-02-01 13:07:18 MSK
any news?
Comment 3 Vitaly Lipatov 2023-02-06 06:38:58 MSK
314095 FAILED #1 [test-only] p10 python3-module-qpageview.git=0.6.2-alt1 frescobaldi.git=3.2-alt1
Comment 4 kotopesutility 2023-02-17 21:55:43 MSK
Для появления в p10 релиза rpm-build-python3 >= 0.1.20-alt1 требуется пересборка всего p10 с соответствующим пакетом, т.к. помимо появления макроса, в rpm-build-python3 0.1.20-alt1 ужесточается фильтрация зависимостей через self-provides => как и с Sisyphus может всплыть ряд пакетов, которые перестанут собираться. План был таков, чтобы отловить их и пофиксить. Я был уверен, что такие механизмы есть, но, кажется, они есть только у тестировщиков в данном случае. Я им написал, но ответа пока не получил.
Так что пока я предлагаю такое очевидное, но не особо симпатичное, мягко говоря, решение: https://git.altlinux.org/people/kotopesutility/packages/rpm-build-python3.git?p=rpm-build-python3.git;a=commit;h=1b8219d4713c757109641854825de291d1a663ca
Этого будет достаточно для сборки пакетов, в которых уже используется макрос %add_python3_self_prov_path и при этом там остается та же политика фильтрации зависимостей, так что ничего сломаться не должно (по идее).
Вот задание с теми пакетами, которые были указаны в баге, все собралось:
https://git.altlinux.org/tasks/315233/

Понятно, что собрать в p10 свежайший rpm-build-python3 все равно нужно, мы это сделаем, но в тот момент, когда станет понятно, а как нам пересобрать p10 с соответствующей версией rpm-build-python3 и отловить проблемные пакеты.
Comment 5 Alexander Makeenkov 2023-02-18 00:08:00 MSK
(Ответ для kotopesutility на комментарий #4)
> Для появления в p10 релиза rpm-build-python3 >= 0.1.20-alt1 требуется
> пересборка всего p10 с соответствующим пакетом, т.к. помимо появления
> макроса, в rpm-build-python3 0.1.20-alt1 ужесточается фильтрация
> зависимостей через self-provides => как и с Sisyphus может всплыть ряд
> пакетов, которые перестанут собираться. План был таков, чтобы отловить их и
> пофиксить. Я был уверен, что такие механизмы есть, но, кажется, они есть
> только у тестировщиков в данном случае. Я им написал, но ответа пока не
> получил.

Подскажите, пожалуйста, кому именно Вы писали?

> Понятно, что собрать в p10 свежайший rpm-build-python3 все равно нужно, мы
> это сделаем, но в тот момент, когда станет понятно, а как нам пересобрать
> p10 с соответствующей версией rpm-build-python3 и отловить проблемные пакеты.

Вы можете собрать задание в p10, когда его одобрит кто-то из группы maint оно попадёт к нам и мы проверим пересборку репозитория, выявив при этом пакеты, которые не соберуться.
Comment 6 kotopesutility 2023-02-18 18:46:40 MSK
(Ответ для Alexander Makeenkov на комментарий #5)
> Подскажите, пожалуйста, кому именно Вы писали?
Я написал snowmix. 

> Вы можете собрать задание в p10, когда его одобрит кто-то из группы maint
> оно попадёт к нам и мы проверим пересборку репозитория, выявив при этом
> пакеты, которые не соберуться.
Хорошо, спасибо! Я подготовил задание, отправил письмо  p10-maint@lists.altlinux.org, жду их ответа.
Comment 7 kotopesutility 2023-02-22 17:33:41 MSK
Большое спасибо отделу тестирования за помощь, будем ждать результатов пересборки!

Пока идет тестирование и мы не знаем, сколько пакетов нам придется исправлять, для p10 я все-таки сделаю релиз rpm-build-python3 0.1.19-alt2, в котором будут добавлены требуемые макросы (%_python3_self_prov_path и %add_python3_self_prov_path), которые никак не будут пока влиять на сборку, но этого достаточно для портирования пакетов из Sisyphus. Это промежуточное решение, которое должно оказаться безопасным, так как в rpm-build-python3 0.1.19-alt2 политика определения зависимостей и provides остается той же, что и в rpm-build-python3 0.1.19-alt1.
Comment 8 kotopesutility 2023-03-03 18:52:54 MSK
Тестирование уже давно завершилось. Отвалилось всего 20 пакетов, причем все с одинаковой жалобой: 
E: Версия >='0.4.0' для 'python3-module-pyproject-installer' не найдена
hsh-install: Failed to calculate package file list.
hsh-install: Failed to generate package file list.
(См. https://git.altlinux.org/gears/r/rpm-build-python3.git?p=rpm-build-python3.git;a=blob;f=rpm-build-python3/python3;h=ce15648dbf518c2363cd10af9323f37faab97334;hb=225bd725a5efcbd1e6ec071869c02cb1c97931b3#l72)
Так что пока в p10 rpm-build-python3 0.1.21-alt1 не будет. Но саму проблему с макросами мы решили как я предлагал ранее с помощью rpm-build-python3 0.1.19-alt2, пакеты с макросами %_python3_self_prov_path и %add_python3_self_prov_path теперь должны собираться в p10.
(См. https://git.altlinux.org/tasks/316003/)
Comment 9 Stanislav Levin 2023-03-03 19:06:41 MSK
(Ответ для kotopesutility на комментарий #8)
> Тестирование уже давно завершилось. Отвалилось всего 20 пакетов, причем все
> с одинаковой жалобой: 
> E: Версия >='0.4.0' для 'python3-module-pyproject-installer' не найдена
> hsh-install: Failed to calculate package file list.
> hsh-install: Failed to generate package file list.
> (См.
> https://git.altlinux.org/gears/r/rpm-build-python3.git?p=rpm-build-python3.
> git;a=blob;f=rpm-build-python3/python3;
> h=ce15648dbf518c2363cd10af9323f37faab97334;
> hb=225bd725a5efcbd1e6ec071869c02cb1c97931b3#l72)
> Так что пока в p10 rpm-build-python3 0.1.21-alt1 не будет. Но саму проблему
> с макросами мы решили как я предлагал ранее с помощью rpm-build-python3
> 0.1.19-alt2, пакеты с макросами %_python3_self_prov_path и
> %add_python3_self_prov_path теперь должны собираться в p10.
> (См. https://git.altlinux.org/tasks/316003/)

Для rpm-build-python3 0.1.21-alt1 требуется буквально то, что указано
> python3-module-pyproject-installer >= 0.4.0

надо добавить эту версию в сборочное задание.
Comment 10 Anton Zhukharev 2023-07-25 11:48:10 MSK
В p10 уже есть python3-module-pyproject-installer = 0.4.0:
https://packages.altlinux.org/en/tasks/317847/

Пытался собрать таск: https://packages.altlinux.org/en/tasks/325520/
Возникла проблема нарушения наследования веток репозиториев для sisyphus и p10.

Понадобится помощь кого-то из @maint для p10, чтобы собрать такой же таск с игнорированием нарушения наследования.

Либо возиться с бэкпортами (у меня насчёт бэкпортов есть ряд вопросов и желанием заниматься этим я вообще не горю).
Comment 11 Anton Zhukharev 2023-08-04 19:58:13 MSK
#325520 DONE #7 p10 rpm-build-python3.git=0.1.22-alt1 python3-module-packaging.git=23.0-alt1 python3-module-pyproject-installer.git=0.5.2-alt1 rpm-build-pyproject.git=0.0.4-alt1

Enjoy!

(see: https://packages.altlinux.org/en/tasks/325520/).