Bug 849379 - Review Request: graphite-web - A Django webapp for enterprise scalable realtime graphing
Review Request: graphite-web - A Django webapp for enterprise scalable realti...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Dan Mashal
Fedora Extras Quality Assurance
:
: 824357 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-18 19:18 EDT by Jonathan Steffan
Modified: 2014-09-29 08:01 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-12-30 20:36:49 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
dan.mashal: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
Mock epel 6 x86_64 build log. (143.72 KB, text/x-log)
2012-09-05 14:15 EDT, Jonathan Steffan
no flags Details

  None (edit)
Description Jonathan Steffan 2012-08-18 19:18:24 EDT
Spec URL: http://jsteffan.fedorapeople.org/SPECS/graphite-web.spec
SRPM URL: http://jsteffan.fedorapeople.org/SRPMS/graphite-web-0.9.10-1.fc17.src.rpm
Description:
Graphite consists of a storage backend and a web-based visualization frontend.
Client applications send streams of numeric time-series data to the Graphite
backend (called carbon), where it gets stored in fixed-size database files
similar in design to RRD. The web frontend provides user interfaces
for visualizing this data in graphs as well as a simple URL-based API for
direct graph generation.

Graphite's design is focused on providing simple interfaces (both to users and
applications), real-time visualization, high-availability, and enterprise
scalability.

Fedora Account System Username: jsteffan
Comment 1 Gianluca Varisco 2012-08-29 05:18:39 EDT
Tried to build it on EL6, it says:

RPM build errors:
    user jsteffan does not exist - using root
    group jsteffan does not exist - using root
    user jsteffan does not exist - using root
    group jsteffan does not exist - using root
    user jsteffan does not exist - using root
    group jsteffan does not exist - using root
    user jsteffan does not exist - using root
    group jsteffan does not exist - using root
    user jsteffan does not exist - using root
    group jsteffan does not exist - using root
    Explicit file attributes required in spec for: /root/rpmbuild/BUILDROOT/graphite-web-0.9.10-1.el6.x86_64/etc/graphite-web/local_settings.pyc
    Explicit file attributes required in spec for: /root/rpmbuild/BUILDROOT/graphite-web-0.9.10-1.el6.x86_64/etc/graphite-web/local_settings.pyo
Comment 2 Jonathan Steffan 2012-09-05 14:13:39 EDT
I'm not seeing this issue.
Comment 3 Jonathan Steffan 2012-09-05 14:15:11 EDT
Created attachment 610105 [details]
Mock epel 6 x86_64 build log.
Comment 5 Jonathan Steffan 2012-09-16 15:49:45 EDT
I'm ghosting those files. Should I not be?
Comment 6 Jonathan Steffan 2012-09-26 16:34:44 EDT
Any updates on this?
Comment 7 Mario Blättermann 2012-11-03 15:42:28 EDT
Scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4652855

$ rpmlint -i -v *graphite-web.src: I: checking
graphite-web.src: W: spelling-error Summary(en_US) webapp -> web app, web-app, weapon
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error Summary(en_US) scalable -> salable, callable, calculable
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US backend -> backed, back end, back-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US scalability -> availability, sociability, implacability
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
graphite-web.src: I: checking-url https://github.com/downloads/graphite-project/graphite-web/graphite-web-0.9.10.tar.gz (timeout 10 seconds)
graphite-web.noarch: I: checking
graphite-web.noarch: W: spelling-error Summary(en_US) scalable -> salable, callable, calculable
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US backend -> backed, back end, back-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US scalability -> availability, sociability, implacability
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
graphite-web.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/graphite/manage.py 0644L /usr/bin/env
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

graphite-web.noarch: E: script-without-shebang /usr/share/graphite/webapp/content/js/window/prototype.js
This text file has executable bits set or is located in a path dedicated for
executables, but lacks a shebang and cannot thus be executed.  If the file is
meant to be an executable script, add the shebang, otherwise remove the
executable bits or move the file elsewhere.

graphite-web.noarch: W: spurious-executable-perm /usr/share/doc/graphite-web-0.9.10/graphite.wsgi.example
The file is installed with executable permissions, but was identified as one
that probably should not be executable.  Verify if the executable bits are
desired, and remove if not.

graphite-web.noarch: E: script-without-shebang /usr/share/graphite/webapp/content/js/window/window_effects.js
This text file has executable bits set or is located in a path dedicated for
executables, but lacks a shebang and cannot thus be executed.  If the file is
meant to be an executable script, add the shebang, otherwise remove the
executable bits or move the file elsewhere.

graphite-web.noarch: E: script-without-shebang /usr/share/graphite/webapp/content/js/window/effects.js
This text file has executable bits set or is located in a path dedicated for
executables, but lacks a shebang and cannot thus be executed.  If the file is
meant to be an executable script, add the shebang, otherwise remove the
executable bits or move the file elsewhere.

graphite-web.noarch: E: script-without-shebang /usr/share/graphite/graphite-web.wsgi
This text file has executable bits set or is located in a path dedicated for
executables, but lacks a shebang and cannot thus be executed.  If the file is
meant to be an executable script, add the shebang, otherwise remove the
executable bits or move the file elsewhere.

graphite-web.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/graphite/thirdparty/pytz/tzfile.py 0644L /usr/bin/env
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed.  If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.

graphite-web.noarch: W: log-files-without-logrotate /var/log/graphite-web
This package contains files in /var/log/ without adding logrotate
configuration for them.

graphite-web-selinux.noarch: I: checking
graphite-web-selinux.noarch: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
graphite-web-selinux.noarch: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

graphite-web.spec: I: checking-url https://github.com/downloads/graphite-project/graphite-web/graphite-web-0.9.10.tar.gz (timeout 10 seconds)
3 packages and 1 specfiles checked; 6 errors, 14 warnings.


Some Python scripts have a shebang, what is usually not needed for scripts in %{python_sitelib}.

Is it needed for the mentioned log files to have logrotate?
Comment 8 Jonathan Steffan 2012-11-09 18:08:43 EST
The shebangs are needed as this is a Django instance. I will ask upstream about tzfile.py but it looks okay.

I will add a log rotate now.
Comment 9 Jonathan Steffan 2012-11-09 18:21:59 EST
Spec URL: http://jsteffan.fedorapeople.org/SPECS/graphite-web.spec
SRPM URL: http://jsteffan.fedorapeople.org/SRPMS/graphite-web-0.9.10-2.fc17.src.rpm

Updated with a logrotate tested in our production environment.
Comment 10 Jonathan Steffan 2012-11-24 16:16:19 EST
Mario,

Thanks for the review. I've ensured rpmlint is no longer complaining.

$ rpmlint -i -v /var/lib/mock/fedora-17-x86_64/result/*.rpm
graphite-web.noarch: I: checking
graphite-web.noarch: W: spelling-error Summary(en_US) scalable -> salable, callable, calculable
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US backend -> backed, back end, back-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: W: spelling-error %description -l en_US scalability -> availability, sociability, implacability
The value of this tag appears to be misspelled. Please double-check.

graphite-web.noarch: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
graphite-web.src: I: checking
graphite-web.src: W: spelling-error Summary(en_US) webapp -> web app, web-app, weapon
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error Summary(en_US) scalable -> salable, callable, calculable
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error Summary(en_US) realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US backend -> backed, back end, back-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: W: spelling-error %description -l en_US scalability -> availability, sociability, implacability
The value of this tag appears to be misspelled. Please double-check.

graphite-web.src: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
graphite-web.src: I: checking-url https://github.com/downloads/graphite-project/graphite-web/graphite-web-0.9.10.tar.gz (timeout 10 seconds)
graphite-web-selinux.noarch: I: checking
graphite-web-selinux.noarch: I: checking-url https://launchpad.net/graphite/ (timeout 10 seconds)
3 packages and 0 specfiles checked; 0 errors, 11 warnings.


Spec URL: http://jsteffan.fedorapeople.org/SPECS/graphite-web.spec
SRPM URL: http://jsteffan.fedorapeople.org/SRPMS/graphite-web-0.9.10-3.fc17.src.rpm
Comment 11 Jonathan Steffan 2012-11-24 19:23:07 EST
*** Bug 824357 has been marked as a duplicate of this bug. ***
Comment 12 Dan Mashal 2012-12-27 17:31:29 EST
Taking this at the request of the submitter
Comment 13 Dan Mashal 2012-12-27 23:09:01 EST
Can you look at why manage.py is listed twice please?
Comment 14 Jonathan Steffan 2012-12-28 15:24:55 EST
(In reply to comment #13)
> Can you look at why manage.py is listed twice please?

%attr(0755,-,-) %{python_sitelib}/graphite/manage.py is to set the permissions with the %files section. I can move it to the "# Fix permissions" section with a chmod if that is more correct.

The end result would be the same:

$ rpm -qlp /var/lib/mock/fedora-17-x86_64/result/graphite-web-0.9.10-3.fc17.noarch.rpm|grep manage
/usr/lib/python2.7/site-packages/graphite/manage.py
/usr/lib/python2.7/site-packages/graphite/manage.pyc
/usr/lib/python2.7/site-packages/graphite/manage.pyo

with /usr/lib/python2.7/site-packages/graphite/manage.py being 755.
Comment 15 Dan Mashal 2012-12-29 16:59:45 EST
Naming - OK
Licensing - OK - 1 file with BSD license should be covered by Apache license
rpmlint on RPM/SPEC/SRPM - OK no errors.


Koji scratch builds:

https://koji.fedoraproject.org/koji/taskinfo?taskID=4823555
https://koji.fedoraproject.org/koji/taskinfo?taskID=4823561
https://koji.fedoraproject.org/koji/taskinfo?taskID=4823566
https://koji.fedoraproject.org/koji/taskinfo?taskID=4823571
https://koji.fedoraproject.org/koji/taskinfo?taskID=4823580

MUST - Before import take a look at the hard requires on Rawhide. Does not install.

offenders: mod_python and python-sqlite2

APPROVED
Comment 16 Jonathan Steffan 2012-12-29 18:01:34 EST
Spec URL: http://jsteffan.fedorapeople.org/SPECS/graphite-web.spec
SRPM URL: http://jsteffan.fedorapeople.org/SRPMS/graphite-web-0.9.10-4.fc17.src.rpm

Updated to use mod_wsgi as mod_python is retired. python-sqlite2 is a virtual provides in the main python package in rawhide. I will look into that shortly.
Comment 17 Jonathan Steffan 2012-12-30 14:57:22 EST
Spec URL: http://jsteffan.fedorapeople.org/SPECS/graphite-web.spec
SRPM URL: http://jsteffan.fedorapeople.org/SRPMS/graphite-web-0.9.10-5.fc17.src.rpm

Updated to conditionally Require python-sqlite2 as in fc18+ the main python namespace provides that functionality.
Comment 18 Jonathan Steffan 2012-12-30 15:01:19 EST
New Package SCM Request
=======================
Package Name: graphite-web
Short Description: A Django webapp for enterprise scalable realtime graphing
Owners: jsteffan
Branches: f16 f17 f18 el5 el6
InitialCC:
Comment 19 Kevin Fenzi 2012-12-30 15:11:43 EST
Git done (by process-git-requests).
Comment 21 Jonathan Steffan 2014-09-28 18:28:48 EDT
Package Change Request
======================
Package Name: graphite-web
New Branches: epel7
Owners: jsteffan
Comment 22 Gwyn Ciesla 2014-09-29 08:01:55 EDT
Git done (by process-git-requests).

Note You need to log in before you can comment on or make changes to this bug.