Bug 49289

Summary: python3-module-setuptools требуется разными пакетами
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: python3-module-setuptoolsAssignee: Vitaly Lipatov <lav>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, cas, cow, evg, george, grenka, imz, kotopesutility, lav, nbr, qa_viy, rider, sem, shaba, sin, slev, toni, vitty, viy
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Vitaly Lipatov 2024-02-04 00:38:16 MSK
setuptools требуется разными пакетами, многие из которых с виду не должны быть связаны с setuptools.
 # rpm -ev python3-module-setuptools
error: Failed dependencies:
	python3(setuptools) < 0 is needed by (installed) python3-module-libsass-0.22.0-alt1.x86_64
	python3(setuptools) < 0 is needed by (installed) lirc-config-0.10.1-alt6.1.x86_64
	python3(setuptools) < 0 is needed by (installed) python3-module-behave-1.2.6-alt7.noarch
	python3(setuptools) < 0 is needed by (installed) python3-module-metaextract-1.0.9-alt3.noarch
	python3(setuptools) < 0 is needed by (installed) breezy-3.2.2-alt1.2.x86_64
	python3(setuptools) < 0 is needed by (installed) python3-module-include_server-3.4-alt10.x86_64
	python3(setuptools) < 0 is needed by (installed) python3-module-isort-5.12.0-alt1.1.noarch
	python3(setuptools._distutils) is needed by (installed) python3-module-Cython-3.0.7-alt1.x86_64
	python3(setuptools._distutils) < 0 is needed by (installed) breezy-3.2.2-alt1.2.x86_64
	python3(setuptools._distutils) is needed by (installed) python3-module-pygobject-2.28.6-alt15.x86_64
	python3(setuptools._distutils) is needed by (installed) glib2-devel-2.78.4-alt1.x86_64
	python3(setuptools._distutils.dep_util) < 0 is needed by (installed) breezy-3.2.2-alt1.2.x86_64
	python3(setuptools.command.build_ext) < 0 is needed by (installed) python3-module-scikit-learn-1.3.0-alt3.x86_64
	python3(setuptools.command.sdist) < 0 is needed by (installed) python3-module-libsass-0.22.0-alt1.x86_64
	python3(setuptools.command.test) < 0 is needed by (installed) python3-module-zope.testrunner-6.2.1-alt1.x86_64
	python3-module-setuptools is needed by (installed) python3-module-daemon-3.0.1-alt1.noarch
Comment 1 Grigory Ustinov 2024-02-04 00:46:10 MSK
Ну вот добрая половина - это последствия грязного хака по избавлению от distutils.
Comment 2 Vitaly Lipatov 2024-02-04 00:57:30 MSK
Я правильно понимаю, что в некоторых случаях разработчики, не подумав, использовали функции из distutils или setuptools, что вызывает на них нежелательную зависимость, поэтому что эти модули являются зависимостью, необходимую для сборки, а не для работы.
Comment 3 Grigory Ustinov 2024-02-04 01:32:07 MSK
Виталий, в вышеуказанных модулях, distutils использовался в рантайме. Поскольку этот модуль перестал быть частью питона, пришлось воспользоваться его копией в пакете setuptools. Там где distutils нужен именно для сборки, мы указываем только сборочную зависимость. Иными словами, я бы не назвал это ошибкой, а планом по улучшению пакетной базы. По возможности от distutils надо отказываться.

Всё, где апстрим это сделал сам, мы приложили патчи, в остальных пакетах, где была возможность самим исправить, следуя советам https://peps.python.org/pep-0632/#migration-advice - мы пропатчили. Остались несколько пакетов, в которых избавиться от этой библиотеки не так просто.
Comment 4 Vitaly Lipatov 2024-03-02 23:04:15 MSK
Забыл написать главную неприятность:
У python3-module-setuptools зависимость на python3-dev.