Page MenuHomeFreeBSD

net-mgmt/netbox: Create some Django 2.1 packages as preparation for the upgrade to 2.5.x
ClosedPublic

Authored by kai on Sat, Feb 2, 1:08 AM.

Details

Summary

Upstream of net-mgmt/netbox has changed the required Django version from 1.11 to 2.1 with the release of NetBox 2.5.0, thus some ports need to be repo-copied and assigned to Django 2.1 to make the update possible:

  • www/py-django-cors-headers -> www/py-dj21-django-cors-headers
  • www/py-django-debug-toolbar -> www/py-dj21-django-debug-toolbar
  • www/py-django-filter -> www/py-dj21-django-filter
  • www/py-django-js-asset -> www/py-dj21-django-js-asset
  • www/py-django-mptt -> www/py-dj21-django-mptt
  • www/py-django-tables2 -> www/py-dj21-django-tables2
  • www/py-django-taggit -> www/py-dj21-django-taggit
  • www/py-django-timezone-field -> www/py-dj21-django-timezone-field
  • www/py-djangorestframework -> www/py-dj21-djangorestframework
  • www/py-drf-yasg -> www/py-dj21-drf-yasg

Because Django v2.1 requires Python 3.5+ I also changed "USES=python" to "USES=python:3.5+" to reduce some overhead during the build process.

Test Plan
  • Builds fine with poudriere for 11.2-RELEASE amd64
  • Portlint on the new ports -> OK

Questions from my point of view:

  • Is the currently used naming scheme (py-dj21-django-PORTNAME) ok? It could be that in future there might be a few more ports that need to be assigned to Django 1.11 (Long-term support until April 2020) and a newer version of Django.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kai created this revision.Sat, Feb 2, 1:08 AM

Is there a need for multiple django versions? That is, would it not be possible to simply upgrade to 2.1 and call it a day?

kai added a comment.Sun, Feb 3, 1:49 PM

Is there a need for multiple django versions? That is, would it not be possible to simply upgrade to 2.1 and call it a day?

It would be possible to assign the current ports to Django 2.1, indeed. But going this way there would be the need to assign other ports also to Django 2.1.

For example if www/py-django-mptt would be simply assigned from Django 1.11 to 2.1 there would also be the need to assign www/py-django-filer (not listed in this diff, btw) , which depends on www/py-django-mptt, from Django 1.11 to 2.1 .

Django 1.11 is at the moment the "inofficial" standard (mainly due its long term support) in the ports tree even there's yet no entry in bsd.default-versions.mk, though.

Most of the Django related ports are currently assigned to www/py-django111 but there's also a meta-port www/py-django where 1.11 is the default option at the moment.

I have also pondered about the option to remove/comment out www/py-django111 from the RUN_DEPENDS of the affected ports in this review as a temporary solution.

miwi added a comment.Fri, Feb 8, 9:42 AM

Since that django111 is supported till 2020, i am fine with that move. If no other objection i'll approve that move by Sunday night.

miwi accepted this revision.Mon, Feb 11, 3:35 AM

Lets do it.

This revision is now accepted and ready to land.Mon, Feb 11, 3:35 AM
This revision was automatically updated to reflect the committed changes.

I think it's a good point to open a PR for swills, and include a "CONFLICTS_INSTALL =" in his ports as well

kai added a comment.Mon, Feb 11, 1:04 PM

I think it's a good point to open a PR for swills, and include a "CONFLICTS_INSTALL =" in his ports as well

Oops, did I miss something? As far I can see there was only one port (= www/py-django-cors-headers) in the changeset which swills@ is maintainer of and that port has now a CONFLICTS_INSTALL?