commit:     d4c60400f9bcd7871e8aa78426f86904d1099118
Author:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 25 10:11:53 2018 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> 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-1.11.99[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-1.11.99[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."
-}

Reply via email to