Created attachment 241439 [details] poudriere log for netbox-3.4.7 Poudriere log is attached, but if I interpret the log correctly netbox tries to add both the conflicting packages py39-redis-4.5.4 and py39-redis3-3.5.3: ===> netbox-3.4.7 depends on package: py39-dj41-django-redis>=5.2.0<6 - not found ===> Installing existing package /packages/All/py39-dj41-django-redis-5.2.0_1.pkg [13_2amd64-latest-pgsql-job-01] Installing py39-dj41-django-redis-5.2.0_1... [13_2amd64-latest-pgsql-job-01] `-- Installing py39-redis3-3.5.3... ... ===> netbox-3.4.7 depends on package: py39-dj41-django-rq>=2.7.0<2.8 - not found ===> Installing existing package /packages/All/py39-dj41-django-rq-2.7.0.pkg [13_2amd64-latest-pgsql-job-01] Installing py39-dj41-django-rq-2.7.0... [13_2amd64-latest-pgsql-job-01] `-- Installing py39-redis-4.5.4... [13_2amd64-latest-pgsql-job-01] | `-- Installing py39-async_timeout-4.0.2... [13_2amd64-latest-pgsql-job-01] | `-- Extracting py39-async_timeout-4.0.2: .......... done pkg-static: py39-redis-4.5.4 conflicts with py39-redis3-3.5.3 (installs files into the same place). Problematic file: /usr/local/lib/python3.9/site-packages/redis/__init__.py Failed to install the following 1 package(s): /packages/All/py39-dj41-django-rq-2.7.0.pkg *** Error code 1
Created attachment 241444 [details] py-dj41-django-rq-fix-conflicting-install-with-netbox-v1.patch (In reply to Fredrik Eriksson from comment #0) Hi Fredrik, thank you for your report! Your assumption is right: The conflict between py39-redis and py39-redis3 is caused by the py39-dj41-django-rq package. With ports 957fc72127d3 the www/py-dj41-django-redis port, which is also used by NetBox, was changed to use databases/py-redis3 instead of databases/py-redis. The same needs to be done for devel/py-dj41-django-rq to remedy issue you reported, please see the attached patch.
@sunpoet: Can you please have a look at attached patch and commit it? Or just give me short feedback and I'll commit it as soon as possible. Thanks in advance!
Created attachment 241453 [details] fix-install-conflicts-for-netbox-v2.patch The previous patch was incomplete, as devel/py-rq and its remaining consumers also need to be switched to databases/py-redis3 to get a successful build of net-mgmt/netbox and avoid conflicting installations. @skreuzer: Are you OK with the switch from databases/py-redis to databases/py-redis3 for devel/py-rq you maintain? @sunpoet: Are you OK with switching following ports you maintain from databases/py-redis to databases/py-redis3? - devel/py-dj40-django-rq? - devel/py-dj41-django-rq? - devel/py-django-rq? - dns/py-dns-crawler
(In reply to Kai Knoblich from comment #3) Correct me if I'm wrong. 1. net-mgmt/netbox does not support redis 4 yet. That's why you added www/py-dj41-django-redis with "<4" constraint. Therefore we have to stay on databases/py-redis3, right? 2. Since net-mgmt/netbox is using Django 4.1, it should be sufficient to change only devel/py-dj41-django-rq from databases/py-redis to databases/py-redis3. Django 3.2 and 4.0 ports should be unaffected. 3. Since net-mgmt/netbox does not use www/py-dj40-django-redis anymore, I should relax the version constraint (rmeove <4) and change it back to databases/py-redis.
(In reply to Kai Knoblich from comment #3) (In reply to Po-Chuan Hsieh from comment #4) Forgot to say that I'm OK with devel/py-dj41-django-rq change.
(In reply to Po-Chuan Hsieh from comment #4) That's correct so far, and the version constraint "<4" was added to py-dj41-django-redis just as a precaution to avoid problems/regressions when databases/py-redis is upgraded to the next major version (which happened as of April 10th). Some more background here about the decision: When I committed www/py-dj41-django-redis into the ports tree on February 22, py-redis was still at version 3.5.3 and there's still an open bug (#595) at upstream of py-django-redis in relation to py-redis >= 4. Long story short: This is of course also a possibility to remove the version constraints from www/py-dj41-django-redis and switch back from py-redis3 to py-redis. I'll have to do a few tests and if everything fits, make the appropriate changes.
Created attachment 241456 [details] py-dj41-django-redis-relax-contraints-and-switch-to-py-redis-v3.patch At first glance it looks promising (= build/install/quick runtime test) to patch only www/py-dj41-django-redis (= relax contraints, switch back to py-redis), but I still need a little more time to do detailed tests. Attached is the current patch, in case someone wants to take a look and test it in the meantime.
FWIW, I'm using netbox with py39-redis-4.5.4 for couple of days now, without any obvious problems.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=74c4df128bbd7480d8c0cf76931bc3c23f366f6c commit 74c4df128bbd7480d8c0cf76931bc3c23f366f6c Author: Kai Knoblich <kai@FreeBSD.org> AuthorDate: 2023-04-14 08:00:01 +0000 Commit: Kai Knoblich <kai@FreeBSD.org> CommitDate: 2023-04-14 08:00:01 +0000 www/py-dj41-django-redis: Change RUN_DEPENDS back to py-redis The previous commit 957fc72127d3 changed the RUN_DEPENDS from py-redis to py-redis3, which was derived from the set version constraint (= <4). The constraint was added as a precautionary measure when this port was introduced to the ports tree due an currently open issue in conjunction with py-redis >= 4 (issue #595) and therefore to avoid possible problems/regressions in regard to net-mgmt/netbox. The last change to this port has now led to installation conflicts with net-mgmt/netbox because it requires this port as well as devel/py-dj41-django-rq. The latter one, pulls in databases/py-redis, which in the end led to the reported problem. [1] Fix the issue by switching back to py-redis and also removing the version constraint. PR: 270792 Reported by: Fredrik Eriksson [1] Approved by: sunpoet (maintainer) www/py-dj41-django-redis/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
(In reply to Juraj Lutter from comment #8) Unfortunately, I read your info a few minutes after the commit, but many thanks for your input! I was also able to verify this through several tests, so I have now committed the patch. (In reply to Po-Chuan Hsieh from comment #5) Thanks for your swift feedback. (In reply to Fredrik Eriksson from comment #0) Thanks for the report and the heads-up regarding this issue. The problem should now be solved, so I will close this bug report.