www-apps/netbox: add 3.5.8

Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
Alarig Le Lay 2024-08-27 18:14:01 +02:00
parent 87deffe716
commit 2069d8af62
Signed by: alarig
GPG key ID: 7AFE62C6DF8BCDEC
3 changed files with 253 additions and 0 deletions

View file

@ -2,3 +2,4 @@ DIST netbox-3.1.11.tar.gz 4408997 BLAKE2B 2cb3b13d1ba0345c90bd7657a6cd16ebae1386
DIST netbox-3.2.9.tar.gz 4837923 BLAKE2B 396789648aa529682600de22d90f4639f4fbee2cf42dc9a72f63f1f3dbd8af9a0a27a320cbe66d90294f98b5831f0a7233566eebce7eea19549e7b89b11d5fd6 SHA512 e221a82e7d119e8f03f3d5364551c7a0634cb5f0db4f2bfad79109fbec2955de36a5323bbb7d846f762d30a12bd70f4206485fd9d703ad3573e33cbd2dbca286
DIST netbox-3.3.9.tar.gz 7315280 BLAKE2B f3b8ec5ca83e98138f6ccd140af2f59776020e8f1e438a92fab2523700a7b6e2f712472874cd368c586c94975c1120e4431b0b3cafc360a455975960adaa4eff SHA512 2bb1868bbf86a7538bb4bfc6256f094360a4779c9e5dafaf1d9fb925c116a59a3f244d5b0b62f2df9b1d7e7b9608cc1498067fab639e29e0486e469e2e285cf8
DIST netbox-3.4.9.tar.gz 7411506 BLAKE2B 3c32365cb727bbbe1d62cb6dca5e58406199af5babddaa87d05e79f543c3f8910bfcd2726a7aed6fb49a9d148af506d39cef4c971e2e84fbeb51feb6a66418bc SHA512 40e858cbc87460c22c7a138fdb9b33bb815043d53537e160466251066918d873b2037244dad4d4f0529375ee5561827f1129274e2a0b5d1318ac483d008fe445
DIST netbox-3.5.8.tar.gz 5776278 BLAKE2B 097ab2e765408dbfc23761df1684be5e9f57d781c5864708404493c3376ec96e294b5626285ef8e277e03b3654342e9a863de82c277c0e529db3e6cdb71b7bbe SHA512 067c3ce2dadb9f36eb53ce21ce776ceb1dcb35f4a2411eca519e0f64498a1ed082d1b2bd59f8a08ccd522021919ea812dae6d027d0dfd694da3fcb4f7d601af0

View file

@ -0,0 +1,88 @@
--- netbox-3.5.8/upgrade.sh 2024-08-27 18:12:00.087046135 +0200
+++ netbox-3.5.8/upgrade.sh 2024-08-27 18:12:57.437459367 +0200
@@ -7,76 +7,6 @@
# Python 3.8 or later.
cd "$(dirname "$0")"
-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"
@@ -91,7 +21,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"

View file

@ -0,0 +1,164 @@
# 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-6.0.0[${PYTHON_USEDEP}]
>=dev-python/boto3-1.28.26[${PYTHON_USEDEP}]
<dev-python/django-4.2[${PYTHON_USEDEP}]
>=dev-python/django-4.1.10[${PYTHON_USEDEP}]
>=dev-python/django-cors-headers-4.2.0[${PYTHON_USEDEP}]
>=dev-python/django-debug-toolbar-4.2.0[${PYTHON_USEDEP}]
>=dev-python/django-filter-23.2[${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.3.1[${PYTHON_USEDEP}]
>=dev-python/django-redis-5.3.0[${PYTHON_USEDEP}]
>=dev-python/django-rich-1.7.0[${PYTHON_USEDEP}]
>=dev-python/django-rq-2.8.1[${PYTHON_USEDEP}]
>=dev-python/django-tables2-2.6.0[${PYTHON_USEDEP}]
>=dev-python/django-taggit-4.0.0[${PYTHON_USEDEP}]
>=dev-python/django-timezone-field-5.1[${PYTHON_USEDEP}]
>=dev-python/djangorestframework-3.14.0[${PYTHON_USEDEP}]
>=dev-python/drf-yasg-1.21.5[${PYTHON_USEDEP},validation]
>=dev-python/drf-spectacular-0.26.4[${PYTHON_USEDEP}]
>=dev-python/drf-spectacular-sidecar-2023.8.1[${PYTHON_USEDEP}]
>=dev-python/dulwich-0.21.5[${PYTHON_USEDEP}]
>=dev-python/feedparser-6.0.10[${PYTHON_USEDEP}]
>=dev-python/graphene-django-3.0.0[${PYTHON_USEDEP}]
>=www-servers/gunicorn-21.2.0[${PYTHON_USEDEP}]
>=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
>=dev-python/markdown-3.3.7[${PYTHON_USEDEP}]
>=dev-python/mkdocs-material-9.1.21[${PYTHON_USEDEP}]
dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.8.0[${PYTHON_USEDEP}]
>=dev-python/pillow-10.0.0[${PYTHON_USEDEP}]
dev-python/psycopg:2[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
>=dev-python/sentry-sdk-1.29.2[${PYTHON_USEDEP}]
>=dev-python/social-auth-app-django-5.2.0[${PYTHON_USEDEP}]
>=dev-python/social-auth-core-4.4.2[${PYTHON_USEDEP}]
dev-python/python-jose[${PYTHON_USEDEP}]
>=dev-python/svgwrite-1.4.3[${PYTHON_USEDEP}]
>=dev-python/tablib-3.5.0[${PYTHON_USEDEP}]
>=dev-python/tzdata-2023.3[${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_prepare() {
default
python_fix_shebang netbox/manage.py
}
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}"
}