| Summary: | rpm-build-pyproject: зависимости на %python3_ABI_dep | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Ivan A. Melnikov <iv> |
| Component: | rpm-build-pyproject | Assignee: | Stanislav Levin <slev> |
| Status: | CLOSED MOVED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | ancieg, aris, sbolshakov, slev |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Ivan A. Melnikov
2025-07-24 15:54:35 MSK
Наткнулся сегодня, разбираясь, почему с python 3.13 не собирается boost -- оказалось, что тот очевидный факт, что numpy необходимо пересобирать с каждым новым питном, теперь не отражён в зависимостях python3-module-numpy. Помимо numpy нагреплись ещё python3-module-pymunk и python3-module-silx как пакеты с so-файлами и без зависимости на %python3_ABI_dep. (In reply to Ivan A. Melnikov from comment #0) > Бинарные модули питона должны получать зависимость на %python3_ABI_dep, > например такую: > > $ rpm -qR python3-module-wx | grep -e -ABI > python3.12-ABI(64bit) > > Однако при переходе на генерацию requirements исключительно средcтвами > rpm-build-pyproject (AutoReq: yes, nopython3) эта зависимость не возникает. > В результате пакет может быть поставлен в среду с другим питоном, однако > работать в ней не будет. В экосистеме питона невозможно указать непитон-зависимости (системные библиотеки, бинари и прочее), если они не забандлены в соответствующие питон-проекты. Поэтому такой поддержки в rpm-build-pyproject нет. В случае с архитектурно-зависимым проектом совместимость конкретного дистрибутива (wheel) с платформой задается через *имя артефакта сборки*(https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/). Такой фичи у rpm-build-pyproject нет. > > rpm-build-pyproject позиционируется как более полный способ проставлять > requirements, однако в данном случае наблюдается явная регрессия по > сравнению с python3.req. rpm-build-pyproject - это способ указать зависимости питон проектов в виде, который предусмотрен экосистемой питона и не в каждом случае удастся обойтись без python3.req. rpm-build-pyproject-0.1.0-alt1 -> sisyphus: Mon Aug 04 2025 Stanislav Levin <slev@altlinux> 0.1.0-alt1 - Added support for alt-specific dependency on Python ABI (closes: #55340). А из чего собственно следует, что (все, глядя в реализацию r-b-py*) бинарные модули питона должны получать зависимость на %python3_ABI_dep ? Цитируемый в коде stable-api https://docs.python.org/3/c-api/stable.html#stable-application-binary-interface как раз утверждает, что компилируемые с Py_LIMITED_API расширения совместимы вверх и позволяют избавиться от этой зависимости. |