From e8ec33fa665011c1c0edccd623a036539005d651 Mon Sep 17 00:00:00 2001 From: Alarig Le Lay Date: Tue, 2 Mar 2021 11:41:54 +0100 Subject: [PATCH] www-apps/netbox: New package Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Alarig Le Lay + + + + williamh@gentoo.org + William Hubbs + + diff --git a/www-apps/netbox/netbox-2.10.5.ebuild b/www-apps/netbox/netbox-2.10.5.ebuild new file mode 100644 index 0000000..247bfa9 --- /dev/null +++ b/www-apps/netbox/netbox-2.10.5.ebuild @@ -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 +}