Skip to content

bug: please support python3 binary when packaging for Fedora #815

@yarda

Description

@yarda

Bug Report

NanoVNA-Saver version:

0.7.3

Current behavior:

Fedora uses python3 binary, thus the explicit calls to the python binary fails.

Expected behavior:

It doesn't explicitly call python binary, but what's the default python on the system.

Steps to reproduce:

Try to build for Fedora 43.

Related code:

We used the following dirty patch in Fedora downstream:

--- a/src/tools/setuptools_wrapper.py
+++ b/src/tools/setuptools_wrapper.py
@@ -5,7 +5,7 @@ from setuptools.build_meta import *  # Do not remove this line, it's nedded!  #
.
.
 def compile_ui() -> None:
-    protoc_call = ["python", "-m", "src.tools.ui_compile"]
+    protoc_call = ["python3", "-m", "src.tools.ui_compile"]
     subprocess.call(protoc_call)

Other information:

Traceback:

Traceback (most recent call last):
  File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 720, in main
    generate_requires(
    ~~~~~~~~~~~~~~~~~^
        include_runtime=args.runtime,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
        config_settings=parse_config_settings_args(args.config_settings),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 602, in generate_requires
    generate_build_requirements(backend, requirements)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/rpm/redhat/pyproject_buildrequires.py", line 293, in generate_build_requirements
    new_reqs = get_requires(config_settings=requirements.config_settings)
  File "/builddir/build/BUILD/nanovna-saver-0.7.3-build/nanovna-saver-0.7.3/src/tools/setuptools_wrapper.py", line 13, in get_requires_for_build_wheel
    compile_ui()
    ~~~~~~~~~~^^
  File "/builddir/build/BUILD/nanovna-saver-0.7.3-build/nanovna-saver-0.7.3/src/tools/setuptools_wrapper.py", line 9, in compile_ui
    subprocess.call(protoc_call)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/subprocess.py", line 397, in call
    with Popen(*popenargs, **kwargs) as p:
         ~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/subprocess.py", line 1038, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        pass_fds, cwd, env,
                        ^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
                        gid, gids, uid, umask,
                        ^^^^^^^^^^^^^^^^^^^^^^
                        start_new_session, process_group)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/subprocess.py", line 1974, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'python'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions