Bug 849379

Summary: Review Request: graphite-web - A Django webapp for enterprise scalable realtime graphing
Product: [Fedora] Fedora Reporter: Jonathan Steffan <jonathansteffan>
Component: Package ReviewAssignee: Dan Mashal <dan.mashal>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: adimania, dan.mashal, gianluca.varisco, notting, package-review
Target Milestone: ---Flags: dan.mashal: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-31 01:36:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Mock epel 6 x86_64 build log. none

Description Jonathan Steffan 2012-08-18 23:18:24 UTC
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 09:18:39 UTC
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 18:13:39 UTC
I'm not seeing this issue.

Comment 3 Jonathan Steffan 2012-09-05 18:15:11 UTC
Created attachment 610105 [details]
Mock epel 6 x86_64 build log.

Comment 5 Jonathan Steffan 2012-09-16 19:49:45 UTC
I'm ghosting those files. Should I not be?

Comment 6 Jonathan Steffan 2012-09-26 20:34:44 UTC
Any updates on this?

Comment 7 Mario Blättermann 2012-11-03 19:42:28 UTC
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 23:08:43 UTC
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 23:21:59 UTC
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 21:16:19 UTC
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-25 00:23:07 UTC
*** Bug 824357 has been marked as a duplicate of this bug. ***

Comment 12 Dan Mashal 2012-12-27 22:31:29 UTC
Taking this at the request of the submitter

Comment 13 Dan Mashal 2012-12-28 04:09:01 UTC
Can you look at why manage.py is listed twice please?

Comment 14 Jonathan Steffan 2012-12-28 20:24:55 UTC
(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 21:59:45 UTC
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 23:01:34 UTC
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 19:57:22 UTC
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 20:01:19 UTC
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 20:11:43 UTC
Git done (by process-git-requests).

Comment 21 Jonathan Steffan 2014-09-28 22:28:48 UTC
Package Change Request
======================
Package Name: graphite-web
New Branches: epel7
Owners: jsteffan

Comment 22 Gwyn Ciesla 2014-09-29 12:01:55 UTC
Git done (by process-git-requests).