www-apps/netbox: add 3.3.9
Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
parent
d902bbe190
commit
cbbaa54c71
|
@ -1,3 +1,4 @@
|
||||||
DIST netbox-3.0.12.tar.gz 4498000 BLAKE2B 3ae2865417eac202fba2066ad28cacb000efc845df14e534e87841f398ca4a063c34cfb82eee383d56043576ba5a44e7e419c57d5407247f03ffe8a6eb41ea14 SHA512 92ffbae37f718ef5609954d551e3432a33f9a3712047666ae75ad6fd71eed2028de2c6a24bb94fdfbd233caa9f644f89e0e9b59ddd416798431454a4fe0db9e7
|
DIST netbox-3.0.12.tar.gz 4498000 BLAKE2B 3ae2865417eac202fba2066ad28cacb000efc845df14e534e87841f398ca4a063c34cfb82eee383d56043576ba5a44e7e419c57d5407247f03ffe8a6eb41ea14 SHA512 92ffbae37f718ef5609954d551e3432a33f9a3712047666ae75ad6fd71eed2028de2c6a24bb94fdfbd233caa9f644f89e0e9b59ddd416798431454a4fe0db9e7
|
||||||
DIST netbox-3.1.11.tar.gz 4408997 BLAKE2B 2cb3b13d1ba0345c90bd7657a6cd16ebae1386a5749e9b60e7f91604f992af6c53c6755f02c42079033312fea1a8d3b91eb023be05ec722bfb94408e59a60568 SHA512 c921fe373b4cf127cadab7b36d5cee1a0c78dd5d648dbb4c09e5de0351a560411abc57f7958eb9b3dec720b48022ecce1de9b0fa70174caaf442b02bda785ede
|
DIST netbox-3.1.11.tar.gz 4408997 BLAKE2B 2cb3b13d1ba0345c90bd7657a6cd16ebae1386a5749e9b60e7f91604f992af6c53c6755f02c42079033312fea1a8d3b91eb023be05ec722bfb94408e59a60568 SHA512 c921fe373b4cf127cadab7b36d5cee1a0c78dd5d648dbb4c09e5de0351a560411abc57f7958eb9b3dec720b48022ecce1de9b0fa70174caaf442b02bda785ede
|
||||||
DIST netbox-3.2.9.tar.gz 4837923 BLAKE2B 396789648aa529682600de22d90f4639f4fbee2cf42dc9a72f63f1f3dbd8af9a0a27a320cbe66d90294f98b5831f0a7233566eebce7eea19549e7b89b11d5fd6 SHA512 e221a82e7d119e8f03f3d5364551c7a0634cb5f0db4f2bfad79109fbec2955de36a5323bbb7d846f762d30a12bd70f4206485fd9d703ad3573e33cbd2dbca286
|
DIST netbox-3.2.9.tar.gz 4837923 BLAKE2B 396789648aa529682600de22d90f4639f4fbee2cf42dc9a72f63f1f3dbd8af9a0a27a320cbe66d90294f98b5831f0a7233566eebce7eea19549e7b89b11d5fd6 SHA512 e221a82e7d119e8f03f3d5364551c7a0634cb5f0db4f2bfad79109fbec2955de36a5323bbb7d846f762d30a12bd70f4206485fd9d703ad3573e33cbd2dbca286
|
||||||
|
DIST netbox-3.3.9.tar.gz 7315280 BLAKE2B f3b8ec5ca83e98138f6ccd140af2f59776020e8f1e438a92fab2523700a7b6e2f712472874cd368c586c94975c1120e4431b0b3cafc360a455975960adaa4eff SHA512 2bb1868bbf86a7538bb4bfc6256f094360a4779c9e5dafaf1d9fb925c116a59a3f244d5b0b62f2df9b1d7e7b9608cc1498067fab639e29e0486e469e2e285cf8
|
||||||
|
|
86
www-apps/netbox/files/netbox-3.3.9-no-pip.patch
Normal file
86
www-apps/netbox/files/netbox-3.3.9-no-pip.patch
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
--- netbox-3.3.9/upgrade.sh 2024-08-22 01:11:02.564925280 +0200
|
||||||
|
+++ netbox-3.3.9/upgrade.sh 2024-08-22 01:12:07.275402762 +0200
|
||||||
|
@@ -10,74 +10,6 @@
|
||||||
|
VIRTUALENV="$(pwd -P)/venv"
|
||||||
|
PYTHON="${PYTHON:-python3}"
|
||||||
|
|
||||||
|
-# Validate the minimum required Python version
|
||||||
|
-COMMAND="${PYTHON} -c 'import sys; exit(1 if sys.version_info < (3, 8) else 0)'"
|
||||||
|
-PYTHON_VERSION=$(eval "${PYTHON} -V")
|
||||||
|
-eval $COMMAND || {
|
||||||
|
- echo "--------------------------------------------------------------------"
|
||||||
|
- echo "ERROR: Unsupported Python version: ${PYTHON_VERSION}. NetBox requires"
|
||||||
|
- echo "Python 3.8 or later. To specify an alternate Python executable, set"
|
||||||
|
- echo "the PYTHON environment variable. For example:"
|
||||||
|
- echo ""
|
||||||
|
- echo " sudo PYTHON=/usr/bin/python3.8 ./upgrade.sh"
|
||||||
|
- echo ""
|
||||||
|
- echo "To show your current Python version: ${PYTHON} -V"
|
||||||
|
- echo "--------------------------------------------------------------------"
|
||||||
|
- exit 1
|
||||||
|
-}
|
||||||
|
-echo "Using ${PYTHON_VERSION}"
|
||||||
|
-
|
||||||
|
-# Remove the existing virtual environment (if any)
|
||||||
|
-if [ -d "$VIRTUALENV" ]; then
|
||||||
|
- COMMAND="rm -rf ${VIRTUALENV}"
|
||||||
|
- echo "Removing old virtual environment..."
|
||||||
|
- eval $COMMAND
|
||||||
|
-else
|
||||||
|
- WARN_MISSING_VENV=1
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
-# Create a new virtual environment
|
||||||
|
-COMMAND="${PYTHON} -m venv ${VIRTUALENV}"
|
||||||
|
-echo "Creating a new virtual environment at ${VIRTUALENV}..."
|
||||||
|
-eval $COMMAND || {
|
||||||
|
- echo "--------------------------------------------------------------------"
|
||||||
|
- echo "ERROR: Failed to create the virtual environment. Check that you have"
|
||||||
|
- echo "the required system packages installed and the following path is"
|
||||||
|
- echo "writable: ${VIRTUALENV}"
|
||||||
|
- echo "--------------------------------------------------------------------"
|
||||||
|
- exit 1
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-# Activate the virtual environment
|
||||||
|
-source "${VIRTUALENV}/bin/activate"
|
||||||
|
-
|
||||||
|
-# Upgrade pip
|
||||||
|
-COMMAND="pip install --upgrade pip"
|
||||||
|
-echo "Updating pip ($COMMAND)..."
|
||||||
|
-eval $COMMAND || exit 1
|
||||||
|
-pip -V
|
||||||
|
-
|
||||||
|
-# Install necessary system packages
|
||||||
|
-COMMAND="pip install wheel"
|
||||||
|
-echo "Installing Python system packages ($COMMAND)..."
|
||||||
|
-eval $COMMAND || exit 1
|
||||||
|
-
|
||||||
|
-# Install required Python packages
|
||||||
|
-COMMAND="pip install -r requirements.txt"
|
||||||
|
-echo "Installing core dependencies ($COMMAND)..."
|
||||||
|
-eval $COMMAND || exit 1
|
||||||
|
-
|
||||||
|
-# Install optional packages (if any)
|
||||||
|
-if [ -s "local_requirements.txt" ]; then
|
||||||
|
- COMMAND="pip install -r local_requirements.txt"
|
||||||
|
- echo "Installing local dependencies ($COMMAND)..."
|
||||||
|
- eval $COMMAND || exit 1
|
||||||
|
-elif [ -f "local_requirements.txt" ]; then
|
||||||
|
- echo "Skipping local dependencies (local_requirements.txt is empty)"
|
||||||
|
-else
|
||||||
|
- echo "Skipping local dependencies (local_requirements.txt not found)"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
# Apply any database migrations
|
||||||
|
COMMAND="python3 netbox/manage.py migrate"
|
||||||
|
echo "Applying database migrations ($COMMAND)..."
|
||||||
|
@@ -91,7 +23,7 @@
|
||||||
|
# Build the local documentation
|
||||||
|
COMMAND="mkdocs build"
|
||||||
|
echo "Building documentation ($COMMAND)..."
|
||||||
|
-eval $COMMAND || exit 1
|
||||||
|
+eval $COMMAND || echo "Making doc failed but who cares"
|
||||||
|
|
||||||
|
# Collect static files
|
||||||
|
COMMAND="python3 netbox/manage.py collectstatic --no-input"
|
153
www-apps/netbox/netbox-3.3.9.ebuild
Normal file
153
www-apps/netbox/netbox-3.3.9.ebuild
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
PYTHON_COMPAT=( python3_{11..12} )
|
||||||
|
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/bleach-5.0.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-4.0.8[${PYTHON_USEDEP}]
|
||||||
|
<dev-python/django-4.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-cors-headers-3.13.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-debug-toolbar-3.7.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-filter-22.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-graphiql-debug-toolbar-0.2.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-mptt-0.14[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-pglocks-1.0.4[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-prometheus-2.2.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-redis-5.2.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-rq-2.6.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-tables2-2.4.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-taggit-3.1.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/django-timezone-field-5.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/djangorestframework-3.14.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/drf-yasg-1.21.4[${PYTHON_USEDEP},validation]
|
||||||
|
>=dev-python/graphene-django-2.15.0[${PYTHON_USEDEP}]
|
||||||
|
>=www-servers/gunicorn-20.1.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/markdown-3.3.7[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/mkdocs-material-8.5.11[${PYTHON_USEDEP}]
|
||||||
|
dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/netaddr-0.8.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/pillow-9.3.0[${PYTHON_USEDEP}]
|
||||||
|
dev-python/psycopg:2[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/sentry-sdk-1.11.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/social-auth-app-django-5.0.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/social-auth-core-4.3.0[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/svgwrite-1.4.3[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/tablib-3.2.1[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/tzdata-2022.7[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
|
||||||
|
ldap? ( >=dev-python/django-auth-ldap-4.1.0[${PYTHON_USEDEP}] )
|
||||||
|
')"
|
||||||
|
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 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
|
||||||
|
for LAST_PREVIOUS_VERSION in $REPLACING_VERSIONS; do
|
||||||
|
if [[ "$LAST_PREVIOUS_VERSION" = "2.5.10" ]]; then
|
||||||
|
ewarn "The home directory of the netbox user is now /var/lib/netbox"
|
||||||
|
ewarn "Please adjust your system."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${LAST_PREVIOUS_VERSION}" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
LAST_BASE_DIRECTORY="/opt/netbox-${LAST_PREVIOUS_VERSION}"
|
||||||
|
NBCP="su -l ${PN} -s /bin/sh -c cp"
|
||||||
|
if [ -f "${LAST_BASE_DIRECTORY}/local_requirements.txt}" ]; then
|
||||||
|
${NBCP} "${LAST_BASE_DIRECTORY}/local_requirements.txt}" /opt/netbox
|
||||||
|
fi
|
||||||
|
if [ -f "${LAST_BASE_DIRECTORY}/netbox/netbox/ldap_config.py" ]; then
|
||||||
|
${NBCP} "${LAST_BASE_DIRECTORY}/netbox/netbox/ldap_config.py" /opt/netbox/netbox/netbox/
|
||||||
|
fi
|
||||||
|
if [ -d "${LAST_BASE_DIRECTORY}/netbox/media" ]; then
|
||||||
|
${NBCP} -pr "${LAST_BASE_DIRECTORY}/netbox/media" /opt/netbox/netbox/
|
||||||
|
fi
|
||||||
|
if [ -d "${LAST_BASE_DIRECTORY}/netbox/scripts" ]; then
|
||||||
|
${NBCP} -pr "${LAST_BASE_DIRECTORY}/netbox/scripts" /opt/netbox/netbox/
|
||||||
|
fi
|
||||||
|
if [ -d "${LAST_BASE_DIRECTORY}/netbox/reports" ]; then
|
||||||
|
${NBCP} -pr "${LAST_BASE_DIRECTORY}/netbox/reports" /opt/netbox/netbox/
|
||||||
|
fi
|
||||||
|
su -p -s /bin/sh -c "/opt/${P}/upgrade.sh" "${PN}"
|
||||||
|
}
|
Loading…
Reference in a new issue