www-apps/netbox: add 3.5.8
Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
parent
87deffe716
commit
2069d8af62
|
@ -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.2.9.tar.gz 4837923 BLAKE2B 396789648aa529682600de22d90f4639f4fbee2cf42dc9a72f63f1f3dbd8af9a0a27a320cbe66d90294f98b5831f0a7233566eebce7eea19549e7b89b11d5fd6 SHA512 e221a82e7d119e8f03f3d5364551c7a0634cb5f0db4f2bfad79109fbec2955de36a5323bbb7d846f762d30a12bd70f4206485fd9d703ad3573e33cbd2dbca286
|
||||||
DIST netbox-3.3.9.tar.gz 7315280 BLAKE2B f3b8ec5ca83e98138f6ccd140af2f59776020e8f1e438a92fab2523700a7b6e2f712472874cd368c586c94975c1120e4431b0b3cafc360a455975960adaa4eff SHA512 2bb1868bbf86a7538bb4bfc6256f094360a4779c9e5dafaf1d9fb925c116a59a3f244d5b0b62f2df9b1d7e7b9608cc1498067fab639e29e0486e469e2e285cf8
|
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.4.9.tar.gz 7411506 BLAKE2B 3c32365cb727bbbe1d62cb6dca5e58406199af5babddaa87d05e79f543c3f8910bfcd2726a7aed6fb49a9d148af506d39cef4c971e2e84fbeb51feb6a66418bc SHA512 40e858cbc87460c22c7a138fdb9b33bb815043d53537e160466251066918d873b2037244dad4d4f0529375ee5561827f1129274e2a0b5d1318ac483d008fe445
|
||||||
|
DIST netbox-3.5.8.tar.gz 5776278 BLAKE2B 097ab2e765408dbfc23761df1684be5e9f57d781c5864708404493c3376ec96e294b5626285ef8e277e03b3654342e9a863de82c277c0e529db3e6cdb71b7bbe SHA512 067c3ce2dadb9f36eb53ce21ce776ceb1dcb35f4a2411eca519e0f64498a1ed082d1b2bd59f8a08ccd522021919ea812dae6d027d0dfd694da3fcb4f7d601af0
|
||||||
|
|
88
www-apps/netbox/files/netbox-3.5.8-no-pip.patch
Normal file
88
www-apps/netbox/files/netbox-3.5.8-no-pip.patch
Normal 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"
|
164
www-apps/netbox/netbox-3.5.8.ebuild
Normal file
164
www-apps/netbox/netbox-3.5.8.ebuild
Normal 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}"
|
||||||
|
}
|
Loading…
Reference in a new issue