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