В сизифе добавлена поддержка генерации pyproject.toml, что позволяет сократить ресурсы необходимые для сопровождения питоновских пакетов: $ rpm -qa|grep pyproject rpm-build-pyproject-0.0.9-alt1.noarch rpm-macros-pyproject-0.0.9-alt1.noarch python3-module-pyproject-installer-0.5.5-alt1.noarch $ gear-rpm -ba [...] + /usr/bin/python3 -m pyproject_installer deps --depsconfig /tmp/.private/sin/gear.TTTFVaX9/out/pyproject_deps.json sync metadata --verify INFO : Building metadata INFO : Building metadata with prepare_metadata_for_build_wheel INFO : Source tree: /home/sin/RPM/BUILD/alterator-entry-0.2.0 INFO : Output dir: /tmp/.private/sin/tmpvnupok9_ INFO : pyproject.toml was not found, using defaults [...] Хотелось бы получить аналогичный функционал в p11.
Попытка в лоб пересобрать пакеты rpm-build-pyproject и python3-module-pyproject-installer под p11 к успеху не приводит: $ gear-rpm -ba [...] + /usr/bin/python3 -m pyproject_installer deps --depsconfig /tmp/.private/sin/gear.xJyYGNi1/out/pyproject_deps.json sync metadata --verify INFO : Building metadata INFO : Building metadata with prepare_metadata_for_build_wheel INFO : Source tree: /home/sin/RPM/BUILD/alterator-entry-0.2.0 INFO : Output dir: /tmp/.private/sin/tmp6uptnl_w INFO : pyproject.toml was not found, using defaults Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", line 607, in <module> main(sys.argv[1:]) File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", line 603, in main args.main(args, parser) File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", line 76, in wrapped deps_command(action_name, args.depsconfig, **kwargs) File "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/_deps_command.py", line 6, in deps_command return getattr(config, action)(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/deps_config.py", line 193, in sync synced_deps = set( ^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/collectors/metadata.py", line 27, in collect metadata_filename = build_metadata(Path.cwd(), outdir=tmp_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", line 120, in build_metadata build_out_tmpdir(srcdir, hook, config, verbose) as ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/contextlib.py", line 137, in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", line 91, in build_out_tmpdir result = build( ^^^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", line 49, in build hook_result = backend_hook( ^^^^^^^^^^^^^ File "/usr/lib/python3/site-packages/pyproject_installer/lib/build_backend.py", line 279, in backend_hook raise RuntimeError(err_msg) from None RuntimeError: prepare_metadata_for_build_wheel failed Captured stdout: [...] Captured stderr: error: invalid command 'bdist_wheel' [...] Проблема возникает из-за того, что в пакете python3-module-pyproject-installer неявно используется модуль wheel.
Прошу ревью для данных сборок: #372946 BUILDING #1 [locked] [test-only] p11 python3-module-pyproject-installer.git=0.5.5-alt3 rpm-build-pyproject.git=0.0.9-alt1 #372945 AWAITING #1 [test-only] sisyphus python3-module-pyproject-installer.git=0.5.5-alt3
(In reply to Evgeny Sinelnikov from comment #1) > Попытка в лоб пересобрать пакеты rpm-build-pyproject и > python3-module-pyproject-installer под p11 к успеху не приводит: > > $ gear-rpm -ba > [...] > + /usr/bin/python3 -m pyproject_installer deps --depsconfig > /tmp/.private/sin/gear.xJyYGNi1/out/pyproject_deps.json sync metadata > --verify > INFO : Building metadata > INFO : Building metadata with prepare_metadata_for_build_wheel > INFO : Source tree: /home/sin/RPM/BUILD/alterator-entry-0.2.0 > INFO : Output dir: /tmp/.private/sin/tmp6uptnl_w > INFO : pyproject.toml was not found, using defaults > Traceback (most recent call last): > File "<frozen runpy>", line 198, in _run_module_as_main > File "<frozen runpy>", line 88, in _run_code > File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", > line 607, in <module> > main(sys.argv[1:]) > File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", > line 603, in main > args.main(args, parser) > File "/usr/lib/python3/site-packages/pyproject_installer/__main__.py", > line 76, in wrapped > deps_command(action_name, args.depsconfig, **kwargs) > File > "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/_deps_command. > py", line 6, in deps_command > return getattr(config, action)(**kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/deps_config.py", > line 193, in sync > synced_deps = set( > ^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/collectors/ > metadata.py", line 27, in collect > metadata_filename = build_metadata(Path.cwd(), outdir=tmp_path) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", > line 120, in build_metadata > build_out_tmpdir(srcdir, hook, config, verbose) as ( > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib64/python3.12/contextlib.py", line 137, in __enter__ > return next(self.gen) > ^^^^^^^^^^^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", > line 91, in build_out_tmpdir > result = build( > ^^^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py", > line 49, in build > hook_result = backend_hook( > ^^^^^^^^^^^^^ > File > "/usr/lib/python3/site-packages/pyproject_installer/lib/build_backend.py", > line 279, in backend_hook > raise RuntimeError(err_msg) from None > RuntimeError: prepare_metadata_for_build_wheel failed > > Captured stdout: > > [...] > > Captured stderr: > > error: invalid command 'bdist_wheel' > [...] > > Проблема возникает из-за того, что в пакете > python3-module-pyproject-installer неявно используется модуль wheel. pyproject-installer - это сборочный frontend, setuptools - это (в данном случае) сборочный backend. setuptools < 70.1.0 (p11) требуется wheel, который реализует команду bdist_wheel, setuptools >= 70.1.0 (sisyphus) не требуется wheel, потому что реализация этой команды была включена в setuptools. То есть надо обновить setuptools в p11, что в свою очередь сопряжено с https://bugzilla.altlinux.org/50996 Планируется обновить setuptools в p11, по срокам сориентировать не могу.