www-apps/netbox: New package
Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr
This commit is contained in:
parent
f25876d619
commit
e8ec33fa66
1
www-apps/netbox/Manifest
Normal file
1
www-apps/netbox/Manifest
Normal file
|
@ -0,0 +1 @@
|
||||||
|
DIST netbox-2.10.5.tar.gz 7063897 BLAKE2B 87a0b3a8f7251d770752c4e4d4bd45f379aa473ef5de754b9e8319791b81f45f9887710746b0070d2d4797b0abcc0ac7728578d72d8b92a5de626732d232a4ab SHA512 db93fa4d4bd64fea95558f64b8149aeac81c47472b8fbd7836e8a70ceacf24a4abba9c93e4795400fc8627f4e19426441fc7a66d63452ec93b6f9c07030c9fac
|
5
www-apps/netbox/files/gunicorn_config.py
Normal file
5
www-apps/netbox/files/gunicorn_config.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
command = '/usr/bin/gunicorn'
|
||||||
|
pythonpath = '/opt/netbox/netbox'
|
||||||
|
bind = '127.0.0.1:8001'
|
||||||
|
workers = 3
|
||||||
|
user = 'netbox'
|
32
www-apps/netbox/files/netbox-2.6.7-no-pip.patch
Normal file
32
www-apps/netbox/files/netbox-2.6.7-no-pip.patch
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
diff --git a/upgrade.sh b/upgrade.sh
|
||||||
|
index d17dec06..6972ed2f 100755
|
||||||
|
--- a/upgrade.sh
|
||||||
|
+++ b/upgrade.sh
|
||||||
|
@@ -10,27 +10,6 @@ cd "$(dirname "$0")"
|
||||||
|
PYTHON="python3"
|
||||||
|
PIP="pip3"
|
||||||
|
|
||||||
|
-# Uninstall any Python packages which are no longer needed
|
||||||
|
-COMMAND="${PIP} uninstall -r old_requirements.txt -y"
|
||||||
|
-echo "Removing old Python packages ($COMMAND)..."
|
||||||
|
-eval $COMMAND
|
||||||
|
-
|
||||||
|
-# Install any new Python packages
|
||||||
|
-COMMAND="${PIP} install -r requirements.txt --upgrade"
|
||||||
|
-echo "Updating required Python packages ($COMMAND)..."
|
||||||
|
-eval $COMMAND
|
||||||
|
-
|
||||||
|
-# Validate Python dependencies
|
||||||
|
-COMMAND="${PIP} check"
|
||||||
|
-echo "Validating Python dependencies ($COMMAND)..."
|
||||||
|
-eval $COMMAND || (
|
||||||
|
- echo "******** PLEASE FIX THE DEPENDENCIES BEFORE CONTINUING ********"
|
||||||
|
- echo "* Manually install newer version(s) of the highlighted packages"
|
||||||
|
- echo "* so that 'pip3 check' passes. For more information see:"
|
||||||
|
- echo "* https://github.com/pypa/pip/issues/988"
|
||||||
|
- exit 1
|
||||||
|
-)
|
||||||
|
-
|
||||||
|
# Apply any database migrations
|
||||||
|
COMMAND="${PYTHON} netbox/manage.py migrate"
|
||||||
|
echo "Applying database migrations ($COMMAND)..."
|
13
www-apps/netbox/files/netbox-rqworker.initd
Normal file
13
www-apps/netbox/files/netbox-rqworker.initd
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 2019 Sony Interactive Entertainment Inc.
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
name="netbox-rqworker daemon"
|
||||||
|
description="nnetbox-rqworker daemon"
|
||||||
|
command=/usr/bin/python3
|
||||||
|
command_args="/opt/netbox/netbox/manage.py rqworker"
|
||||||
|
command_user=netbox:netbox
|
||||||
|
directory=/opt/netbox/netbox
|
||||||
|
error_log=/var/log/netbox/netbox-rcworker.log
|
||||||
|
output_log=/var/log/netbox/"${RC_SVCNAME}".log
|
||||||
|
supervisor=supervise-daemon
|
12
www-apps/netbox/files/netbox.initd
Normal file
12
www-apps/netbox/files/netbox.initd
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 2019 Sony Interactive Entertainment Inc.
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
description="netbox daemon"
|
||||||
|
command=/usr/bin/gunicorn
|
||||||
|
command_args="-c /etc/netbox/gunicorn_config.py netbox.wsgi"
|
||||||
|
command_user=netbox:netbox
|
||||||
|
directory=/opt/netbox/netbox
|
||||||
|
error_log=/var/log/netbox/"${RC_SVCNAME}".log
|
||||||
|
output_log=/var/log/netbox/"${RC_SVCNAME}".log
|
||||||
|
supervisor=supervise-daemon
|
8
www-apps/netbox/metadata.xml
Normal file
8
www-apps/netbox/metadata.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>williamh@gentoo.org</email>
|
||||||
|
<name>William Hubbs</name>
|
||||||
|
</maintainer>
|
||||||
|
</pkgmetadata>
|
120
www-apps/netbox/netbox-2.10.5.ebuild
Normal file
120
www-apps/netbox/netbox-2.10.5.ebuild
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
PYTHON_COMPAT=( python3_{7..9} )
|
||||||
|
inherit python-single-r1 readme.gentoo-r1
|
||||||
|
|
||||||
|
DESCRIPTION="IP address and data center infrastructure management tool"
|
||||||
|
HOMEPAGE="https://github.com/netbox-community/netbox"
|
||||||
|
SRC_URI="https://github.com/netbox-community/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="ldap"
|
||||||
|
REQUIRED_USE=${PYTHON_REQUIRED_USE}
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
acct-group/netbox
|
||||||
|
acct-user/netbox
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
>=dev-python/django-3.1.3[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-cacheops-5.1[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-cors-headers-3.5.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-debug-toolbar-3.1.1[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-filter-2.4.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-mptt-0.11.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-pglocks-1.0.4[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-prometheus-2.1.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/djangorestframework-3.12.2[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-rq-2.4.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-tables2-2.3.3[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-taggit-1.3.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/django-timezone-field-4.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/drf-yasg-1.20.0[${PYTHON_MULTI_USEDEP},validation]
|
||||||
|
>=dev-python/jinja-2.11.2[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/markdown-3.3.3[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/netaddr-0.8.0[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/pillow-8.0.1[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/psycopg-2.8.6[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/pycryptodome-3.9.9[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/pyyaml-5.3.1[${PYTHON_MULTI_USEDEP}]
|
||||||
|
>=dev-python/svgwrite-1.4[${PYTHON_MULTI_USEDEP}]
|
||||||
|
www-servers/gunicorn[${PYTHON_MULTI_USEDEP}]
|
||||||
|
ldap? ( >=dev-python/django-auth-ldap-1.7[${PYTHON_MULTI_USEDEP}] )
|
||||||
|
')"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2.6.7-no-pip.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
DISABLE_AUTOFORMATTING=YES
|
||||||
|
DOC_CONTENTS="
|
||||||
|
netbox is installed on your system. However, there are some manual steps
|
||||||
|
you need to complete from the installation guide [1].
|
||||||
|
|
||||||
|
On Gentoo, the configuration files you need to edit are located in
|
||||||
|
/etc/netbox, not /opt/netbox as shown in the installation guide.
|
||||||
|
|
||||||
|
If this is a new installation, please follow the installation guide
|
||||||
|
other than this difference. Also, if you need ldap, set the appropriate
|
||||||
|
use flag when emerging netbox to install the dependency for it.
|
||||||
|
|
||||||
|
Once that is done, you should be able to add the netbox service to the
|
||||||
|
default runlevel and start it.
|
||||||
|
|
||||||
|
If you want to use webhooks, you should also add the netbox-rqworker
|
||||||
|
service to the default runlevel and start it.
|
||||||
|
|
||||||
|
If this is an upgrade, follow these instructions:
|
||||||
|
|
||||||
|
Stop the netbox service. If the netbox-rqworker service is running,
|
||||||
|
stop it as well.
|
||||||
|
|
||||||
|
Next, run the upgrade script as described in the upgrading guide[2].
|
||||||
|
|
||||||
|
Next, check for new configuration options and set them as appropriate
|
||||||
|
for your system.
|
||||||
|
|
||||||
|
Next, start the netbox service.
|
||||||
|
|
||||||
|
Finally, if you are using webhooks, start the netbox-rqworker service.
|
||||||
|
|
||||||
|
[1] https://netbox.readthedocs.io/en/stable/installation/
|
||||||
|
[2] https://netbox.readthedocs.io/en/stable/installation/upgrading/
|
||||||
|
"
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dodir /opt
|
||||||
|
cp -a ../${P} "${ED}"/opt
|
||||||
|
dosym ${P} /opt/netbox
|
||||||
|
dosym ../../etc/netbox/gunicorn_config.py /opt/netbox/gunicorn_config.py
|
||||||
|
dosym ../../../../etc/netbox/configuration.py \
|
||||||
|
/opt/netbox/netbox/netbox/configuration.py
|
||||||
|
dodir /etc/netbox
|
||||||
|
insinto /etc/netbox
|
||||||
|
newins netbox/netbox/configuration.example.py configuration.py
|
||||||
|
doins "${FILESDIR}"/gunicorn_config.py
|
||||||
|
fowners -R netbox:netbox /etc/netbox /opt/${P}
|
||||||
|
fowners -h netbox:netbox /opt/netbox
|
||||||
|
fperms o= /etc/netbox/configuration.py /etc/netbox/gunicorn_config.py
|
||||||
|
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||||
|
newinitd "${FILESDIR}"/${PN}-rqworker.initd ${PN}-rqworker
|
||||||
|
keepdir /var/log/netbox
|
||||||
|
fowners -R netbox:netbox /var/log/netbox
|
||||||
|
readme.gentoo_create_doc
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
readme.gentoo_print_elog
|
||||||
|
local r
|
||||||
|
for r in $REPLACING_VERSIONS; do
|
||||||
|
if [[ $r = "2.5.10" ]]; then
|
||||||
|
ewarn "The home directory of the netbox user is now /var/lib/netbox"
|
||||||
|
ewarn "Please adjust your system."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
Loading…
Reference in a new issue