Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: pin python-daemon<3.0.0 to avoid build errors #1383

Open
wants to merge 1 commit into
base: devel
Choose a base branch
from

Conversation

infinitewarp
Copy link

@infinitewarp infinitewarp commented Jul 26, 2024

Builds of projects that require ansible-runner and thereby also require python-daemon>=3.0.0 in environments with modern versions of setuptools are failing with this error:

ModuleNotFoundError: No module named 'setuptools.extern'

The problematic extern import in python-daemon was introduced in its 3.0.0 release and has since been fixed in that project's main branch, but there is not yet any release including that fix. Simply pinning an older version appears to resolve this build issue and does not appear to introduce any regressions.

After python-daemon releases a new version, assuming they do, then we probably should change this from <3.0.0 to >3.0.1.

See also:

@infinitewarp infinitewarp requested a review from a team as a code owner July 26, 2024 17:44
@github-actions github-actions bot added the needs_triage New item that needs to be triaged label Jul 26, 2024
@infinitewarp infinitewarp changed the title fix: pin poetry-daemon<3.0.0 to avoid build errors fix: pin python-daemon<3.0.0 to avoid build errors Jul 26, 2024
Builds of projects that require `ansible-runner` and thereby also
require `python-daemon>=3.0.0` in environments with modern versions
of `setuptools` are failing with this error:

```
ModuleNotFoundError: No module named 'setuptools.extern'
```

The problematic `extern` import in `python-daemon` was introduced in
its `3.0.0` release and has since been fixed in that project's `main`
branch, but there is not yet any release including that fix. Simply
pinning an older version appears to resolve this build issue and does
not appear to introduce any regressions.

After `python-daemon` releases a new version, assuming they do, then
we probably should change this from `<3.0.0` to `>3.0.1`.

See also:

* https://pagure.io/python-daemon/issue/92
* quipucords/quipucords#2714
@infinitewarp
Copy link
Author

Note: the maintainer of python-daemon released a new version 3.0.2 in response to the aforementioned issue, but then they quickly yanked it because it introduced new worse issues with setuptools. I'll keep an eye on the python-daemon releases and update this PR with a working version if if becomes available soon.

@Shrews
Copy link
Contributor

Shrews commented Aug 1, 2024

It looks like you've pinned the version outside of runner in the quipucords repo, which is the proper fix to get you past this, IMO. I can see where we'd need to avoid the broken version of python-daemon here in runner, but I'd rather wait until a good fix has been released by that package so we can pin this once and not have to remember to modify it later.

We should also have a discussion internally about moving the pin on setuptools in this repo to a more recent version.

@Shrews
Copy link
Contributor

Shrews commented Aug 1, 2024

Looks to me like python-daemon version 3.0.1 is working as expected (PR #1385 in the Python 3.12 and 3.13 tests where setuptools==72.1.0 and python-daemon==3.0.1 are used). Both 3.0.0 and 3.0.2 have been yanked. Perhaps this pin is unnecessary at this point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs_triage New item that needs to be triaged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants