diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile index 1db82b279a22..090947a8c55d 100644 --- a/net-mgmt/netbox/Makefile +++ b/net-mgmt/netbox/Makefile @@ -1,93 +1,95 @@ PORTNAME= netbox DISTVERSIONPREFIX= v -DISTVERSION= 2.11.12 +DISTVERSION= 3.0.4 CATEGORIES= net-mgmt python MAINTAINER= kai@FreeBSD.org COMMENT= IP address management tool LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt # 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-dj32-django-rq # - www/py-dj32-django-filter # - www/py-dj32-django-tables2 # - www/py-dj32-djangorestframework (in conjunction with www/py-dj32-drf-yasg) # -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=3.2.6<3.3:www/py-django32@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj32-django-cacheops>=6.0<7.0:www/py-dj32-django-cacheops@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers>=3.8.0<3.9:www/py-dj32-django-cors-headers@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar>=3.2.1<4:www/py-dj32-django-debug-toolbar@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj32-django-filter>=2.4.0<2.5:www/py-dj32-django-filter@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj32-django-mptt>=0.13.1<0.14:www/py-dj32-django-mptt@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=3.2.7<3.3:www/py-django32@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers>=3.9.0<4:www/py-dj32-django-cors-headers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar>=3.2.2<4:www/py-dj32-django-debug-toolbar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-filter>=21.1<22:www/py-dj32-django-filter@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj32-django-graphiql-debug-toolbar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-mptt>=0.13.4<0.14:www/py-dj32-django-mptt@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-django-prometheus>=2.1.0<2.2:www/py-dj32-django-prometheus@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-django-redis>=5.0.0<5.1:www/py-dj32-django-redis@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-django-rq>=2.4.1<2.5:devel/py-dj32-django-rq@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-django-tables2>=2.4.0<2.5:www/py-dj32-django-tables2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-django-taggit>=1.5.1<2:www/py-dj32-django-taggit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-django-timezone-field>=4.1.2<5:www/py-dj32-django-timezone-field@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework>=3.12.4<3.13.0:www/py-dj32-djangorestframework@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dj32-drf-yasg>=1.20.0<1.21:www/py-dj32-drf-yasg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj32-graphene-django>=2.15.0<3:devel/py-dj32-graphene-django@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.2<4:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.1<4:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.4<3.5:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}netaddr>=0.8.0<1:net/py-netaddr@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.10.1<4:security/py-pycryptodome@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pillow>=8.2.0<9:graphics/py-pillow@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.1<3:databases/py-psycopg2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.1<2:graphics/py-svgwrite@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tablib>=3.0.0<3.1:textproc/py-tablib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=5.4.1<6:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gunicorn>=19.9.0<21:www/py-gunicorn@${PY_FLAVOR} USES= cpe pgsql:9.6+ python:3.7+ CPE_VENDOR= netbox_project USE_GITHUB= yes GH_ACCOUNT= netbox-community -SUB_FILES= netbox_rq.sample netboxrc.sample pkg-message +SUB_FILES= 850.netbox-housekeeping.sample netbox_rq.sample netboxrc.sample pkg-message SUB_LIST= DATADIR=${DATADIR} PYTHON_CMD=${PYTHON_CMD} PYTHON_VER=${PYTHON_VER} WWWOWN=${WWWOWN} NO_BUILD= yes NO_ARCH= yes OPTIONS_DEFINE= DOCS EXAMPLES do-install: cd ${WRKSRC}/netbox ; \ for src in $$( ${FIND} . ! -name '*.bak' ) ; do \ dst=${STAGEDIR}${DATADIR}$${src#.} ; \ if ${TEST} -d "$$src" ; then \ ${MKDIR} "$$dst" ; \ else \ ${INSTALL_DATA} "$$src" "$$dst" ; \ fi \ done post-install-DOCS-on: cd ${WRKSRC}/docs ; \ ${MKDIR} ${STAGEDIR}${DOCSDIR} ; \ for src in $$( ${FIND} . ! -name '*.bak' ) ; do \ dst=${STAGEDIR}${DOCSDIR}$${src#.} ; \ if ${TEST} -d "$$src" ; then \ ${MKDIR} "$$dst" ; \ else \ ${INSTALL_DATA} "$$src" "$$dst" ; \ fi \ done post-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKDIR}/850.netbox-housekeeping.sample ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKDIR}/netbox_rq.sample ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKDIR}/netboxrc.sample ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/contrib/apache.conf ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/contrib/gunicorn.py ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/contrib/nginx.conf ${STAGEDIR}${EXAMPLESDIR} .include diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo index de7b927fe43f..b8e664611e4d 100644 --- a/net-mgmt/netbox/distinfo +++ b/net-mgmt/netbox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1629748683 -SHA256 (netbox-community-netbox-v2.11.12_GH0.tar.gz) = c51d8d386ead7523f7513b41d03500bf464fecc4129ccf1f74569a3e8d609684 -SIZE (netbox-community-netbox-v2.11.12_GH0.tar.gz) = 7125072 +TIMESTAMP = 1632927300 +SHA256 (netbox-community-netbox-v3.0.4_GH0.tar.gz) = 10273f484142e0607d5654c0fd1c62801390e8b78365674c8b552fce045edead +SIZE (netbox-community-netbox-v3.0.4_GH0.tar.gz) = 4490751 diff --git a/net-mgmt/netbox/files/850.netbox-housekeeping.sample.in b/net-mgmt/netbox/files/850.netbox-housekeeping.sample.in new file mode 100644 index 000000000000..14ad0e102a27 --- /dev/null +++ b/net-mgmt/netbox/files/850.netbox-housekeeping.sample.in @@ -0,0 +1,32 @@ +#!/bin/sh +# This shell script invokes NetBox's housekeeping management command, which +# intended to be run nightly. +# +# If you want to enable this script, copy it to %%PREFIX%%/etc/periodic/daily +# and place the following into /etc/periodic.conf: +# +# daily_netbox_housekeeping_enable="YES" +# +# If NetBox has been installed into a nonstandard location, update the paths +# below. +command="%%PYTHON_CMD%%" +netbox_root="%%DATADIR%%" + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ]; then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 + +case "$daily_netbox_housekeeping_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Running NetBox housekeeping:" + $command "$netbox_root/manage.py" housekeeping + rc=$? +esac + +exit $rc diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in index 2ecf2f9639bc..1a0d93f9a102 100644 --- a/net-mgmt/netbox/files/pkg-message.in +++ b/net-mgmt/netbox/files/pkg-message.in @@ -1,247 +1,309 @@ [ { type: install message: <) for more info. >>> Region.objects.rebuild() >>> RackGroup.objects.rebuild() >>> TenantGroup.objects.rebuild() EOD } { type: upgrade maximum_version: 2.9.9 message: <