Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Sep 2019 14:55:03 +0000 (UTC)
From:      Kai Knoblich <kai@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r513395 - in head: . net-mgmt/netbox net-mgmt/netbox/files
Message-ID:  <201909301455.x8UEt37O081028@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kai
Date: Mon Sep 30 14:55:03 2019
New Revision: 513395
URL: https://svnweb.freebsd.org/changeset/ports/513395

Log:
  net-mgmt/netbox: Update to 2.6.5
  
  * Introduce EXAMPLES option which installs a sample rc script to the example
    location.  Using the script will eliminate the need for
    sysutils/py-supervisor for those who run NetBox as a system service. [1]
  
    If there's a lot of interest it can also be installed in near future as
    regular rc script.
  
  * Consolidate keywords in pkg-message to avoid accidental deletion of these.
  
  Notable changes since 2.5.13:
  
  * Improved performance via Caching through Redis
  * Support for Power Panels and Feeds
  * Introduction of view-only permissions
  * Ability to create custom links under the admin UI
  * Support for Prometheus metrics
  * Many other enhancements and bug fixes
  
  https://github.com/netbox-community/netbox/blob/v2.6.5/CHANGELOG.md
  
  Submitted by:	Thomas Kurschel (via private email) [1]

Added:
  head/net-mgmt/netbox/files/netboxrc.sample.in   (contents, props changed)
Modified:
  head/UPDATING
  head/net-mgmt/netbox/Makefile
  head/net-mgmt/netbox/distinfo
  head/net-mgmt/netbox/files/pkg-message.in
  head/net-mgmt/netbox/pkg-plist

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Mon Sep 30 14:50:26 2019	(r513394)
+++ head/UPDATING	Mon Sep 30 14:55:03 2019	(r513395)
@@ -5,6 +5,37 @@ 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.
 
+20190930:
+  AFFECTS: users of NetBox
+  AUTHOR: kai@FreeBSD.org
+
+  Since the 2.6 release a running Redis server instance is required for
+  caching objects to run.  Also the following settings like below need to be
+  added (or modified) in the existing configuration.py:
+
+  REDIS = {
+    'HOST': 'localhost',
+    'PORT': 6397,
+    'PASSWORD': ''
+    'DATABASE': 0,
+    'CACHE_DATABASE': 1,
+    'DEFAULT_TIMEOUT': 300,
+    'SSL': False,
+  }
+
+  Note that if you were using these settings in a prior release with
+  webhooks, the DATABASE setting remains the same but an additional
+  CACHE_DATABASE settings has been added with a default value of 1 to
+  support the caching backend.
+
+  The DATABASE setting will be renamed in a future release of NetBox to
+  better relay the meaning of the setting.  It is highly recommended to keep
+  the webhook and cache databases separate.  Using the same database number
+  for both may result in webhook processing data being lost during cache
+  flushing events.
+
+  Please also check the pkg-message and the changelogs for further info.
+
 20190927:
   AFFECTS: users of emulators/qemu-devel
   AUTHOR: bofh@FreeBSD.org

Modified: head/net-mgmt/netbox/Makefile
==============================================================================
--- head/net-mgmt/netbox/Makefile	Mon Sep 30 14:50:26 2019	(r513394)
+++ head/net-mgmt/netbox/Makefile	Mon Sep 30 14:55:03 2019	(r513395)
@@ -2,8 +2,7 @@
 
 PORTNAME=	netbox
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.5.13
-PORTREVISION=	1
+DISTVERSION=	2.6.5
 CATEGORIES=	net-mgmt
 
 MAINTAINER=	kai@FreeBSD.org
@@ -12,36 +11,39 @@ 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}dj22-django-cors-headers>=2.4.0:www/py-dj22-django-cors-headers@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-django-debug-toolbar>=1.11:www/py-dj22-django-debug-toolbar@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-django-filter>=2.0.0:www/py-dj22-django-filter@${PY_FLAVOR} \
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django22>=2.2<2.3:www/py-django22@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-cacheops>=4.1:www/py-dj22-django-cacheops@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-cors-headers>=3.0.2:www/py-dj22-django-cors-headers@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-debug-toolbar>=2.0:www/py-dj22-django-debug-toolbar@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-filter>=2.1.0:www/py-dj22-django-filter@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj22-django-mptt>=0.9.1:www/py-dj22-django-mptt@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-django-tables2>=2.0.3:www/py-dj22-django-tables2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-django-taggit>=0.24.0:www/py-dj22-django-taggit@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-prometheus>=1.0.15:www/py-dj22-django-prometheus@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-rq>=2.1.0:devel/py-dj22-django-rq@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-tables2>=2.0.6:www/py-dj22-django-tables2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-django-taggit>=0:www/py-dj22-django-taggit@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj22-django-taggit-serializer>=0.1.7:www/py-dj22-django-taggit-serializer@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj22-django-timezone-field>=3.0:www/py-dj22-django-timezone-field@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-djangorestframework>=3.9.1:www/py-dj22-djangorestframework@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj22-drf-yasg>=1.14.0:www/py-dj22-drf-yasg@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-djangorestframework>=3.9.4:www/py-dj22-djangorestframework@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj22-drf-yasg>=1.16.0:www/py-dj22-drf-yasg@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}gfm>=0.1.4:textproc/py-gfm@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}graphviz>=0.10.1:graphics/py-graphviz@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${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.7.2:security/py-pycryptodome@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pillow>=5.3.0:graphics/py-pillow@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}psycopg2>=2.7.6.1:databases/py-psycopg2@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.8.2:security/py-pycryptodome@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pillow>=6.0.0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psycopg2>=2.8.3:databases/py-psycopg2@${PY_FLAVOR}
 
 USES=		pgsql:9.4+ python:3.5+
 USE_GITHUB=	yes
 GH_ACCOUNT=	digitalocean
 
-SUB_FILES=	pkg-message
-SUB_LIST=	DATADIR=${DATADIR} PYTHON_VER=${PYTHON_VER}
+SUB_FILES=	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
+OPTIONS_DEFINE=	DOCS EXAMPLES
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|==|>=|' ${WRKSRC}/requirements.txt
@@ -68,5 +70,9 @@ post-install-DOCS-on:
 			${INSTALL_DATA} "$$src" "$$dst" ; \
 		fi \
 	done
+
+post-install-EXAMPLES-on:
+	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKDIR}/netboxrc.sample ${STAGEDIR}${EXAMPLESDIR}
 
 .include <bsd.port.mk>

Modified: head/net-mgmt/netbox/distinfo
==============================================================================
--- head/net-mgmt/netbox/distinfo	Mon Sep 30 14:50:26 2019	(r513394)
+++ head/net-mgmt/netbox/distinfo	Mon Sep 30 14:55:03 2019	(r513395)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1559512206
-SHA256 (digitalocean-netbox-v2.5.13_GH0.tar.gz) = 71b6d05d3c76985cff590c8d2cf70b1896928ed943c2a3818e0b88ddd9f2a6ae
-SIZE (digitalocean-netbox-v2.5.13_GH0.tar.gz) = 2365536
+TIMESTAMP = 1569582543
+SHA256 (digitalocean-netbox-v2.6.5_GH0.tar.gz) = 8116e1be37a6a6188a7bfc6f2d842f500813d72ffcc9072ad5ac8a70198b9c8f
+SIZE (digitalocean-netbox-v2.6.5_GH0.tar.gz) = 2408180

Added: head/net-mgmt/netbox/files/netboxrc.sample.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/netbox/files/netboxrc.sample.in	Mon Sep 30 14:55:03 2019	(r513395)
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# This sample rc script eliminate the need to use sysutils/py-supervisor to
+# run NetBox as a system service. Only www/py-gunicorn is needed as a WSGI.
+#
+# Of course a working HTTP server like Apache/nginx is still required to make
+# use of the gunicorn WSGI.
+
+#
+# PROVIDE: netbox
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf.local or /etc/rc.conf
+# to enable netbox:
+#
+# netbox_enable (bool):	Set to NO by default.
+#			Set it to YES to enable netbox.
+# netbox_config (str):	Default to "/usr/local/etc/${name}.conf}"
+#			Config file for gunicorn's netbox config file
+# netbox_command (str):	Default to "/usr/local/bin/gunicorn-3.6"
+#			Path to gunicorn to run netbox
+# netbox_bind (str):    Default to "localhost:8001"
+#			Interface and port to bind to
+# netbox_workers (int):	Default to "3"
+#			Number of gunicorn works
+# netbox_timeout (int):	Default to "120"
+#			Worker timeout for gunicorn
+#
+
+. /etc/rc.subr
+
+name="netbox"
+rcvar=netbox_enable
+netbox_path=%%DATADIR%%
+
+load_rc_config $name
+
+start_precmd="netbox_precmd"
+command=${netbox_program:-%%LOCALBASE%%/bin/gunicorn}
+procname=${netbox_procname:-%%PYTHON_CMD%%}
+netbox_chdir=${netbox_path}
+pidfile=${netbox_pidfile:-/var/run/${name}/${name}.pid}
+netbox_user=${netbox_user:-%%WWWOWN%%}
+netbox_bind=${netbox_bind:-localhost:8001}
+netbox_workers=${netbox_workers:-3}
+netbox_timeout=${netbox_timeout:-120}
+
+command_args="${netbox_args} -D \
+	--log-syslog --log-syslog-prefix ${name} \
+	--log-syslog-to unix:///var/run/log#dgram \
+	--disable-redirect-access-to-syslog \
+	-p ${pidfile} --pythonpath ${netbox_path} \
+	-b ${netbox_bind} -w ${netbox_workers} -t ${netbox_timeout} \
+	netbox.wsgi"
+
+netbox_precmd()
+{
+	install -d -o ${netbox_user} `dirname ${pidfile}`
+}
+
+run_rc_command "$1"

Modified: head/net-mgmt/netbox/files/pkg-message.in
==============================================================================
--- head/net-mgmt/netbox/files/pkg-message.in	Mon Sep 30 14:50:26 2019	(r513394)
+++ head/net-mgmt/netbox/files/pkg-message.in	Mon Sep 30 14:55:03 2019	(r513395)
@@ -1,5 +1,5 @@
 [
-{
+{ type: install
   message: <<EOD
 Please note that NetBox requires a PostgreSQL database server, which uses its
 built-in network address datatypes. Thus NetBox won't work with other RDBMS's,
@@ -9,9 +9,8 @@ For installation instructions please refer to the rela
 
 - https://wiki.freebsd.org/Ports/net-mgmt/netbox
 EOD
-  type: install
 }
-{
+{ type: upgrade
   message: <<EOD
 As always it is strongly encouraged to make a backup of the database before the
 database migrations will be executed.
@@ -26,6 +25,52 @@ The following steps are required to finish the upgrade
 
 2. Restart WSGI/httpd environment (supervisord/apache/nginx/etc.)
 EOD
-  type: upgrade
+}
+{ type: upgrade
+  maximum_version: "2.6.5"
+  message: <<EOD
+1. New dependency: Redis
+
+Since the 2.6 release a running Redis server instance is required for caching
+objects to run. Also the following settings like below need to be added (or
+modified) in the existing configuration.py:
+
+REDIS = {
+	'HOST': 'localhost',
+	'PORT': 6397,
+	'PASSWORD': ''
+	'DATABASE': 0,
+	'CACHE_DATABASE': 1,
+	'DEFAULT_TIMEOUT': 300,
+	'SSL': False,
+}
+
+Note that if you were using these settings in a prior release with webhooks,
+the DATABASE setting remains the same but an additional CACHE_DATABASE settings
+has been added with a default value of 1 to support the caching backend.
+
+The DATABASE setting will be renamed in a future release of NetBox to better
+relay the meaning of the setting. It is highly recommended to keep the webhook
+and cache databases separate. Using the same database number for both may
+result in webhook processing data being lost during cache flushing events.
+
+
+2. View Permissions
+
+NetBox now enforces view-only permissions by default. You can grant view
+permission to a user or group by assigning the "can view" permission for the
+desired objects.
+
+To exclude _all_ objects, effectively disabling view permissions and restoring
+the pre-v2.6 behavior, set:
+
+EXEMPT_VIEW_PERMISSIONS = ['*']
+
+
+3. CORS_ORIGIN_WHITELIST requires URI Scheme
+
+If you have the CORS_ORIGIN_WHITELIST configuration parameter defined, note
+that each origin must now include a URI scheme.
+EOD
 }
 ]

Modified: head/net-mgmt/netbox/pkg-plist
==============================================================================
--- head/net-mgmt/netbox/pkg-plist	Mon Sep 30 14:50:26 2019	(r513394)
+++ head/net-mgmt/netbox/pkg-plist	Mon Sep 30 14:55:03 2019	(r513395)
@@ -1,8 +1,12 @@
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/caching.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/change-logging.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/context-data.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-fields.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-links.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/custom-scripts.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/export-templates.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/graphs.md
+%%PORTDOCS%%%%DOCSDIR%%/additional-features/prometheus-metrics.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/reports.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/tags.md
 %%PORTDOCS%%%%DOCSDIR%%/additional-features/topology-maps.md
@@ -42,6 +46,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/media/screenshot2.png
 %%PORTDOCS%%%%DOCSDIR%%/media/screenshot3.png
 %%PORTDOCS%%%%DOCSDIR%%/netbox_logo.png
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/netboxrc.sample
 %%DATADIR%%/circuits/__init__.py
 %%DATADIR%%/circuits/api/__init__.py
 %%DATADIR%%/circuits/api/nested_serializers.py
@@ -68,6 +73,7 @@
 %%DATADIR%%/circuits/migrations/0012_change_logging.py
 %%DATADIR%%/circuits/migrations/0013_cables.py
 %%DATADIR%%/circuits/migrations/0014_circuittermination_description.py
+%%DATADIR%%/circuits/migrations/0015_custom_tag_models.py
 %%DATADIR%%/circuits/migrations/__init__.py
 %%DATADIR%%/circuits/models.py
 %%DATADIR%%/circuits/signals.py
@@ -165,6 +171,11 @@
 %%DATADIR%%/dcim/migrations/0067_device_type_remove_qualifiers.py
 %%DATADIR%%/dcim/migrations/0068_rack_new_fields.py
 %%DATADIR%%/dcim/migrations/0069_deprecate_nullablecharfield.py
+%%DATADIR%%/dcim/migrations/0070_custom_tag_models.py
+%%DATADIR%%/dcim/migrations/0071_device_components_add_description.py
+%%DATADIR%%/dcim/migrations/0072_powerfeeds.py
+%%DATADIR%%/dcim/migrations/0073_interface_form_factor_to_type.py
+%%DATADIR%%/dcim/migrations/0074_increase_field_length_platform_name_slug.py
 %%DATADIR%%/dcim/migrations/__init__.py
 %%DATADIR%%/dcim/models.py
 %%DATADIR%%/dcim/signals.py
@@ -214,14 +225,28 @@
 %%DATADIR%%/extras/migrations/0016_exporttemplate_add_cable.py
 %%DATADIR%%/extras/migrations/0017_exporttemplate_mime_type_length.py
 %%DATADIR%%/extras/migrations/0018_exporttemplate_add_jinja2.py
+%%DATADIR%%/extras/migrations/0019_tag_taggeditem.py
+%%DATADIR%%/extras/migrations/0020_tag_data.py
+%%DATADIR%%/extras/migrations/0021_add_color_comments_changelog_to_tag.py
+%%DATADIR%%/extras/migrations/0022_custom_links.py
+%%DATADIR%%/extras/migrations/0023_fix_tag_sequences.py
+%%DATADIR%%/extras/migrations/0024_scripts.py
+%%DATADIR%%/extras/migrations/0025_objectchange_time_index.py
 %%DATADIR%%/extras/migrations/__init__.py
 %%DATADIR%%/extras/models.py
 %%DATADIR%%/extras/querysets.py
 %%DATADIR%%/extras/reports.py
+%%DATADIR%%/extras/scripts.py
+%%DATADIR%%/extras/signals.py
 %%DATADIR%%/extras/tables.py
+%%DATADIR%%/extras/templatetags/__init__.py
+%%DATADIR%%/extras/templatetags/custom_links.py
+%%DATADIR%%/extras/templatetags/log_levels.py
 %%DATADIR%%/extras/tests/__init__.py
 %%DATADIR%%/extras/tests/test_api.py
+%%DATADIR%%/extras/tests/test_changelog.py
 %%DATADIR%%/extras/tests/test_customfields.py
+%%DATADIR%%/extras/tests/test_scripts.py
 %%DATADIR%%/extras/tests/test_tags.py
 %%DATADIR%%/extras/tests/test_views.py
 %%DATADIR%%/extras/urls.py
@@ -270,6 +295,9 @@
 %%DATADIR%%/ipam/migrations/0022_tags.py
 %%DATADIR%%/ipam/migrations/0023_change_logging.py
 %%DATADIR%%/ipam/migrations/0024_vrf_allow_null_rd.py
+%%DATADIR%%/ipam/migrations/0025_custom_tag_models.py
+%%DATADIR%%/ipam/migrations/0026_prefix_ordering_vrf_nulls_first.py
+%%DATADIR%%/ipam/migrations/0027_ipaddress_add_dns_name.py
 %%DATADIR%%/ipam/migrations/__init__.py
 %%DATADIR%%/ipam/models.py
 %%DATADIR%%/ipam/querysets.py
@@ -279,6 +307,7 @@
 %%DATADIR%%/ipam/tests/test_models.py
 %%DATADIR%%/ipam/tests/test_views.py
 %%DATADIR%%/ipam/urls.py
+%%DATADIR%%/ipam/validators.py
 %%DATADIR%%/ipam/views.py
 %%DATADIR%%/manage.py
 %%DATADIR%%/media/image-attachments/.gitignore
@@ -291,22 +320,22 @@
 %%DATADIR%%/netbox/urls.py
 %%DATADIR%%/netbox/views.py
 %%DATADIR%%/netbox/wsgi.py
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap-theme.min.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.min.css
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/css/bootstrap.min.css.map
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.eot
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.svg
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.ttf
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/fonts/glyphicons-halflings-regular.woff2
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/bootstrap.js
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/bootstrap.min.js
-%%DATADIR%%/project-static/bootstrap-3.3.7-dist/js/npm.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.eot
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.svg
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.ttf
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff2
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/bootstrap.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/bootstrap.min.js
+%%DATADIR%%/project-static/bootstrap-3.4.1-dist/js/npm.js
 %%DATADIR%%/project-static/clipboard-2.0.4.min.js
 %%DATADIR%%/project-static/css/base.css
 %%DATADIR%%/project-static/font-awesome-4.7.0/css/font-awesome.css
@@ -438,6 +467,7 @@
 %%DATADIR%%/project-static/select2-4.0.5/js/select2.min.js
 %%DATADIR%%/project-static/select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css
 %%DATADIR%%/reports/__init__.py
+%%DATADIR%%/scripts/__init__.py
 %%DATADIR%%/secrets/__init__.py
 %%DATADIR%%/secrets/admin.py
 %%DATADIR%%/secrets/api/__init__.py
@@ -458,6 +488,7 @@
 %%DATADIR%%/secrets/migrations/0003_unicode_literals.py
 %%DATADIR%%/secrets/migrations/0004_tags.py
 %%DATADIR%%/secrets/migrations/0005_change_logging.py
+%%DATADIR%%/secrets/migrations/0006_custom_tag_models.py
 %%DATADIR%%/secrets/migrations/__init__.py
 %%DATADIR%%/secrets/models.py
 %%DATADIR%%/secrets/querysets.py
@@ -541,7 +572,12 @@
 %%DATADIR%%/templates/dcim/manufacturer_list.html
 %%DATADIR%%/templates/dcim/platform_list.html
 %%DATADIR%%/templates/dcim/power_connections_list.html
+%%DATADIR%%/templates/dcim/powerfeed.html
+%%DATADIR%%/templates/dcim/powerfeed_edit.html
+%%DATADIR%%/templates/dcim/powerfeed_list.html
 %%DATADIR%%/templates/dcim/poweroutlet_delete.html
+%%DATADIR%%/templates/dcim/powerpanel.html
+%%DATADIR%%/templates/dcim/powerpanel_list.html
 %%DATADIR%%/templates/dcim/powerport_delete.html
 %%DATADIR%%/templates/dcim/rack.html
 %%DATADIR%%/templates/dcim/rack_edit.html
@@ -572,8 +608,12 @@
 %%DATADIR%%/templates/extras/objectchange_list.html
 %%DATADIR%%/templates/extras/report.html
 %%DATADIR%%/templates/extras/report_list.html
+%%DATADIR%%/templates/extras/script.html
+%%DATADIR%%/templates/extras/script_list.html
 %%DATADIR%%/templates/extras/tag.html
+%%DATADIR%%/templates/extras/tag_edit.html
 %%DATADIR%%/templates/extras/tag_list.html
+%%DATADIR%%/templates/extras/templatetags/log_level.html
 %%DATADIR%%/templates/home.html
 %%DATADIR%%/templates/import_success.html
 %%DATADIR%%/templates/inc/ajax_loader.html
@@ -684,6 +724,7 @@
 %%DATADIR%%/tenancy/migrations/0003_unicode_literals.py
 %%DATADIR%%/tenancy/migrations/0004_tags.py
 %%DATADIR%%/tenancy/migrations/0005_change_logging.py
+%%DATADIR%%/tenancy/migrations/0006_custom_tag_models.py
 %%DATADIR%%/tenancy/migrations/__init__.py
 %%DATADIR%%/tenancy/models.py
 %%DATADIR%%/tenancy/tables.py
@@ -708,10 +749,12 @@
 %%DATADIR%%/users/views.py
 %%DATADIR%%/utilities/__init__.py
 %%DATADIR%%/utilities/api.py
+%%DATADIR%%/utilities/auth_backends.py
 %%DATADIR%%/utilities/constants.py
 %%DATADIR%%/utilities/context_processors.py
 %%DATADIR%%/utilities/custom_inspectors.py
 %%DATADIR%%/utilities/error_handlers.py
+%%DATADIR%%/utilities/exceptions.py
 %%DATADIR%%/utilities/fields.py
 %%DATADIR%%/utilities/filters.py
 %%DATADIR%%/utilities/forms.py
@@ -723,7 +766,6 @@
 %%DATADIR%%/utilities/middleware.py
 %%DATADIR%%/utilities/models.py
 %%DATADIR%%/utilities/paginator.py
-%%DATADIR%%/utilities/sql.py
 %%DATADIR%%/utilities/tables.py
 %%DATADIR%%/utilities/templates/buttons/add.html
 %%DATADIR%%/utilities/templates/buttons/export.html
@@ -738,6 +780,7 @@
 %%DATADIR%%/utilities/templatetags/helpers.py
 %%DATADIR%%/utilities/testing.py
 %%DATADIR%%/utilities/tests/__init__.py
+%%DATADIR%%/utilities/tests/test_api.py
 %%DATADIR%%/utilities/tests/test_managers.py
 %%DATADIR%%/utilities/tests/test_utils.py
 %%DATADIR%%/utilities/utils.py
@@ -763,6 +806,7 @@
 %%DATADIR%%/virtualization/migrations/0006_tags.py
 %%DATADIR%%/virtualization/migrations/0007_change_logging.py
 %%DATADIR%%/virtualization/migrations/0008_virtualmachine_local_context_data.py
+%%DATADIR%%/virtualization/migrations/0009_custom_tag_models.py
 %%DATADIR%%/virtualization/migrations/__init__.py
 %%DATADIR%%/virtualization/models.py
 %%DATADIR%%/virtualization/tables.py



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909301455.x8UEt37O081028>