Needed to build the Hyperkitty stack
It might be hard to support one Django version for 10 years.
yikes, yes. We had Django in epel7 and tried to keep and maintain it there. That requires probably more time one would have as a volunteer.
See the existing pile of CVE bugzillas for Django in EPEL 7 and 8 https://bugzilla.redhat.com/buglist.cgi?component=python-django&list_id=12402509&product=Fedora%20EPEL&status=__open__ Building it in EPEL 9 if you are not prepared to keep it secure for a decade is a very bad idea.
How long are LTS Django's supported? There's nothing saying you MUST support something for 10 years. If it's not practical to do that, perhaps it's practical to move from LTS to LTS, limiting the change?
https://www.djangoproject.com/download/ lists supported versions, LTS versions and support timelines. From experience, having/supporting django in something like EPEL has been a challenge, since when you upgrade the django version from one LTS to the next one, there will packages become broken. Some upstream is able to keep up with upstream releases, some dont.
To be clear, if the upstream project is supporting Django LTS versions and also updates from Django LTS to Django LTS, the Django upgrade in EPEL %just% needs to be coordinated.
*** Bug 2073951 has been marked as a duplicate of this bug. ***
Do you plan to package version 3.2 LTS or wait for 4.2 LTS?
Let's do 3.2 LTS for now, since that's what mailman needs anyway
$ fedpkg request-branch epel9 https://pagure.io/releng/fedora-scm-requests/issue/47919
Current missing dependencies { "python-django3": { "build": { "python-aiosmtpd": [ "python3dist(aiosmtpd)" ], "python-argon2-cffi": [ "python3dist(argon2-cffi) >= 16.1" ], "python-pylibmc": [ "python3dist(pylibmc)" ], "python-pymemcache": [ "python3dist(pymemcache) >= 3.4" ], "python-tblib": [ "python3dist(tblib) >= 1.5" ] } }, "python-aiosmtpd": { "build": { "python-atpublic": [ "python3-atpublic" ], "python-flufl-testing": [ "python3-flufl-testing" ] } }, "python-atpublic": { "build": { "python-flufl-testing": [ "python3-flufl-testing" ] } }, "python-flufl-testing": { "build": {} }, "python-argon2-cffi": { "build": {} }, "python-pylibmc": { "build": {} }, "python-pymemcache": { "build": {} }, "python-tblib": { "build": { "python-twisted": [ "python3dist(twisted)" ] } }, "python-twisted": { "build": { "python-Automat": [ "python3dist(automat) >= 0.8" ], "python-constantly": [ "python3dist(constantly) >= 15.1" ], "python-hyperlink": [ "python3dist(hyperlink) >= 17.1.1" ], "python-incremental": [ "python3dist(incremental) >= 21.3" ] } }, "python-Automat": { "build": { "python-m2r": [ "python3dist(m2r)" ] } }, "python-m2r": { "build": { "python-mistune": [ "python3dist(mistune)" ] } }, "python-mistune": { "build": {} }, "python-constantly": { "build": { "python-twisted": [ "python3dist(twisted)" ] } }, "python-hyperlink": { "build": {} }, "python-incremental": { "build": {} } }
Update by chance?
Indeed, I just released a new python package and it requires this for epel9: DEBUG util.py:443: No matches found for the following disable plugin patterns: local, spacewalk, versionlock DEBUG util.py:443: No matching package to install: 'python3dist(django) >= 3.2.8' DEBUG util.py:443: Not all dependencies satisfied DEBUG util.py:443: Error: Some packages could not be found. An update would be awesome!
Have you tried https://src.fedoraproject.org/rpms/python-django?
(In reply to romulasry from comment #14) > Have you tried https://src.fedoraproject.org/rpms/python-django? If you check that package, it has no epel9 branch
Hello, it would be great if python3-django was made available in EPEL. I am using a software that requires it along with other modules: https://github.com/furlongm/patchman Best regards.
Looks like the list of missing dependencies is getting even longer for the Django 4.2 LTS, which we should target now instead of the old 3 { "python-django": { "build": { "python-asgiref": [ "(python3dist(asgiref) < 4~~ with python3dist(asgiref) >= 3.6)", "python3dist(asgiref) >= 3.6" ], "python-aiosmtpd": [ "python3dist(aiosmtpd)" ], "python-cx-oracle": [ "python3dist(cx-oracle) >= 7" ], "python-psycopg3": [ "python3dist(psycopg) >= 3.1.8" ], "python-pylibmc": [ "python3dist(pylibmc)" ], "python-pymemcache": [ "python3dist(pymemcache) >= 3.4" ], "python-sphinx": [ "python3dist(sphinx) >= 4.5" ], "python-sphinxcontrib-spelling": [ "python3dist(sphinxcontrib-spelling)" ], "python-tblib": [ "python3dist(tblib) >= 1.5" ] } }, "python-asgiref": { "build": {} }, "python-aiosmtpd": { "build": { "python-flufl-testing": [ "python3-flufl-testing" ] } }, "python-flufl-testing": { "build": {} }, "python-cx-oracle": { "build": {} }, "python-psycopg3": { "build": { "postgresql": [ "postgresql-test-rpm-macros" ], "python3-mypy": [ "python3dist(mypy) >= 1.2" ], "pytest": [ "python3dist(pytest) >= 6.2.5" ], "python-wheel": [ "python3dist(wheel) >= 0.37" ] } }, "postgresql": { "build": {} }, "python3-mypy": { "build": {} }, "pytest": { "build": { "python-sphinxcontrib-svg2pdfconverter": [ "(python3-sphinxcontrib-inkscapeconverter if inkscape)" ], "python-Pallets-Sphinx-Themes": [ "python3-Pallets-Sphinx-Themes" ], "python-mock": [ "python3-mock" ], "python-nose": [ "python3-nose" ], "python-pluggy": [ "python3-pluggy >= 1" ], "python-pygments-pytest": [ "python3-pygments-pytest" ], "python-sphinxcontrib-trio": [ "python3-sphinxcontrib-trio" ], "python-xmlschema": [ "python3-xmlschema" ], "python-setuptools_scm": [ "python3dist(setuptools-scm) >= 6.2.3" ], "UNKNOWN": [ "python3dist(setuptools-scm[toml]) >= 6.2.3" ] } }, "python-sphinxcontrib-svg2pdfconverter": { "build": {} }, "python-Pallets-Sphinx-Themes": { "build": {} }, "python-mock": { "build": {} }, "python-nose": { "build": {} }, "python-pluggy": { "build": {} }, "python-pygments-pytest": { "build": {} }, "python-sphinxcontrib-trio": { "build": {} }, "python-xmlschema": { "build": { "python-elementpath": [ "(python3dist(elementpath) < 4~~ with python3dist(elementpath) >= 3)" ] } }, "python-elementpath": { "build": { "python-xmlschema": [ "python3dist(xmlschema) >= 2" ] } }, "python-setuptools_scm": { "build": {} }, "python-wheel": { "build": { "python-flit-core": [ "(python3dist(flit-core) < 4~~ with python3dist(flit-core) >= 3.8)" ] } }, "python-pylibmc": { "build": {} }, "python-pymemcache": { "build": {} }, "python-sphinx": { "build": { "python-docutils": [ "(python3dist(docutils) < 0.20~~ with python3dist(docutils) >= 0.18.1)" ], "python-flit-core": [ "python3dist(flit-core) >= 3.7" ], "python-imagesize": [ "python3dist(imagesize) >= 1.3" ], "python-jinja2": [ "python3dist(jinja2) >= 3" ], "python-packaging": [ "python3dist(packaging) >= 21" ], "python-pygments": [ "python3dist(pygments) >= 2.13" ], "snowball": [ "python3dist(snowballstemmer) >= 2" ], "python-sphinxcontrib-htmlhelp": [ "python3dist(sphinxcontrib-htmlhelp) >= 2" ], "python-sphinxcontrib-serializinghtml": [ "python3dist(sphinxcontrib-serializinghtml) >= 1.1.5" ] } }, "python-docutils": { "build": {} }, "python-flit-core": { "build": {} }, "python-imagesize": { "build": {} }, "python-jinja2": { "build": { "python-Pallets-Sphinx-Themes": [ "python3-Pallets-Sphinx-Themes >= 2" ], "python-markupsafe": [ "python3dist(markupsafe) >= 2" ] } }, "python-markupsafe": { "build": {} }, "python-packaging": { "build": { "python-pretend": [ "python3-pretend" ] } }, "python-pretend": { "build": {} }, "python-pygments": { "build": { "python-wcag-contrast-ratio": [ "python3-wcag-contrast-ratio" ], "python-setuptools": [ "python3dist(setuptools) >= 61" ] } }, "python-wcag-contrast-ratio": { "build": {} }, "python-setuptools": { "build": {} }, "snowball": { "build": {} }, "python-sphinxcontrib-htmlhelp": { "build": {} }, "python-sphinxcontrib-serializinghtml": { "build": {} }, "python-sphinxcontrib-spelling": { "build": {} }, "python-tblib": { "build": {} } } Time to follow up and get the dependencies in common with django 3 actioned on first, then I'll file requests for the missing ones
requested access to aiosmtpd https://bugzilla.redhat.com/show_bug.cgi?id=2133557
I have been successfully using Django 3.2 on RHEL-9 for a month now. The only missing dependency in EPEL-9 was `python-mock`, which was trivial to rebuild in the EPEL-9 buidroot.
unittest.mock is part of the Python standard library, python-mock is not necessary.
Sounds great! So we can just remove one line from the spec file and build a supported version of Django for EPEL-9.
Right, I just noticed all the dependencies seem to be actually in now (apart from mock). I think it's worthwhile to patch out mock and then do one build of django3, then retire it next April: https://www.djangoproject.com/download/ then we can close this, and move on to the other bug to bring django 4 to EPEL 9 -- though we should probably make it a new python-django-lts package to avoid confusion.
Looks like the three missing BRs are still needed if we rebuild the rawhide spec instead of the EPEL8 spec (it uses the dynamic BR generator) - pylibmc and pymemcache are optionally needed for caching (but I take it we do want it if we deploy this in the infra) - tblib for better tracebacks, but Django would skip it if it's not present So .. let me nag those three bugs
pylibc and pymemcache now have stalled EPEL requests posted. tblib - we have access, but it needs a patch to build. Will merge it myself in a couple of days if it's stuck. https://src.fedoraproject.org/rpms/python-tblib/pull-request/2
Michel, thank you for working on it! From our perspective, it is more important to have a supported version of Django in EPEL-9 rather than having the optional dependencies available.
Hello How can I download your work for python3-django?
Kiu, it is unclear which work you are referring to. In my case, I simply rebuilt the EPEL-8 source RPM in the EPEL-9 buildroot: https://kojipkgs.fedoraproject.org//packages/python-django3/3.2.19/1.el8/src/python-django3-3.2.19-1.el8.src.rpm
FEDORA-EPEL-2023-e403913f49 has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-e403913f49
FEDORA-EPEL-2023-e403913f49 has been pushed to the Fedora EPEL 9 stable repository. If problem still persists, please make note of it in this bug report.