www-apps/netbox: add 3.1.11

Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
Alarig Le Lay 2024-08-21 12:22:36 +02:00
parent 15b4796c36
commit 8f2e03df5e
Signed by: alarig
GPG key ID: 7AFE62C6DF8BCDEC
3 changed files with 229 additions and 0 deletions

View file

@ -1 +1,2 @@
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

View file

@ -0,0 +1,79 @@
--- a/upgrade.sh 2024-08-21 11:23:13.710528380 +0200
+++ b/upgrade.sh 2024-08-21 11:24:03.764192726 +0200
@@ -7,76 +7,6 @@
# Python 3.7 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, 7) else 0)'"
-PYTHON_VERSION=$(eval "${PYTHON} -V")
-eval $COMMAND || {
- echo "--------------------------------------------------------------------"
- echo "ERROR: Unsupported Python version: ${PYTHON_VERSION}. NetBox requires"
- echo "Python 3.7 or later. To specify an alternate Python executable, set"
- echo "the PYTHON environment variable. For example:"
- echo ""
- echo " sudo PYTHON=/usr/bin/python3.7 ./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"

View file

@ -0,0 +1,149 @@
# 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/django-3.2.12[${PYTHON_USEDEP}]
<dev-python/django-4[${PYTHON_USEDEP}]
>=dev-python/django-cors-headers-3.11.0[${PYTHON_USEDEP}]
>=dev-python/django-debug-toolbar-3.2.4[${PYTHON_USEDEP}]
>=dev-python/django-filter-21.1[${PYTHON_USEDEP}]
>=dev-python/django-graphiql-debug-toolbar-0.2.0[${PYTHON_USEDEP}]
>=dev-python/django-mptt-0.13.4[${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.5.1[${PYTHON_USEDEP}]
>=dev-python/django-tables2-2.4.1[${PYTHON_USEDEP}]
>=dev-python/django-taggit-2.1.0[${PYTHON_USEDEP}]
>=dev-python/django-timezone-field-5.0[${PYTHON_USEDEP}]
>=dev-python/djangorestframework-3.12.4[${PYTHON_USEDEP}]
>=dev-python/drf-yasg-1.20.0[${PYTHON_USEDEP},validation]
>=dev-python/graphene-django-2.15.0[${PYTHON_USEDEP}]
>=www-servers/gunicorn-20.1.0[${PYTHON_USEDEP}]
>=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
>=dev-python/markdown-3.3.6[${PYTHON_USEDEP}]
>=dev-python/markdown-include-0.6.0[${PYTHON_USEDEP}]
>=dev-python/mkdocs-material-8.2.8[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.8.0[${PYTHON_USEDEP}]
>=dev-python/pillow-9.0.1[${PYTHON_USEDEP}]
dev-python/psycopg:2[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
>=dev-python/svgwrite-1.4.2[${PYTHON_USEDEP}]
>=dev-python/tablib-3.2.0[${PYTHON_USEDEP}]
>=dev-python/tzdata-2021.5[${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}"
}