Package: python3-numpy
Depends:
  python3 (<< 3.9),
  python3 (>= 3.7~),
  python3.7:any,
  python3.8:any,
  python3:any,
  libblas3 | libblas.so.3,
  libc6 (>= 2.29),
  liblapack3 | liblapack.so.3,
  python3-pkg-resources

How can it possibly not be a bug that a single package depends on two
different versions of the Python interpreter? How long can this
situation persist until it qualifies as a bug? When the python3.7
package is no longer present in the standard repository, will it be a
bug then?

Either the package would work with any version of Python3 (as suggested
by "python3:any") or it actually does require a specific version (as
suggested by "python3 (>= 3.7~)" and "python3 (<< 3.9)"). It cannot
possibly be dependent on two specific versions simultaneously.

If this nonsensical dependency list was generated by some automated
tool, then that tool is broken, and ought to be fixed. Forward the bug
to that package, if appropriate, but this is clearly a bug in something,
and should be fixed immediately. It is not acceptable that two different
versions of Python3 must be simultaneously installed.

> this is likely an artifact of shipping f2py3.7 and f2py3.8 with a
> shebang referring directly to a versioned interpreter. that's always
> been the case with multiple interpreters.

-- then don't do that. Specify the interpreter as "/usr/bin/python3",
and leave it at that. There obviously aren't any differences between
them that would actually require different versions of the interpreter:

    $ diff /usr/bin/f2py3.{7,8}
    1,2c1,2
    < #!/usr/bin/python3.7
    < # EASY-INSTALL-ENTRY-SCRIPT: 'numpy==1.17.4','console_scripts','f2py3.7'
    ---
    > #!/usr/bin/python3.8
    > # EASY-INSTALL-ENTRY-SCRIPT: 'numpy==1.17.4','console_scripts','f2py3.8'
    11c11
    <         load_entry_point('numpy==1.17.4', 'console_scripts', 'f2py3.7')()
    ---
    >         load_entry_point('numpy==1.17.4', 'console_scripts', 'f2py3.8')()

If it's a question of the interpreter itself behaving differently
depending on the specific version, then have the f2py script check the
version and complain if the one it wants is not present.

Reply via email to