www-apps/netbox: add 4.1.11

Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
Alarig Le Lay 2025-01-07 22:34:29 +01:00
parent 468b47506f
commit a1a2a24dd2
Signed by: alarig
GPG key ID: 7AFE62C6DF8BCDEC
3 changed files with 257 additions and 0 deletions

View file

@ -1,2 +1,3 @@
DIST netbox-3.6.8.tar.gz 7286549 BLAKE2B afd222cc79a665e5a3ab0d4d59c87b6a272b7e2109191105cb4816c9733b5f8222c9f130662d54e4466d05d1aa786890d420b552411808c9edb2b44b40be322d SHA512 1c33856231a85b866d3b7d8b2bb8e88e235210b251004fe7ce4d339f9c3c403f22f727e4bf61fb8a841a8809c97f20780982ac6120cf11704b908669e1d32852
DIST netbox-4.0.11.tar.gz 19402442 BLAKE2B 404ac51c4758f5afa35296b5b41b3384768c9caf3b23023a9aa4f1aa5caf8d5224ac4909284fd9ea6db54d49c5a2fc571db791447349df526fed7ead6b835072 SHA512 172f8ad1785f28b7ebe5a5e84d06da6420b2ff0296eb0b5ad80c3a0bb263973e84174eaf8cd0b782413f806183915b6b0bb4ba217dbc042e5edc040689874470
DIST netbox-4.1.11.tar.gz 18113538 BLAKE2B 9794c065d63b78ce4df415d69eb810fa0bf99ed6d5a3793934afd86bdb0d9bd2a6b5defa5d030f73775d7ca3ee3d70e48de32d39ab69b9f647ffd3e46621f141 SHA512 5a376ef05ac4721fd061f2658a3d192fe80e1cdbee363eb47f1f673f5cc6cb3d8302270bd86e994ad1dc46850572792251205255be44eba6facce4b768aaeeeb

View file

@ -0,0 +1,94 @@
--- netbox-4.1.11/upgrade.sh 2025-01-07 22:30:02.258576535 +0100
+++ netbox-4.1.11/upgrade.sh 2025-01-07 22:32:03.712890624 +0100
@@ -6,82 +6,6 @@
# variable (if set), or fall back to "python3". Note that NetBox v4.0+ requires
# Python 3.10 or later.
-cd "$(dirname "$0")"
-
-NETBOX_VERSION="$(grep ^version netbox/release.yaml | cut -d \" -f2)"
-echo "You are installing (or upgrading to) NetBox version ${NETBOX_VERSION}"
-
-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, 10) else 0)'"
-PYTHON_VERSION=$(eval "${PYTHON} -V")
-eval $COMMAND || {
- echo "--------------------------------------------------------------------"
- echo "ERROR: Unsupported Python version: ${PYTHON_VERSION}. NetBox requires"
- echo "Python 3.10 or later. To specify an alternate Python executable, set"
- echo "the PYTHON environment variable. For example:"
- echo ""
- echo " sudo PYTHON=/usr/bin/python3.10 ./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)..."
@@ -95,7 +19,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,162 @@
# 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-5.1[${PYTHON_USEDEP}]
>=dev-python/django-5.0.10[${PYTHON_USEDEP}]
>=dev-python/django-cors-headers-4.6.0[${PYTHON_USEDEP}]
>=dev-python/django-debug-toolbar-4.4.6[${PYTHON_USEDEP}]
>=dev-python/django-filter-24.3[${PYTHON_USEDEP}]
>=dev-python/django-htmx-1.21.0[${PYTHON_USEDEP}]
>=dev-python/django-graphiql-debug-toolbar-0.2.0[${PYTHON_USEDEP}]
>=dev-python/django-mptt-0.16.0[${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.4.0[${PYTHON_USEDEP}]
>=dev-python/django-rich-1.13.0[${PYTHON_USEDEP}]
>=dev-python/django-rq-3.0[${PYTHON_USEDEP}]
>=dev-python/django-taggit-6.1.0[${PYTHON_USEDEP}]
>=dev-python/django-tables2-2.7.5[${PYTHON_USEDEP}]
>=dev-python/django-timezone-field-7.0[${PYTHON_USEDEP}]
>=dev-python/djangorestframework-3.15.2[${PYTHON_USEDEP}]
>=dev-python/drf-spectacular-0.28.0[${PYTHON_USEDEP}]
>=dev-python/drf-spectacular-sidecar-2024.12.1[${PYTHON_USEDEP}]
>=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}]
>=www-servers/gunicorn-23.0.0[${PYTHON_USEDEP}]
>=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
>=dev-python/markdown-3.7[${PYTHON_USEDEP}]
>=dev-python/mkdocs-material-9.5.49[${PYTHON_USEDEP}]
dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
>=dev-python/netaddr-1.3.0[${PYTHON_USEDEP}]
>=dev-python/nh3-0.2.20[${PYTHON_USEDEP}]
>=dev-python/pillow-11.1.0[${PYTHON_USEDEP}]
>=dev-python/psycopg-3.2.3[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0.2[${PYTHON_USEDEP}]
>=dev-python/requests-2.32.3[${PYTHON_USEDEP}]
>=dev-python/social-auth-app-django-5.4.2[${PYTHON_USEDEP}]
>=dev-python/social-auth-core-4.5.4[${PYTHON_USEDEP}]
>=dev-python/strawberry-graphql-0.256.1[${PYTHON_USEDEP}]
>=dev-python/strawberry-graphql-django-0.53.1[${PYTHON_USEDEP}]
>=dev-python/svgwrite-1.4.3[${PYTHON_USEDEP}]
>=dev-python/tablib-3.7.0[${PYTHON_USEDEP}]
>=dev-python/tzdata-2024.2[${PYTHON_USEDEP}]
ldap? ( dev-python/django-auth-ldap[${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}"
}