[devel] selecting the default Cython to use: none (for bootstrap) or real
Ivan Zakharyaschev
imz на altlinux.org
Пн Мар 26 16:18:10 MSK 2018
Hello!
Пакеты, использующую Cython для сборки, обычно работают и не
скомпилированные им (непотимально, интерпретируются питоном).
Мы когда-то этим пользовались с Денисом nbr@ для пересборки с очередной
версией python3 (3.5): убрали Cython из BuildRequires, добавили пакет в
задание по пересборке и смогли всё собрать в работоспособном виде, без
циклов по сборочным зависимостям. Потом надо не забыть в эти пакеты
вернуть Cython и пересобрать.
Можно упростить это ради бутстрапов новых платформ и пересборок с новыми
версиями python3. Чтобы не надо быоо spec-файлы редактировать.
Представить себе это как выбор одного из вариантов Cython: ничего или
настоящий.
Дальше размышления о реализации:
Один вариант: сделать пакет dummy-python3-module-Cython, который Provides:
python3-module-Cython
Тогда, возможно, hasher+apt вытянет dummy-python3-module-Cython, если
настоящий python3-module-Cython не может быть установлен из-за
неудовлетворённой зависимости на python3.X-ABI. Надо проверить
экспериментально.
А на новых платформах будет пока просто только
dummy-python3-module-Cython.
Но это идёт вразрез с желанием отказаться от альтернативных
удовлетворителей BuildRequires -- чтобы не apt выбирал, а было всё
детерминированно. Так было сделано для gcc в Sisyphus.
Другой вариант: python3-module-Cython -- пустой пакет, который имеет
только Requires: python3-module-CythonVERSION . На время пересборки с
новым python3 и для новых платформ собирается его релиз без Requires,
потом возвращается (в следующем таске или когда будет реализован).
В BuildRequires уже написано python3-module-Cython у пакетов и это мы
редактировать не хотим.
Для реализации второго плана нужно содействие от мейнтейнера
python-module-Cython (а первый план -- больше беспорядка вносит) в
переименовании пакета по крайней мере. aris@ и другие заинтересованные,
что думаете?
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel