forked from Lainports/freebsd-ports
net-mgmt/netbox: Update to 2.9.8
* Limit the version ranges of the required Python packages and use very narrow ranges for those ones, which often cause regressions. That is because upstream already uses fixed Python package dependencies for a while and had relaxed them for a short period of time. However, because it led to regressions when some Python packages were updated during that time, upstream has been using fixed package dependencies again since then. Changelog since 2.7.12: It contains many bugfixes/enhancements and the following new features: * Object-Based Permissions * Background Execution of Scripts & Reports * Named Virtual Chassis * Changes to Tag Creation * Dedicated Model for VM Interfaces * REST API Endpoints for Users and Groups * Remote Authentication Support * Plugins https://github.com/netbox-community/netbox/blob/v2.8.9/docs/release-notes/version-2.9.md https://github.com/netbox-community/netbox/blob/v2.8.9/docs/release-notes/version-2.8.md
This commit is contained in:
parent
07dd16f220
commit
dbb65ebd01
5 changed files with 971 additions and 775 deletions
23
UPDATING
23
UPDATING
|
|
@ -5,6 +5,29 @@ they are unavoidable.
|
|||
You should get into the habit of checking this file for changes each time
|
||||
you update your ports collection, before attempting any port upgrades.
|
||||
|
||||
20201110:
|
||||
AFFECTS: users of net-mgmt/netbox
|
||||
AUTHOR: kai@FreeBSD.org
|
||||
|
||||
Changes related to the NetBox configuration:
|
||||
|
||||
1. If in use, LDAP authentication must be enabled by setting
|
||||
REMOTE_AUTH_BACKEND to 'netbox.authentication.LDAPBackend'. (The LDAP
|
||||
configuration parameters in ldap_config.py remain unchanged.)
|
||||
|
||||
2. REMOTE_AUTH_DEFAULT_PERMISSIONS now takes a dictionary rather than a
|
||||
list. This is a mapping of permission names to a dictionary of
|
||||
constraining attributes, or None.
|
||||
|
||||
For example, ['dcim.add_site', 'dcim.change_site'] would become
|
||||
{'dcim.add_site': None, 'dcim.change_site': None}.
|
||||
|
||||
3. Support for the DEFAULT_TIMEOUT parameter under REDIS database
|
||||
configuration was removed. Set RQ_DEFAULT_TIMEOUT as a global
|
||||
configuration parameter instead.
|
||||
|
||||
Please also check the pkg-message and the changelogs for further info.
|
||||
|
||||
20201106:
|
||||
AFFECTS: users of www/samdruckerserver
|
||||
AUTHOR: dvl@FreeBSD.org
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
PORTNAME= netbox
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 2.7.12
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 2.9.8
|
||||
CATEGORIES= net-mgmt
|
||||
|
||||
MAINTAINER= kai@FreeBSD.org
|
||||
|
|
@ -12,34 +11,45 @@ COMMENT= IP address management tool
|
|||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
|
||||
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django22>=2.2<2.3:www/py-django22@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-cacheops>=4.2:www/py-django-cacheops@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-cors-headers>=3.2.1:www/py-django-cors-headers@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-debug-toolbar>=2.1:www/py-django-debug-toolbar@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-filter>=2.2.0:www/py-django-filter@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-mptt>=0.9.1:www/py-django-mptt@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-prometheus>=1.1.0:www/py-django-prometheus@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-rq>=2.2.0:devel/py-django-rq@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-tables2>=2.2.1:www/py-django-tables2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-taggit>=1.2.0:www/py-django-taggit@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-taggit-serializer>=0.1.7:www/py-django-taggit-serializer@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-timezone-field>=4.0:www/py-django-timezone-field@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}djangorestframework>=3.10.3:www/py-djangorestframework@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}drf-yasg>=1.17.0:www/py-drf-yasg@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4:www/py-django-pglocks@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gfm>=0.1.4:textproc/py-gfm@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10.1:devel/py-Jinja2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}markdown>=2.6.11:textproc/py-markdown@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.19:net/py-netaddr@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.8.2:security/py-pycryptodome@${PY_FLAVOR} \
|
||||
# NetBox has fixed Python package dependencies listed in "requirements.txt"
|
||||
# which are not checked during build/runtime because they're usually installed
|
||||
# via devel/py-pip.
|
||||
#
|
||||
# As a rule, slight deviations are usally not a problem, but there are a few
|
||||
# Django packages that are known for regressions in conjunction with NetBox and
|
||||
# should therefore only be updated with caution.
|
||||
#
|
||||
# - devel/py-dj31-django-rq
|
||||
# - www/py-dj31-django-filter
|
||||
# - www/py-dj31-django-tables2
|
||||
# - www/py-dj31-djangorestframework (in conjunction with www/py-dj31-drf-yasg)
|
||||
#
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django31>=3.1<3.2:www/py-django31@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-cacheops>=5.1.0<5.2:www/py-dj31-django-cacheops@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-cors-headers>=3.4.0<3.5:www/py-dj31-django-cors-headers@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-debug-toolbar>=2.2<4:www/py-dj31-django-debug-toolbar@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-filter>=2.3.0<2.4:www/py-dj31-django-filter@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-mptt>=0.11.0<0.12:www/py-dj31-django-mptt@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-prometheus>=2.0.0<2.1:www/py-dj31-django-prometheus@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-rq>=2.3.2<2.4:devel/py-dj31-django-rq@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-tables2>=2.3.1<2.4:www/py-dj31-django-tables2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-taggit>=1.3.0<2:www/py-dj31-django-taggit@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-django-timezone-field>=4.0<5:www/py-dj31-django-timezone-field@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-djangorestframework>=3.11.0<3.12.0,1:www/py-dj31-djangorestframework@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}dj31-drf-yasg>=1.17.1<1.21:www/py-dj31-drf-yasg@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gfm>=0.1.4<0.2:textproc/py-gfm@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.2<3:devel/py-Jinja2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}markdown>=2.6.11<3.5:textproc/py-markdown@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}netaddr>=0.7.19<1:net/py-netaddr@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.9.8<4:security/py-pycryptodome@${PY_FLAVOR} \
|
||||
${PY_PILLOW} \
|
||||
${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.4:databases/py-psycopg2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}redis>=3.3.11:databases/py-redis@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}svgwrite>=1.3.1:graphics/py-svgwrite@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}yaml>=5.2:devel/py-yaml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gunicorn>=19.9.0.:www/py-gunicorn@${PY_FLAVOR}
|
||||
${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.5<3:databases/py-psycopg2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}svgwrite>=1.3.1<2:graphics/py-svgwrite@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}yaml>=5.3.1<6:devel/py-yaml@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gunicorn>=19.9.0<21:www/py-gunicorn@${PY_FLAVOR}
|
||||
|
||||
USES= pgsql:9.4+ python:3.5+
|
||||
USES= pgsql:9.6+ python:3.6+
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= netbox-community
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1586940490
|
||||
SHA256 (netbox-community-netbox-v2.7.12_GH0.tar.gz) = 4c5f6f5fae54dbd2e4463de1c290c196269fedd0958864ba4de7405d16e677ab
|
||||
SIZE (netbox-community-netbox-v2.7.12_GH0.tar.gz) = 5599712
|
||||
TIMESTAMP = 1604135336
|
||||
SHA256 (netbox-community-netbox-v2.9.8_GH0.tar.gz) = 182a773b604ef0e6f01cc42752799356431debd9b852f5b86ef19b2bd928271e
|
||||
SIZE (netbox-community-netbox-v2.9.8_GH0.tar.gz) = 5799405
|
||||
|
|
|
|||
|
|
@ -193,4 +193,60 @@ the possibility to add extra arguments or to use a configuration file instead
|
|||
of using rc variables.
|
||||
EOD
|
||||
}
|
||||
{ type: upgrade
|
||||
maximum_version: 2.9.8
|
||||
message: <<EOD
|
||||
Changes related to the NetBox configuration:
|
||||
|
||||
1. If in use, LDAP authentication must be enabled by setting
|
||||
REMOTE_AUTH_BACKEND to 'netbox.authentication.LDAPBackend'. (The LDAP
|
||||
configuration parameters in ldap_config.py remain unchanged.)
|
||||
|
||||
2. REMOTE_AUTH_DEFAULT_PERMISSIONS now takes a dictionary rather than a list.
|
||||
This is a mapping of permission names to a dictionary of constraining
|
||||
attributes, or None.
|
||||
|
||||
For example, ['dcim.add_site', 'dcim.change_site'] would become
|
||||
{'dcim.add_site': None, 'dcim.change_site': None}.
|
||||
|
||||
3. Support for the DEFAULT_TIMEOUT parameter under REDIS database configuration
|
||||
was removed. Set RQ_DEFAULT_TIMEOUT as a global configuration parameter
|
||||
instead.
|
||||
|
||||
|
||||
Changes related to permissions:
|
||||
|
||||
1. Any permissions referencing the legacy ReportResult model (e.g.
|
||||
'extras.view_reportresult') should be updated to reference the Report model.
|
||||
|
||||
2. The 'secrets.activate_userkey' permission no longer exists. Instead,
|
||||
'secrets.change_userkey' is checked to determine whether a user has the
|
||||
ability to activate a UserKey.
|
||||
|
||||
3. The 'users.delete_token permission' is no longer enforced. All users are
|
||||
permitted to delete their own API tokens.
|
||||
|
||||
|
||||
Changes to the REST API:
|
||||
|
||||
Numerous changes have been made to the REST API. Please check the changelogs
|
||||
for more details.
|
||||
|
||||
|
||||
Workaround for issues with invalid nested data:
|
||||
|
||||
Users that are experiencing invalid nested data with regions, rack groups, or
|
||||
tenant groups can perform a one-time operation using the NetBox shell to
|
||||
rebuild the correct nested relationships after upgrading:
|
||||
|
||||
# cd %%DATADIR%%
|
||||
# python%%PYTHON_VER%% manage.py nbshell
|
||||
### NetBox interactive shell (localhost)
|
||||
### Python 3.x.x | Django 3.1.x | NetBox 2.9.x
|
||||
### lsmodels() will show available models. Use help(<model>) for more info.
|
||||
>>> Region.objects.rebuild()
|
||||
>>> RackGroup.objects.rebuild()
|
||||
>>> TenantGroup.objects.rebuild()
|
||||
EOD
|
||||
}
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue