summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2022-01-06 09:07:42 +0100
committerFabian Groffen <grobian@gentoo.org>2022-01-06 09:07:42 +0100
commita71dd49cbd39fe665d469ff392d31816436610a1 (patch)
tree6f78608cbc9215759284d9c33757b8674706cbad
parentsys-kernel/pf-sources: add 5.15-pf6 (diff)
downloadgentoo-a71dd49c.tar.gz
gentoo-a71dd49c.tar.bz2
gentoo-a71dd49c.zip
net-analyzer/graphite-web-1.1.8: version bump, fix pyparsing interaction
Closes: https://bugs.gentoo.org/829727 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--net-analyzer/graphite-web/Manifest3
-rw-r--r--net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch60
-rw-r--r--net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild93
-rw-r--r--net-analyzer/graphite-web/graphite-web-1.1.8.ebuild (renamed from net-analyzer/graphite-web/graphite-web-1.1.7.ebuild)6
4 files changed, 65 insertions, 97 deletions
diff --git a/net-analyzer/graphite-web/Manifest b/net-analyzer/graphite-web/Manifest
index 7a5d3aca5d0a..d34c717db751 100644
--- a/net-analyzer/graphite-web/Manifest
+++ b/net-analyzer/graphite-web/Manifest
@@ -1,2 +1 @@
-DIST graphite-web-1.1.5.tar.gz 1173809 BLAKE2B 94a1b4deab3159d3bde2d3c8b6f9664f39942cb1b815ce042b196be3c0e769ee1acac4b619135e9471360849308b90e02e1df4f7d6b7d0ef31e46d38ee2425e5 SHA512 b2097609ca77a40e6e7d83a3141335e2208d69e7f4edbac8ce3505ed9dd654589836a3b3498bfb7f7585332bceeb8e367f0c10f3cf6afdb5ad6b96377338a7bb
-DIST graphite-web-1.1.7.tar.gz 1173818 BLAKE2B e2373360897c1447d60cbf84e5d0dd280130730f617ba12cf0195ed2539f55bcfe8a1cb3b6b9e4f9540a6f08ecb7870072aa61447012baa5553878ebf417937f SHA512 eb0a1de35d3535bd1fdc4e6edc6fe50fd6c8789fef4807eb4cd30d6b20e91e09d21daedb80f55339a8c05325db8fe1038e7a461bf155e41555dee60160d5b241
+DIST graphite-web-1.1.8.tar.gz 1177214 BLAKE2B 20e058feff0fa7f12393cfd41acca7cf05ff6a3995aa5f6547764fae3b8824e8b424efb8d5d47227eb2b5591ae6b45ab960da30f810acb4f1fbd0b9ae78ec47b SHA512 4637a541e61f56c1ac69bf18e7eab88ecf93f59099dc3e8022d8bf8fb1b204672bc0a1b5302e5031701714db17aabb316ba40f4cfabb2bf4fb0dedb8f412e4a9
diff --git a/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch b/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch
new file mode 100644
index 000000000000..6a1c44ff0109
--- /dev/null
+++ b/net-analyzer/graphite-web/files/graphite-web-1.1.8-pyparsing3.patch
@@ -0,0 +1,60 @@
+Modified to apply on 1.1.8 release
+
+From 5de8405307ded14930b3381380e9f91e583172a9 Mon Sep 17 00:00:00 2001
+From: parrotpock <51694161+parrotpock@users.noreply.github.com>
+Date: Mon, 15 Nov 2021 17:39:23 +0100
+Subject: [PATCH] Fix pyparsing > 3.0 compatibility issue. (#2727)
+
+* Fix bool() issue in recursion termination check.
+
+The behaviour of ParsedResults seems to have changed in the way that
+the usage of pop() along with the bool() check on the object interact
+wrt checking if there are further elements in the parsed structure to
+consume. In version > 3.0 bool() checks whether either the internal
+_toklist or _tokdict members contain items left to consume and returns
+True if either do, whereas pop with no arguments will only consume from
+the underlying list. That means that we would get a True in the if
+condition in this code, whereas a subsequent call to pop() would throw
+an exception. Calling asList() forces the use of the list representation
+in the bool check here and so fixes this issue.
+
+* Fix pyparsing backwards compatibility issue.
+
+* Remove upper-bound on pin.
+
+* Add pyparsing3 test target for versions >= 3.0.6
+
+* Remove try/except, use dictionary key index syntax
+
+Co-authored-by: Ubuntu <ubuntu@ip-172-31-7-19.eu-west-1.compute.internal>
+---
+ webapp/graphite/render/evaluator.py | 2 +-
+ webapp/graphite/render/grammar_unsafe.py | 2 +-
+ 4 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/webapp/graphite/render/evaluator.py b/webapp/graphite/render/evaluator.py
+index 748626ed0c..12179dcc44 100644
+--- a/webapp/graphite/render/evaluator.py
++++ b/webapp/graphite/render/evaluator.py
+@@ -58,7 +58,7 @@ def evaluateTokens(requestContext, tokens, replacements=None, pipedArg=None):
+ return evaluateTokens(requestContext, tokens.template, arglist)
+
+ if tokens.expression:
+- if tokens.expression.pipedCalls:
++ if tokens.expression.pipedCalls.asList():
+ # when the expression has piped calls, we pop the right-most call and pass the remaining
+ # expression into it via pipedArg, to get the same result as a nested call
+ rightMost = tokens.expression.pipedCalls.pop()
+diff --git a/webapp/graphite/render/grammar_unsafe.py b/webapp/graphite/render/grammar_unsafe.py
+index f25b5eff8f..2481176b53 100644
+--- a/webapp/graphite/render/grammar_unsafe.py
++++ b/webapp/graphite/render/grammar_unsafe.py
+@@ -80,7 +80,7 @@
+
+
+ def setRaw(s, loc, toks):
+- toks[0].raw = s[toks[0].start:toks[0].end]
++ toks[0]['raw'] = s[toks[0].start:toks[0].end]
+
+
+ call = Group(
diff --git a/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild
deleted file mode 100644
index dfdaeff5c5b3..000000000000
--- a/net-analyzer/graphite-web/graphite-web-1.1.5-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1 prefix
-
-DESCRIPTION="Enterprise scalable realtime graphing"
-HOMEPAGE="https://graphiteapp.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+carbon ldap mysql memcached postgres +sqlite"
-
-DEPEND=""
-RDEPEND="
- carbon? ( dev-python/carbon[${PYTHON_USEDEP}] )
- ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
- memcached? ( dev-python/python-memcached[${PYTHON_USEDEP}] )
- mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] )
- postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
- >=dev-python/django-1.11.19[sqlite?,${PYTHON_USEDEP}]
- >=dev-python/django-tagging-0.4.6[${PYTHON_USEDEP}]
- dev-python/cairocffi[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- media-libs/fontconfig
-"
-
-PATCHES=(
- # Do not install the configuration and data files. We install them
- # somewhere sensible by hand.
- "${FILESDIR}"/${PN}-1.1.5-fhs-paths.patch
-)
-
-python_prepare_all() {
- # Use a less common name
- mv bin/build-index bin/${PN}-build-index || die
- # use FHS-style paths
- export GRAPHITE_NO_PREFIX=yes
- distutils-r1_python_prepare_all
- eprefixify \
- conf/graphite.wsgi.example \
- webapp/graphite/local_settings.py.example
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- keepdir /var/{lib,log}/${PN}
- docinto examples
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc \
- examples/example-graphite-vhost.conf \
- conf/dashboard.conf.example \
- conf/graphite.wsgi.example
-}
-
-python_install() {
- distutils-r1_python_install \
- --install-data="${EPREFIX}"/usr/share/${PN}
-
- insinto /etc/${PN}
- newins webapp/graphite/local_settings.py.example local_settings.py
- pushd "${D}/$(python_get_sitedir)"/graphite > /dev/null || die
- ln -s ../../../../../etc/${PN}/local_settings.py local_settings.py || die
- popd > /dev/null || die
-}
-
-pkg_config() {
- "${EROOT}"/usr/bin/django-admin.py migrate \
- --settings=graphite.settings --run-syncdb
- "${EROOT}"/usr/bin/${PN}-build-index
-}
-
-pkg_postinst() {
- # Only display this for new installs
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "You need to configure ${PN} to run with a WSGI server of your choice."
- elog "For example using Apache, you can use www-apache/mod_wsgi,"
- elog " using Nginx, you can use www-servers/uwsgi."
- elog "Don't forget to edit local_settings.py in ${EPREFIX}/etc/${PN}"
- elog "See https://graphite.readthedocs.org/en/latest/config-local-settings.html"
- elog "Run emerge --config =${PN}-${PVR} if this is a fresh install."
- elog ""
- elog "If you want to update the search index regularily, you should consider running"
- elog "the '${PN}-build-index' script in a crontab."
- fi
-}
diff --git a/net-analyzer/graphite-web/graphite-web-1.1.7.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.8.ebuild
index 53bd930f12a7..d3392bd0c712 100644
--- a/net-analyzer/graphite-web/graphite-web-1.1.7.ebuild
+++ b/net-analyzer/graphite-web/graphite-web-1.1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -26,7 +26,7 @@ RDEPEND="
>=dev-python/django-1.11.19[sqlite?,${PYTHON_USEDEP}]
>=dev-python/django-tagging-0.4.6[${PYTHON_USEDEP}]
dev-python/cairocffi[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
+ <dev-python/pyparsing-3[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
@@ -37,6 +37,8 @@ PATCHES=(
# Do not install the configuration and data files. We install them
# somewhere sensible by hand.
"${FILESDIR}"/${PN}-1.1.7-fhs-paths.patch
+ # pyparsing fix, can be dropped from 1.1.9 onwards
+ "${FILESDIR}"/${PN}-1.1.8-pyparsing3.patch
)
python_prepare_all() {