Bug 2033064 - Branch python-django3 for epel9
Summary: Branch python-django3 for epel9
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: python-django3
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michel Lind
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2073951 (view as bug list)
Depends On: 2030917 2030921 2030928 2063711 2063713 2063715 2089340 2131637 2133557 2133558 2133559 2133560 2133561
Blocks: MailmanTracker 2052575 2053656 2173774 2174155
TreeView+ depends on / blocked
 
Reported: 2021-12-15 19:40 UTC by Michel Lind
Modified: 2023-07-20 00:36 UTC (History)
17 users (show)

Fixed In Version: python-django3-3.2.20-3.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-07-20 00:36:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michel Lind 2021-12-15 19:40:32 UTC
Needed to build the Hyperkitty stack

Comment 1 Miro Hrončok 2021-12-15 20:03:21 UTC
It might be hard to support one Django version for 10 years.

Comment 2 Matthias Runge 2021-12-17 14:08:11 UTC
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.

Comment 3 Miro Hrončok 2022-01-29 22:52:52 UTC
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.

Comment 4 Kevin Fenzi 2022-03-24 19:15:11 UTC
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?

Comment 5 Matthias Runge 2022-03-25 09:41:21 UTC
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.

Comment 6 Matthias Runge 2022-04-06 07:54:44 UTC
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.

Comment 7 Miro Hrončok 2022-04-11 13:41:20 UTC
*** Bug 2073951 has been marked as a duplicate of this bug. ***

Comment 8 Lumír Balhar 2022-09-21 08:35:42 UTC
Do you plan to package version 3.2 LTS or wait for 4.2 LTS?

Comment 9 Michel Lind 2022-10-04 21:35:18 UTC
Let's do 3.2 LTS for now, since that's what mailman needs anyway

Comment 10 Michel Lind 2022-10-04 21:37:55 UTC
$ fedpkg request-branch epel9
https://pagure.io/releng/fedora-scm-requests/issue/47919

Comment 11 Michel Lind 2022-10-10 21:34:03 UTC
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": {}
  }
}

Comment 12 romulasry 2023-01-25 01:40:43 UTC
Update by chance?

Comment 13 Steve Cossette 2023-02-05 22:17:47 UTC
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!

Comment 14 romulasry 2023-02-22 06:34:29 UTC
Have you tried https://src.fedoraproject.org/rpms/python-django?

Comment 15 Steve Cossette 2023-02-22 11:37:52 UTC
(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

Comment 16 Kiu 2023-03-28 08:42:49 UTC
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.

Comment 17 Michel Lind 2023-07-11 21:40:01 UTC
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

Comment 18 Michel Lind 2023-07-11 21:51:47 UTC
requested access to aiosmtpd https://bugzilla.redhat.com/show_bug.cgi?id=2133557

Comment 19 Kamil Dudka 2023-07-12 06:59:14 UTC
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.

Comment 20 Miro Hrončok 2023-07-12 07:53:49 UTC
unittest.mock is part of the Python standard library, python-mock is not necessary.

Comment 21 Kamil Dudka 2023-07-12 12:24:52 UTC
Sounds great!  So we can just remove one line from the spec file and build a supported version of Django for EPEL-9.

Comment 22 Michel Lind 2023-07-12 18:49:40 UTC
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.

Comment 23 Michel Lind 2023-07-12 19:43:36 UTC
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

Comment 24 Michel Lind 2023-07-12 20:18:06 UTC
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

Comment 25 Kamil Dudka 2023-07-13 07:08:17 UTC
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.

Comment 26 Kiu 2023-07-13 14:27:59 UTC
Hello
How can I download your work for python3-django?

Comment 27 Kamil Dudka 2023-07-13 15:35:13 UTC
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

Comment 28 Fedora Update System 2023-07-19 18:46:55 UTC
FEDORA-EPEL-2023-e403913f49 has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-e403913f49

Comment 29 Fedora Update System 2023-07-20 00:36:14 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.