<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>52903</bug_id>
          
          <creation_ts>2025-02-02 03:46:33 +0300</creation_ts>
          <short_desc>Поддержка генерации дефолтного pyproject.toml в pyproject-installer</short_desc>
          <delta_ts>2025-03-10 12:50:41 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p11</product>
          <component>rpm-macros-pyproject</component>
          <version>unspecified</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeny Sinelnikov">sin</reporter>
          <assigned_to name="Stanislav Levin">slev</assigned_to>
          <cc>amakeenk</cc>
    
    <cc>cas</cc>
    
    <cc>chernigin</cc>
    
    <cc>greh</cc>
    
    <cc>slev</cc>
          
          <qa_contact name="qa-p11@altlinux.org">qa-p11</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258445</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2025-02-02 03:46:33 +0300</bug_when>
    <thetext>В сизифе добавлена поддержка генерации 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258446</commentid>
    <comment_count>1</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2025-02-02 04:00:29 +0300</bug_when>
    <thetext>Попытка в лоб пересобрать пакеты 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 &quot;&lt;frozen runpy&gt;&quot;, line 198, in _run_module_as_main
  File &quot;&lt;frozen runpy&gt;&quot;, line 88, in _run_code
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;, line 607, in &lt;module&gt;
    main(sys.argv[1:])
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;, line 603, in main
    args.main(args, parser)
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;, line 76, in wrapped
    deps_command(action_name, args.depsconfig, **kwargs)
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/_deps_command.py&quot;, line 6, in deps_command
    return getattr(config, action)(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/deps_config.py&quot;, line 193, in sync
    synced_deps = set(
                  ^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/collectors/metadata.py&quot;, line 27, in collect
    metadata_filename = build_metadata(Path.cwd(), outdir=tmp_path)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;, line 120, in build_metadata
    build_out_tmpdir(srcdir, hook, config, verbose) as (
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File &quot;/usr/lib64/python3.12/contextlib.py&quot;, line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;, line 91, in build_out_tmpdir
    result = build(
             ^^^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;, line 49, in build
    hook_result = backend_hook(
                  ^^^^^^^^^^^^^
  File &quot;/usr/lib/python3/site-packages/pyproject_installer/lib/build_backend.py&quot;, 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 &apos;bdist_wheel&apos;
[...]

Проблема возникает из-за того, что в пакете python3-module-pyproject-installer неявно используется модуль wheel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258448</commentid>
    <comment_count>2</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2025-02-02 04:33:00 +0300</bug_when>
    <thetext>Прошу ревью для данных сборок:
#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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258485</commentid>
    <comment_count>3</comment_count>
    <who name="Stanislav Levin">slev</who>
    <bug_when>2025-02-03 12:31:16 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #1)
&gt; Попытка в лоб пересобрать пакеты rpm-build-pyproject и
&gt; python3-module-pyproject-installer под p11 к успеху не приводит:
&gt; 
&gt; $ gear-rpm -ba
&gt; [...]
&gt; + /usr/bin/python3 -m pyproject_installer deps --depsconfig
&gt; /tmp/.private/sin/gear.xJyYGNi1/out/pyproject_deps.json sync metadata
&gt; --verify
&gt; INFO     : Building metadata
&gt; INFO     : Building metadata with prepare_metadata_for_build_wheel
&gt; INFO     : Source tree: /home/sin/RPM/BUILD/alterator-entry-0.2.0
&gt; INFO     : Output dir: /tmp/.private/sin/tmp6uptnl_w
&gt; INFO     : pyproject.toml was not found, using defaults
&gt; Traceback (most recent call last):
&gt;   File &quot;&lt;frozen runpy&gt;&quot;, line 198, in _run_module_as_main
&gt;   File &quot;&lt;frozen runpy&gt;&quot;, line 88, in _run_code
&gt;   File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;,
&gt; line 607, in &lt;module&gt;
&gt;     main(sys.argv[1:])
&gt;   File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;,
&gt; line 603, in main
&gt;     args.main(args, parser)
&gt;   File &quot;/usr/lib/python3/site-packages/pyproject_installer/__main__.py&quot;,
&gt; line 76, in wrapped
&gt;     deps_command(action_name, args.depsconfig, **kwargs)
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/_deps_command.
&gt; py&quot;, line 6, in deps_command
&gt;     return getattr(config, action)(**kwargs)
&gt;            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/deps_config.py&quot;,
&gt; line 193, in sync
&gt;     synced_deps = set(
&gt;                   ^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/deps_cmd/collectors/
&gt; metadata.py&quot;, line 27, in collect
&gt;     metadata_filename = build_metadata(Path.cwd(), outdir=tmp_path)
&gt;                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;,
&gt; line 120, in build_metadata
&gt;     build_out_tmpdir(srcdir, hook, config, verbose) as (
&gt;     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
&gt;   File &quot;/usr/lib64/python3.12/contextlib.py&quot;, line 137, in __enter__
&gt;     return next(self.gen)
&gt;            ^^^^^^^^^^^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;,
&gt; line 91, in build_out_tmpdir
&gt;     result = build(
&gt;              ^^^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/build_cmd/_build.py&quot;,
&gt; line 49, in build
&gt;     hook_result = backend_hook(
&gt;                   ^^^^^^^^^^^^^
&gt;   File
&gt; &quot;/usr/lib/python3/site-packages/pyproject_installer/lib/build_backend.py&quot;,
&gt; line 279, in backend_hook
&gt;     raise RuntimeError(err_msg) from None
&gt; RuntimeError: prepare_metadata_for_build_wheel failed
&gt; 
&gt; Captured stdout:
&gt; 
&gt; [...]
&gt; 
&gt; Captured stderr:
&gt; 
&gt; error: invalid command &apos;bdist_wheel&apos;
&gt; [...]
&gt; 
&gt; Проблема возникает из-за того, что в пакете
&gt; python3-module-pyproject-installer неявно используется модуль wheel.

pyproject-installer - это сборочный frontend, setuptools - это (в данном случае) сборочный backend. setuptools &lt; 70.1.0 (p11) требуется wheel, который реализует команду bdist_wheel, setuptools &gt;= 70.1.0 (sisyphus) не требуется wheel, потому что реализация этой команды была включена в setuptools.

То есть надо обновить setuptools в p11, что в свою очередь сопряжено с
https://bugzilla.altlinux.org/50996

Планируется обновить setuptools в p11, по срокам сориентировать не могу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260721</commentid>
    <comment_count>4</comment_count>
    <who name="Stanislav Levin">slev</who>
    <bug_when>2025-03-10 12:50:29 +0300</bug_when>
    <thetext>В p11:
https://git.altlinux.org/tasks/archive/done/_361/370642/</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>