On 06-06-2023 09:39, Elliott Sales de Andrade wrote:
On Mon, Jun 5, 2023 at 6:45 AM Sandro <li...@penguinpee.nl> wrote:

Hi again,

I'm trying to understand why I'm getting a circular import error running
tests only in F37 [1].

It's an easy fix adding an empty __init__.py in %prep, but why are F38
and rawhide buildroots happy not having that file, while F37 complaints?


Looking at the F37 log, you can see that only a few files were copied:

   creating build/lib/palettable
   copying palettable/utils.py -> build/lib/palettable
   copying palettable/palette.py -> build/lib/palettable
   copying palettable/__init__.py -> build/lib/palettable

with no trace of something named cmocean. And then looking at F38, you see:

   /usr/lib/python3.11/site-packages/setuptools/command/build_py.py:202:
SetuptoolsDeprecationWarning:     Installing 'palettable.cmocean' as
data is deprecated, please list it in `packages`.

       ############################
       # Package would be ignored #
       ############################
       Python recognizes 'palettable.cmocean' as an importable package,
       but it is not listed in the `packages` configuration of setuptools.

       'palettable.cmocean' has been automatically added to the distribution 
only
       because it may contain data files, but this behavior is likely to change
       in future versions of setuptools (and therefore is considered 
deprecated).

       Please make sure that 'palettable.cmocean' is included as a
package by using
       the `packages` configuration field or the proper discovery methods
       (for example by using `find_namespace_packages(...)`/`find_namespace:`
       instead of `find_packages(...)`/`find:`).

       You can read more about "package discovery" and "data files" on 
setuptools
       documentation page.

So you can see that the newer versions are happily working, but only
through some bit of compatibility concerns. It may eventually break
there as well.

I'm not quite sure I follow your explanation/analysis.

Yes, there is a deprecation warning, which should be addresses by upstream. I'll let them know, possibly providing a patch.

I can also see that the build for F37 is incomplete. Indeed not all modules have been added to the wheel.

What I fail to understand is how adding test/__init__.py fixes the problem. I mean test is not even consulted during build. It resides outside the palettable namespace.

diff --git a/python-palettable.spec b/python-palettable.spec
index 3334dc8..8d124db 100644
--- a/python-palettable.spec
+++ b/python-palettable.spec
@@ -32,6 +32,7 @@ BuildRequires:  git-core

 %prep
 %autosetup -p1 -n %{pypi_name}-%{version} -S git
+touch test/__init__.py

 %generate_buildrequires
 %pyproject_buildrequires

This is the only change I made to the spec file. And all of a sudden it works [2]? I didn't make any changes to pyproject.toml as suggested in the deprecation warning.

Sorry, if I wasn't clear enough in my initial post.

The versions of the involved packages only differ in minor / patch
versions between F37 and F38, if at all. With python-setuptools-wheel
being the only package with a different major version.

python3-devel 3.11.3-2.fc37 3.11.3-2.fc38
python3-pytest 7.1.3-2.fc37 7.2.2-1.fc38
pyproject-rpm-macros 1.8.0-1.fc37 1.8.0-1.fc38
python-rpm-macros 3.11-5.fc37 3.11-10.fc38
python-pip-wheel 22.2.2-3.fc37 22.3.1-2.fc38
python-setuptools-wheel 62.6.0-3.fc37 65.5.1-2.fc38


[1] https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6002232/

[2] https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6010125/

-- Sandro
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to