From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 58959138334 for ; Mon, 25 Jun 2018 21:24:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 94840E09EC; Mon, 25 Jun 2018 21:24:42 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5150BE09EC for ; Mon, 25 Jun 2018 21:24:42 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0FC08335C8C for ; Mon, 25 Jun 2018 21:24:41 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 22D582EB for ; Mon, 25 Jun 2018 21:24:39 +0000 (UTC) From: "Louis Sautier" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Louis Sautier" Message-ID: <1529961874.d4c60400f9bcd7871e8aa78426f86904d1099118.sbraz@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/graphite-web/files/, net-analyzer/graphite-web/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-analyzer/graphite-web/files/graphite-web-1.1.3-fhs-paths.patch net-analyzer/graphite-web/graphite-web-1.1.3-r1.ebuild net-analyzer/graphite-web/graphite-web-1.1.3.ebuild X-VCS-Directories: net-analyzer/graphite-web/files/ net-analyzer/graphite-web/ X-VCS-Committer: sbraz X-VCS-Committer-Name: Louis Sautier X-VCS-Revision: d4c60400f9bcd7871e8aa78426f86904d1099118 X-VCS-Branch: master Date: Mon, 25 Jun 2018 21:24:39 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 5063cdac-aa2a-4258-bf46-395c9abb75c7 X-Archives-Hash: 0a1ae05013e2ebb8bf2a730959038477 commit: d4c60400f9bcd7871e8aa78426f86904d1099118 Author: Louis Sautier gentoo org> AuthorDate: Mon Jun 25 10:11:53 2018 +0000 Commit: Louis Sautier gentoo org> CommitDate: Mon Jun 25 21:24:34 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4c60400 net-analyzer/graphite-web: fix deps, re-add USE=ldap, misc. * Sort dependencies. * Do not require python[sqlite], it is never directly used. * Do not require twisted or txAMQP, they are not directly used by graphite-web. * Do not require zope-interface, it was removed in https://github.com/graphite-project/graphite-web/commit/bed2d5b82d128b751ea080d86a4ccb9c27bb6c58 * Do not require whisper. It is optional and in the future we could probably use carbon with ceres instead of whisper. * pytz and pyparsing are not bundled any more, remove the call to rm. * Use python_prepare_all instead of src_prepare. * Install examples only once in the _all function. Use dodoc instead of doins. Do not compress them. * Use the recommended way to configure the app instead of re-creating manage.py. * Do not remove build-index from install but rename it. * Run build-index during pkg_config() instead of just creating an empty file. This allows us to drop the complex python file parsing. * Mention build-index in the postinst message. Only display the message for new installs. Use elog instead of einfo. * Create the /var/{lib,log}/graphite-web directories which are referenced in local_settings.py. * Add the example database location to the FHS-style settings patch. * Fix STATIC_ROOT in the FHS-style settings patch. * Add missing || die to the ln call. * bump to EAPI=7. Closes: https://github.com/gentoo/gentoo/pull/8962 Package-Manager: Portage-2.3.40, Repoman-2.3.9 .../files/graphite-web-1.1.3-fhs-paths.patch | 14 ++- .../graphite-web/graphite-web-1.1.3-r1.ebuild | 98 +++++++++++++++++ .../graphite-web/graphite-web-1.1.3.ebuild | 119 --------------------- 3 files changed, 110 insertions(+), 121 deletions(-) diff --git a/net-analyzer/graphite-web/files/graphite-web-1.1.3-fhs-paths.patch b/net-analyzer/graphite-web/files/graphite-web-1.1.3-fhs-paths.patch index 39d32598424..aa6ea74ff93 100644 --- a/net-analyzer/graphite-web/files/graphite-web-1.1.3-fhs-paths.patch +++ b/net-analyzer/graphite-web/files/graphite-web-1.1.3-fhs-paths.patch @@ -10,11 +10,12 @@ Install FHS-style paths from graphite.wsgi import application --- a/setup.py +++ b/setup.py -@@ -59,8 +59,7 @@ +@@ -59,8 +59,8 @@ ], package_data={'graphite' : ['templates/*', 'local_settings.py.example']}, - scripts=glob('bin/*'), ++ scripts=['bin/graphite-web-build-index'], - data_files=list(webapp_content.items()) + storage_dirs + conf_files + examples, + data_files=list(webapp_content.items()), install_requires=['Django>=1.8,<1.11.99', 'django-tagging==0.4.3', 'pytz', 'pyparsing', 'cairocffi', 'urllib3', 'scandir', 'six'], @@ -36,7 +37,7 @@ Install FHS-style paths #INDEX_FILE = '/opt/graphite/storage/index' # Search index file +CONF_DIR = '@GENTOO_PORTAGE_EPREFIX@/etc/graphite-web' +STORAGE_DIR = '@GENTOO_PORTAGE_EPREFIX@/var/lib/carbon' -+STATIC_ROOT = '@GENTOO_PORTAGE_EPREFIX@/usr/share/graphite-web' ++STATIC_ROOT = '@GENTOO_PORTAGE_EPREFIX@/usr/share/graphite-web/webapp/content' +LOG_DIR = '@GENTOO_PORTAGE_EPREFIX@/var/log/graphite-web' +INDEX_FILE = '@GENTOO_PORTAGE_EPREFIX@/var/lib/graphite-web/index' # Search index file @@ -51,3 +52,12 @@ Install FHS-style paths # # Data directories using the "Standard" metrics finder (i.e. not Ceres) #STANDARD_DIRS = [WHISPER_DIR, RRD_DIR] # Default: set from the above variables +@@ -244,7 +244,7 @@ + # + #DATABASES = { + # 'default': { +-# 'NAME': '/opt/graphite/storage/graphite.db', ++# 'NAME': '@GENTOO_PORTAGE_EPREFIX@/var/lib/graphite-web/graphite.db', + # 'ENGINE': 'django.db.backends.sqlite3', + # 'USER': '', + # 'PASSWORD': '', diff --git a/net-analyzer/graphite-web/graphite-web-1.1.3-r1.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.3-r1.ebuild new file mode 100644 index 00000000000..1f67a202f1f --- /dev/null +++ b/net-analyzer/graphite-web/graphite-web-1.1.3-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit distutils-r1 python-utils-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/mysql-python[${PYTHON_USEDEP}] + dev-python/mysqlclient[${PYTHON_USEDEP}] + ) + ) + postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) + >=dev-python/django-1.8[sqlite?,${PYTHON_USEDEP}] + =dev-python/django-tagging-0.4.3[${PYTHON_USEDEP}] + dev-python/cairocffi[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/scandir[${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.3-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 "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.3.ebuild b/net-analyzer/graphite-web/graphite-web-1.1.3.ebuild deleted file mode 100644 index a51361a091c..00000000000 --- a/net-analyzer/graphite-web/graphite-web-1.1.3.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) - -inherit distutils-r1 python-utils-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 mysql memcached postgres +sqlite" -#ldap - needs bump of python-ldap to latest -# ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - -DEPEND="" -RDEPEND=" - carbon? ( dev-python/carbon[${PYTHON_USEDEP}] ) - mysql? ( - || ( - dev-python/mysql-python[${PYTHON_USEDEP}] - dev-python/mysqlclient[${PYTHON_USEDEP}] - ) - ) - memcached? ( dev-python/python-memcached[${PYTHON_USEDEP}] ) - postgres? ( - dev-python/psycopg:2[${PYTHON_USEDEP}] - ) - dev-lang/python[sqlite?] - dev-python/cairocffi[${PYTHON_USEDEP}] - >=dev-python/django-1.8[sqlite?,${PYTHON_USEDEP}] - =dev-python/django-tagging-0.4.3[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/scandir[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/txAMQP[${PYTHON_USEDEP}] - dev-python/twisted[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - dev-python/zope-interface[${PYTHON_USEDEP}] - dev-python/whisper[${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.3-fhs-paths.patch -) - -src_prepare() { - # use FHS-style paths - export GRAPHITE_NO_PREFIX=yes - # make sure we don't use bundled stuff - rm -Rf webapp/graphite/thirdparty - distutils-r1_src_prepare - eprefixify \ - conf/graphite.wsgi.example \ - webapp/graphite/local_settings.py.example -} - -python_install() { - distutils-r1_python_install \ - --install-data="${EPREFIX}"/usr/share/${PN} - - # make manage.py available from an easier location/name - # (missing from tarball) - dodir /usr/bin - cat > "${ED}"/usr/bin/${PN}-manage <<- EOS - #!/usr/bin/env python - import os - import sys - - if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "graphite.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv) - EOS - #mv "${D}"/$(python_get_sitedir)/graphite/manage.py \ - # "${ED}"/usr/bin/${PN}-manage || die - chmod 0755 "${ED}"/usr/bin/${PN}-manage || die - python_fix_shebang "${ED}"/usr/bin/${PN}-manage - - 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 - popd > /dev/null || die - - insinto /usr/share/doc/${PF}/examples - doins \ - examples/example-graphite-vhost.conf \ - conf/dashboard.conf.example \ - conf/graphite.wsgi.example -} - -pkg_config() { - "${ROOT}"/usr/bin/${PN}-manage syncdb --noinput - local idx=$(grep 'INDEX_FILE =' "${EROOT}"/etc/graphite-web/local_settings.py 2>/dev/null) - if [[ -n ${idx} ]] ; then - idx=${idx##*=} - idx=$(echo ${idx}) - eval "idx=${idx}" - touch "${ROOT}"/"${idx}"/index - fi -} - -pkg_postinst() { - einfo "You need to configure ${PN} to run with a WSGI server of your choice." - einfo "Don't forget to edit local_settings.py in ${EPREFIX}/etc/${PN}" - einfo "See http://graphite.readthedocs.org/en/latest/config-local-settings.html" - einfo "Run emerge --config =${PN}-${PVR} if this is a fresh install." -}