[devel] Q: PEP-503/566 normalized names for python?
Igor Vlasenko
vlasenko на imath.kiev.ua
Вт Сен 22 22:28:28 MSK 2020
On Tue, Sep 22, 2020 at 09:52:53PM +0300, Igor Vlasenko wrote:
> Как понимаю, эти две системы зависимостей не мешают друг другу.
> Кроме того, pythonXdist зависимости удобнее для BuildRequires:
> а наши автоматичесике зависимости удобнее, чтобы отслеживать
> косяки за апстримом.
> Хорошо иметь и то, и другое.
Это две системы зависимостей - по каноническому имени проекта
(можно получить из setup.py)
и по именам используемых модулей
(можно получить анализом директив include)
Проводя аналогию с perl.
Есть пакет CPAN с каноническим именем libwww-perl.
Зависимость на него можно выписать как
BuildRequires: perl5dist(libwww-perl) (по имени) или
BuildRequires: perl(LWP.pm) (по модулю).
Для perl не нужно особого Provides, вида perl5dist(CPAN name)
потому что все 30.000 пакетов perl называются perl-<CPAN name>,
за исключением 24-х исторически сложившихся исключений.
Поэтому в 99.99% случаев можно вместо perl5dist(CPAN name) писать просто
perl-{CPAN name}.
С python хуже. Можно глазами прочитать setup.py,
но просто написать BuildRequires: python3-module-<normalized name>
не выйдет в большинстве случаев.
Нужно руками сопоставлять <normalized name> и <rpm name>.
Наличие python3dist provides позволило бы
1) облегчить жизнь при создании нового пакета
2) использовать инструменты автогенерации BR: по setup.py.
3) доп. уровень совместимости со сторонними пакетами.
--
I V
Подробная информация о списке рассылки Devel