From b7ebc951da8800f711142f69d9d958bde67a112d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 28 Apr 2019 09:54:45 +0100 Subject: gentoo resync : 28.04.2019 --- www-apps/netbox/Manifest | 8 ++ www-apps/netbox/files/gunicorn_config.py | 5 ++ www-apps/netbox/files/netbox-2.5.10-no-pip.patch | 27 ++++++ www-apps/netbox/files/netbox-rqworker.initd | 11 +++ www-apps/netbox/files/netbox.initd | 10 +++ www-apps/netbox/metadata.xml | 11 +++ www-apps/netbox/netbox-2.5.10-r1.ebuild | 107 +++++++++++++++++++++++ www-apps/netbox/netbox-2.5.10.ebuild | 100 +++++++++++++++++++++ 8 files changed, 279 insertions(+) create mode 100644 www-apps/netbox/Manifest create mode 100644 www-apps/netbox/files/gunicorn_config.py create mode 100644 www-apps/netbox/files/netbox-2.5.10-no-pip.patch create mode 100644 www-apps/netbox/files/netbox-rqworker.initd create mode 100644 www-apps/netbox/files/netbox.initd create mode 100644 www-apps/netbox/metadata.xml create mode 100644 www-apps/netbox/netbox-2.5.10-r1.ebuild create mode 100644 www-apps/netbox/netbox-2.5.10.ebuild (limited to 'www-apps/netbox') diff --git a/www-apps/netbox/Manifest b/www-apps/netbox/Manifest new file mode 100644 index 000000000000..6901c6c5e11c --- /dev/null +++ b/www-apps/netbox/Manifest @@ -0,0 +1,8 @@ +AUX gunicorn_config.py 116 BLAKE2B 44fa3354dce54136bd031012bad2c6cc5ed6208bd253985a29a0e7c6f76aee4f042b8f707d9c09e1c49be8e61b27e44ff2195b8bdc54f4c51659924717f0cdd9 SHA512 43a065aa044a028334a96a0d22ffe1c35ad1f76b605215c4d5a288943cfeeb03e7e71a6d22116764c55bd95aaea103c1026d6355c9ded9577b4a7aefbc6f71c3 +AUX netbox-2.5.10-no-pip.patch 839 BLAKE2B ccee79698c76d6867e9fe1d84a0b3b416dd99fb21dea20fdbd542cd1e620a8d1c28cef8614f56826d2728c900c4c28e2e4784ccd342aa8b53135255c2236266e SHA512 b3f6f0f420a1491a3ac9f6722cf9c65fc9c4033fb97e8d1dc9345763d4d3d9b1924fb06d1d74d1c603815ef027d8d8386bb267c173d38cdc90b22ba40954ee5a +AUX netbox-rqworker.initd 370 BLAKE2B f80cfa9d1007f4f1a9add484b6cee5d0e07698658fbbf797b9bb479270104bcbb445127e628349338f1ec5e9c3a41dc3962c949b4759fd1b5b2d190c505149b6 SHA512 081236868f3666e2b689702fd1b7aa5c1727de67e97f0990d158ba00210e1b84f412b0882c8cbf6662c5999424dd79a210c06db00e531727319abdec5d5de227 +AUX netbox.initd 339 BLAKE2B fc5d0818a741c683125e1519312760dcfd415eb11e287d3087420f51041486654d4244619629b712054d0768c91285debfa01e46245196454a6b732262200a7f SHA512 578c708941c1d767fc58c471a383130005227123f24350073d4f4f33770e577dc53ad4c47964c023fbfb94ed2533b06012a60990cf7dad00b9495f791faf877d +DIST netbox-2.5.10.tar.gz 2363340 BLAKE2B 9bc946398ac75b585f2bc6fdb01bfb7545c92ccbb239e9ac0309b66be435134a87cde5fcf876cec4c3354e7aedf5af1d9e1976574689dfb0af34404e9c9f907f SHA512 ed71b0efaffd8bad6e53f7b281d1933234161f031110fa901e1b789a964f000f2ff13897685e79193cbee9294c1f50b8c6edef7d0ef6f829a7357640c8034525 +EBUILD netbox-2.5.10-r1.ebuild 3653 BLAKE2B 19e70c408e871ed171d3bbdbf82a95ccd06c8e70dc3117502150077faa4293dc440bfa1a8b520a12fdf4fbf40400d7cd95b78afe5c72eda13e0fb8babd727166 SHA512 05bcec74c1984235b2c6bc7785cbfd9255108eea141a079091e553fe3ab32c726dbb7ae2fe847063a6458ee6f23e1d27108500fd38fc56b2ffe483884aeb9ee8 +EBUILD netbox-2.5.10.ebuild 3454 BLAKE2B 904ae9677b4226e0ee7d9df94249c702d49b7c4d97aacad2cd11a04adcacc52a450ea2c3ecb1de66ff0d67e052fe5299877cad8794f628f30b47ad00d6ad74cc SHA512 b132f15e1ed9cdb0de0f9ef813716df2ed69896e0bf4fec21e2f2180b3d8553894f7390b48ae207c4dd08a6bd4c0d8f25368590e0cf5650ea56adae02c439575 +MISC metadata.xml 328 BLAKE2B 03603c5bca97aae6d5753f027154ac8bb824639f9f4cae14feb0d50136673e67d1baf0a85d69a09babccd01ba4c48cea035f3f56d11a225ac80daf40ea647c10 SHA512 b40d38d175604c9039a2f3aa2ef3fcdbb626f75ca8128efe16112e03f5bab8d32775e56ad67fb6d20024149b95624cd487703a23726fb904770aa3ad00119c43 diff --git a/www-apps/netbox/files/gunicorn_config.py b/www-apps/netbox/files/gunicorn_config.py new file mode 100644 index 000000000000..4cb7111fac44 --- /dev/null +++ b/www-apps/netbox/files/gunicorn_config.py @@ -0,0 +1,5 @@ +command = '/usr/bin/gunicorn' +pythonpath = '/opt/netbox/netbox' +bind = '127.0.0.1:8001' +workers = 3 +user = 'netbox' diff --git a/www-apps/netbox/files/netbox-2.5.10-no-pip.patch b/www-apps/netbox/files/netbox-2.5.10-no-pip.patch new file mode 100644 index 000000000000..5d1fa595f4e6 --- /dev/null +++ b/www-apps/netbox/files/netbox-2.5.10-no-pip.patch @@ -0,0 +1,27 @@ +diff --git a/upgrade.sh b/upgrade.sh +index 24e79f5b..248e1cb5 100755 +--- a/upgrade.sh ++++ b/upgrade.sh +@@ -8,22 +8,6 @@ + PYTHON="python3" + PIP="pip3" + +-# TODO: Remove this in v2.6 as it is no longer needed under Python 3 +-# Delete stale bytecode +-COMMAND="find . -name \"*.pyc\" -delete" +-echo "Cleaning up stale Python bytecode ($COMMAND)..." +-eval $COMMAND +- +-# 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 +- + # Apply any database migrations + COMMAND="${PYTHON} netbox/manage.py migrate" + echo "Applying database migrations ($COMMAND)..." diff --git a/www-apps/netbox/files/netbox-rqworker.initd b/www-apps/netbox/files/netbox-rqworker.initd new file mode 100644 index 000000000000..2973e471e038 --- /dev/null +++ b/www-apps/netbox/files/netbox-rqworker.initd @@ -0,0 +1,11 @@ +#!/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 +supervisor=supervise-daemon diff --git a/www-apps/netbox/files/netbox.initd b/www-apps/netbox/files/netbox.initd new file mode 100644 index 000000000000..d0457a8372f2 --- /dev/null +++ b/www-apps/netbox/files/netbox.initd @@ -0,0 +1,10 @@ +#!/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 +supervisor=supervise-daemon diff --git a/www-apps/netbox/metadata.xml b/www-apps/netbox/metadata.xml new file mode 100644 index 000000000000..f53806a22836 --- /dev/null +++ b/www-apps/netbox/metadata.xml @@ -0,0 +1,11 @@ + + + + + williamh@gentoo.org + William Hubbs + + + Enable webhooks via django-rq + + diff --git a/www-apps/netbox/netbox-2.5.10-r1.ebuild b/www-apps/netbox/netbox-2.5.10-r1.ebuild new file mode 100644 index 000000000000..c12e3feb2dc2 --- /dev/null +++ b/www-apps/netbox/netbox-2.5.10-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_6 ) +inherit python-single-r1 user readme.gentoo-r1 + +DESCRIPTION="IP address and data center infrastructure management tool" +HOMEPAGE="https://github.com/digitalocean/netbox" +SRC_URI="https://github.com/digitalocean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="ldap webhooks" + +RDEPEND=">=dev-python/django-2.1.5[${PYTHON_USEDEP}] + >=dev-python/django-cors-headers-2.4.0[${PYTHON_USEDEP}] + >=dev-python/django-debug-toolbar-1.11[${PYTHON_USEDEP}] + >=dev-python/django-filter-2.0.0[${PYTHON_USEDEP}] + >=dev-python/django-mptt-0.9.1[${PYTHON_USEDEP}] + >=dev-python/django-tables2-2.0.3[${PYTHON_USEDEP}] + >=dev-python/django-taggit-0.23.0[${PYTHON_USEDEP}] + >=dev-python/django-taggit-serializer-0.1.7[${PYTHON_USEDEP}] + >=dev-python/django-timezone-field-3.0[${PYTHON_USEDEP}] + >=dev-python/djangorestframework-3.9.0[${PYTHON_USEDEP}] + >=dev-python/drf-yasg-1.14.0[${PYTHON_USEDEP},validation] + >=dev-python/graphviz-0.10.1[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10[${PYTHON_USEDEP}] + >=dev-python/markdown-2.6.11[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.19[${PYTHON_USEDEP}] + >=dev-python/pillow-5.3.0[${PYTHON_USEDEP}] + >=dev-python/psycopg-2.7.6.1[${PYTHON_USEDEP}] + >=dev-python/py-gfm-0.1.4[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.7.2[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + ldap? ( >=dev-python/django-auth-ldap-1.7[${PYTHON_USEDEP}] ) + webhooks? ( dev-python/django-rq )" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-no-pip.patch + ) + +DISABLE_AUTOFORMATTING=YES +DOC_CONTENTS=" +netbox is installed on your system. However, there are some manual steps +you need to complete. + +If this is a new installation, please follow these instructions: + +From the installation instructions [1], you need to configure postgres +ldap and webhooks if you want to use them. Then, you need to +configure and install a web server. Gunicorn is already installed, so +skip that step. + +Once that is done, you should be able to add the netbox service to the +default runlevel and start it. + +If you have webhooks turned on, you should also add the netbox-rqworker + to the default runlevel and start it. + +The files you need to edit are located in /etc/netbox, not /opt/netbox, +as shown in the installation instructions. + +If this is an upgrade, you just need to stop the netbox service, + run the /opt/netbox/upgrade.sh script, check for new configuration + options in the installation documentation [1] then restart the + service. + +[1] https://netbox.readthedocs.io/en/stable/installation/ +" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} +} + +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 + fperms o= /etc/netbox/configuration.py /etc/netbox/gunicorn_config.py + newinitd "${FILESDIR}"/${PN}.initd ${PN} + use webhooks && + newinitd "${FILESDIR}"/${PN}-rqworker.initd ${PN}-rqworker + 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 +} diff --git a/www-apps/netbox/netbox-2.5.10.ebuild b/www-apps/netbox/netbox-2.5.10.ebuild new file mode 100644 index 000000000000..efa1ca65e925 --- /dev/null +++ b/www-apps/netbox/netbox-2.5.10.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_6 ) +inherit python-single-r1 user readme.gentoo-r1 + +DESCRIPTION="IP address and data center infrastructure management tool" +HOMEPAGE="https://github.com/digitalocean/netbox" +SRC_URI="https://github.com/digitalocean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="ldap webhooks" + +RDEPEND=">=dev-python/django-2.1.5[${PYTHON_USEDEP}] + >=dev-python/django-cors-headers-2.4.0[${PYTHON_USEDEP}] + >=dev-python/django-debug-toolbar-1.11[${PYTHON_USEDEP}] + >=dev-python/django-filter-2.0.0[${PYTHON_USEDEP}] + >=dev-python/django-mptt-0.9.1[${PYTHON_USEDEP}] + >=dev-python/django-tables2-2.0.3[${PYTHON_USEDEP}] + >=dev-python/django-taggit-0.23.0[${PYTHON_USEDEP}] + >=dev-python/django-taggit-serializer-0.1.7[${PYTHON_USEDEP}] + >=dev-python/django-timezone-field-3.0[${PYTHON_USEDEP}] + >=dev-python/djangorestframework-3.9.0[${PYTHON_USEDEP}] + >=dev-python/drf-yasg-1.14.0[${PYTHON_USEDEP},validation] + >=dev-python/graphviz-0.10.1[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10[${PYTHON_USEDEP}] + >=dev-python/markdown-2.6.11[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.19[${PYTHON_USEDEP}] + >=dev-python/pillow-5.3.0[${PYTHON_USEDEP}] + >=dev-python/psycopg-2.7.6.1[${PYTHON_USEDEP}] + >=dev-python/py-gfm-0.1.4[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.7.2[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + ldap? ( >=dev-python/django-auth-ldap-1.7[${PYTHON_USEDEP}] ) + webhooks? ( dev-python/django-rq )" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-no-pip.patch + ) + +DISABLE_AUTOFORMATTING=YES +DOC_CONTENTS=" +netbox is installed on your system. However, there are some manual steps +you need to complete. + +If this is a new installation, please follow these instructions: + +From the installation instructions [1], you need to configure postgres +ldap and webhooks if you want to use them. Then, you need to +configure and install a web server. Gunicorn is already installed, so +skip that step. + +Once that is done, you should be able to add the netbox service to the +default runlevel and start it. + +If you have webhooks turned on, you should also add the netbox-rqworker + to the default runlevel and start it. + +The files you need to edit are located in /etc/netbox, not /opt/netbox, +as shown in the installation instructions. + +If this is an upgrade, you just need to stop the netbox service, + run the /opt/netbox/upgrade.sh script, check for new configuration + options in the installation documentation [1] then restart the + service. + +[1] https://netbox.readthedocs.io/en/stable/installation/ +" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /opt/${PN} ${PN} +} + +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 + fperms o= /etc/netbox/configuration.py /etc/netbox/gunicorn_config.py + newinitd "${FILESDIR}"/${PN}.initd ${PN} + use webhooks && + newinitd "${FILESDIR}"/${PN}-rqworker.initd ${PN}-rqworker + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} -- cgit v1.2.3