Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 209746 - dev-util/reviewboard - A web-based code review tool that offers developers an easy way to handle code reviews
Summary: dev-util/reviewboard - A web-based code review tool that offers developers an...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://review-board.org/
Whiteboard:
Keywords: EBUILD
Depends on: 318997
Blocks:
  Show dependency tree
 
Reported: 2008-02-11 21:17 UTC by David Kaufman
Modified: 2013-07-28 14:28 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild (reviewboard-1159.ebuild,1.89 KB, text/plain)
2008-02-11 21:22 UTC, David Kaufman
Details
reviewboard ebuild (reviewboard-1164.ebuild,2.09 KB, text/plain)
2008-02-12 17:12 UTC, David Kaufman
Details
reviewboard vhost config (reviewboard_vhost.conf,2.29 KB, text/plain)
2008-02-12 17:13 UTC, David Kaufman
Details
Updated reviewboard ebuild (reviewboard-1373.ebuild,1.98 KB, text/plain)
2008-05-27 08:59 UTC, Sebastian Schuberth
Details
ebuild for reviewboard-1.5.0_beta2 (reviewboard-1.5.0_beta2.ebuild,2.14 KB, text/plain)
2010-06-12 16:34 UTC, Sean Harmer
Details
reviewboard-1.7.7.1.ebuild (reviewboard-1.7.7.1.ebuild,2.14 KB, text/plain)
2013-06-12 15:31 UTC, Michael Palimaka (kensington)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Kaufman 2008-02-11 21:17:40 UTC
Review Board is a web-based tool designed to help projects and companies keep track of pending code changes and make code reviews much less painful and time-consuming. It is being developed for use in VMware, but is designed to be generic enough to use in any project. It currently has support to SVN, CVS, Perforce, Git, and Mercurial repositories.

Review Board is written using Django and Python.

The attached draft ebuild has been tested on x86 using the mysql backend, cvs repository, and django 0.97 (which is still in svn). There are many other possible combinations. I'm sure the ebuild can be improved, and look forward to any guidance.
Comment 1 David Kaufman 2008-02-11 21:22:10 UTC
Created attachment 143240 [details]
ebuild

ebuild for reviewboard
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2008-02-11 21:43:10 UTC
- This handles apache dep wrong; if you need mod_python, just depend on that and wipe the use flag altogether with the dependency.

- [a-bd-z_]* is locale-specific and as such unsafe...
Comment 3 David Kaufman 2008-02-11 21:56:19 UTC
(In reply to comment #2)
> - This handles apache dep wrong; if you need mod_python, just depend on that
> and wipe the use flag altogether with the dependency.

Thanks. Apache isn't strictly required by upstream - they also support lighttpd and have their own server (which probably isn't usable for deployment). So I wrote it with the apache use flag to allow adding lighttpd support - but if you think I should just assume apache/mod_python until some writes the lighttpd support, that's easy to do.

> - [a-bd-z_]* is locale-specific and as such unsafe...

Again, upstream hasn't packaged very thoroughly. I was trying to avoid copying doc files into the python site-packages (although I missed contrib, hmmm).

Another concern I had - to actually use this, you need an apache vhost with an htdocs in /usr/lib/python2.4/site-packages. I'm not sure whether this is acceptable, or the right thing is to try to "repackage" for upstream with python code in site-packages and HTML bits in /var/www/localhost... Guidance cheerfully accepted.

Comment 4 David Kaufman 2008-02-12 17:12:57 UTC
Created attachment 143327 [details]
reviewboard ebuild

Update ebuild to respond to comments above, and also to bump svn revision and include sample vhost config.
Comment 5 David Kaufman 2008-02-12 17:13:18 UTC
Created attachment 143329 [details]
reviewboard vhost config
Comment 6 Sebastian Schuberth 2008-05-26 16:56:12 UTC
It seems portage 2.1.4_rc10 and above require SLOT to be always set, otherwise you may get "SLOT is undefined" errors. Adding a simple

SLOT="0"

solves the issue.
Comment 7 Sebastian Schuberth 2008-05-26 17:06:06 UTC
Also, could you please add "~amd64" to KEYWORDS?

Another, more complicated wish would be to make the ebuild also work with lighttpd instead of apache.
Comment 8 Vaclav Slavik 2008-05-26 23:36:27 UTC
Should use ESVN_REVISION instead of ESVN_OPTIONS, too.
Comment 9 Sebastian Schuberth 2008-05-27 08:59:22 UTC
Created attachment 154441 [details]
Updated reviewboard ebuild

This ebuild addresses comments #6 to #8, cleans up the code a little bit and fixes some formatting.
Comment 10 Sebastian Schuberth 2008-05-27 09:03:31 UTC
I forgot to mention, lighttpd support from comment #7 is not yet implemented in reviewboard-1373.ebuild yet.
Comment 11 David Kaufman 2008-05-27 19:27:02 UTC
Note, in the interim since I wrote the first ebuild the Review Board guys have cleaned some things up. They have effectively split the python out from the webapp, so that some of review board (images, etc) could be installed under /var/www. Also, they made it possible to install reviewboard not in the root of the vhost. I haven't made those changes yet, but probably will when they release v1.0, unless someone beats me to it.
Comment 12 Matt Summers (RETIRED) gentoo-dev 2009-01-13 19:49:49 UTC
This ebuild needs to inherit webapp so that webapp-config can manage the media install to the vhost webroot.  I think that a template ebuild for many django apps could be constructed.  I am working on this.
Comment 13 Matt Summers (RETIRED) gentoo-dev 2009-06-22 17:12:12 UTC
(In reply to comment #12)
> This ebuild needs to inherit webapp so that webapp-config can manage the media
> install to the vhost webroot.  I think that a template ebuild for many django
> apps could be constructed.  I am working on this.
> 

So, if anyone wants to look at the django-1.0.2 ebuild currently in the tree, it illustrates the use of webapp-config to manage static media.

Additionally, revision r2016 was tagged as 1.0 about 2 days ago, looking forward to an updated ebuild. Contact me if I can assist. Cheers
Comment 14 Michael Weber (RETIRED) gentoo-dev 2010-05-08 23:39:24 UTC
Ok, the current stable release is 1.0.7.

I don't think that this package fits into the webapp-config mechanism. 
ReviewBoard provides it's own config file generator 'rb-site install' which asks for setup details and user accounts. It supports apache+mod_python, apache+mod_fastcgi and lighttpd[fastcgi]. I'll commit it into sunrise.
Comment 15 Michael Weber (RETIRED) gentoo-dev 2010-05-17 18:08:23 UTC
This is now in the sunrise overlay. You can find it at:
http://overlays.gentoo.org/proj/sunrise/browser/reviewed/dev-util/reviewboard after review.
Comment 16 Sean Harmer 2010-06-12 16:34:41 UTC
Created attachment 235091 [details]
ebuild for reviewboard-1.5.0_beta2

Updated and revised ebuild for reviewboard-1.5.0_beta2. Now has better dependency list than original ebuild which I found left several runtime dependencies unsatisfied.

Also includes use flags for various optional features such as choice of SQL backend, vcs system, and web-server.

It also requires an ebuild for recaptcha-client-1.0.5 which is not in the sunrise overlay at present. I have also made an ebuild for this which I will post in a separate bug shortly.

Let me know if you would like me to get a username/password for the sunrise svn repository so that I can commit these ebuilds or whether someone else will commit them for me.

We have been starting to use reviewboard at work so it would be nice to have it in the portage tree at some point.
Comment 17 Michael Weber (RETIRED) gentoo-dev 2010-06-12 20:01:57 UTC
(In reply to comment #16)
> Created an attachment (id=235091) [details]
> ebuild for reviewboard-1.5.0_beta2
Thanks!

> Updated and revised ebuild for reviewboard-1.5.0_beta2. Now has better
> dependency list than original ebuild which I found left several runtime
> dependencies unsatisfied.
Which version do you refer to? Here or in sunrise?

> Also includes use flags for various optional features such as choice of SQL
> backend, vcs system, and web-server.
These are no build time deps and you don't have to recompile this package to enable one of these -> this is no USE flag. a use flag change would result in an unneeded recompile.

> It also requires an ebuild for recaptcha-client-1.0.5 which is not in the
> sunrise overlay at present. 
Which version?

> I have also made an ebuild for this which I will post in a separate bug 
> shortly.
Cool!

> Let me know if you would like me to get a username/password for the sunrise svn
> repository so that I can commit these ebuilds or whether someone else will
> commit them for me.
You're always welcome to join #gentoo-sunrise on irc.freenode.net. But I can bump it if you like.

Comment 18 Sean Harmer 2010-06-12 21:11:11 UTC
(In reply to comment #17)
> > Updated and revised ebuild for reviewboard-1.5.0_beta2. Now has better
> > dependency list than original ebuild which I found left several runtime
> > dependencies unsatisfied.
> Which version do you refer to? Here or in sunrise?

Sorry, I was referring to reviewboard-1.0.7 in sunrise. The missing dependencies for the 1.0.7 release were:

dev-python/django-evolution
>=dev-python/djblets-0.6.2
dev-python/pytz

Reviewboard-1.5.0_beta2 also requires the recaptcha-client (see later).

> > Also includes use flags for various optional features such as choice of SQL
> > backend, vcs system, and web-server.
> These are no build time deps and you don't have to recompile this package to
> enable one of these -> this is no USE flag. a use flag change would result in
> an unneeded recompile.

True but you do need at least one of each category to make reviewboard usable and the USE flag approach seemed like a nice way of getting the optional dependencies pulled in. Feel free if this is against policy or if there is a better way of handling it. 

Without the packages that get pulled in by these USE flags I just ended up with some tricky runtime problems that could only be traced by switching on logging within the reviewboard interface.
 
> > It also requires an ebuild for recaptcha-client-1.0.5 which is not in the
> > sunrise overlay at present. 
> Which version?

Sorry again, I meant reviewboard-1.5.0_beta2 requires recaptcha-client-1.0.5.

> > I have also made an ebuild for this which I will post in a separate bug 
> > shortly.
> Cool!

Done. See bug 323695.

> > Let me know if you would like me to get a username/password for the sunrise svn
> > repository so that I can commit these ebuilds or whether someone else will
> > commit them for me.
> You're always welcome to join #gentoo-sunrise on irc.freenode.net. But I can
> bump it if you like.

OK. I'll try to drop by tomorrow. Thank you.
Comment 19 Michael Weber (RETIRED) gentoo-dev 2010-06-13 01:36:05 UTC
(In reply to comment #18)
> The missing dependencies for the 1.0.7 release were:
>
> dev-python/django-evolution
> >=dev-python/djblets-0.6.2
> dev-python/pytz
Thanks, I just bumped dev-python/django-evolution to 0.5 and this to 1.0.8 including this deps. http://overlays.gentoo.org/proj/sunrise/browser/sunrise/dev-util/reviewboard

> > > Also includes use flags for various optional features such as choice of SQL
> > > backend, vcs system, and web-server.
> > These are no build time deps and you don't have to recompile this package to
> > enable one of these -> this is no USE flag. a use flag change would result in
> > an unneeded recompile.
> 
> True but you do need at least one of each category to make reviewboard usable
> and the USE flag approach seemed like a nice way of getting the optional
> dependencies pulled in. Feel free if this is against policy or if there is a
> better way of handling it. 
There is no really good solution. elog in pkg_postinst is best practice.
A use flag is clearly wrong (see argument above).
And it's not reliable checkable in the ebuild phases. They're RDEPS and `has_version <atom>` only tests the current system, not what a complex emerge tries to accomplish.

> Without the packages that get pulled in by these USE flags I just ended up with
> some tricky runtime problems that could only be traced by switching on logging
> within the reviewboard interface.
That's bad.

> ... I meant reviewboard-1.5.0_beta2 requires recaptcha-client-1.0.5.
> Done. See bug 323695.
I'm looking forward to see this in sunrise! Have you checkt for python3 compliance? You might omit problems by using PYTHON_DEPEND and python_set_active_version ( http://www.gentoo.org/proj/en/Python/developersguide.xml ) otherwise.

> OK. I'll try to drop by tomorrow. Thank you.
I might not be there, but you can start with the captchas ebuild and I want
to propose these changes for an additional sunrise version (beta version, no keywords) http://dpaste.com/206616/

Michael
Comment 20 Leho Kraav (:macmaN @lkraav) 2011-11-08 14:12:08 UTC
installed 1.5.5 from sunrise today and to my surprise the ebuild demanded mod_python which afaik is long deprecated in favor of mod_wsgi.

i modified the ebuild to check for mod_wsgi instead, although both should probably be checked for. oversight?
Comment 21 Leho Kraav (:macmaN @lkraav) 2011-11-08 14:24:20 UTC
can i also propose an IUSE="ldap" for a python-ldap dependency.
Comment 22 Michael Palimaka (kensington) gentoo-dev 2013-06-12 15:31:16 UTC
Created attachment 350830 [details]
reviewboard-1.7.7.1.ebuild

Work-in-progress updated ebuild, still needs updated "|| ( ( www-apache/mod_python www-servers/apache ) virtual/httpd-fastcgi )" and depends on a couple of unconverted python deps.
Comment 23 Joakim Tjernlund 2013-06-12 16:19:59 UTC
I started to look at reviewboard-1.7.9 and got as far as to its dependencies
which I THINK looks like this:
	>=dev-python/django-1.4.5
	>=dev-python/django-evolution-0.6.9
	>=dev-python/Djblets-0.7.15
	>=dev-python/django-pipeline-1.2.24
	dev-python/docutils
	dev-python/mimeparse
	dev-python/markdown
	>=dev-python/paramiko-1.9.0
	>=dev-python/pygments-1.5
	=dev-python/python-dateutil-1.5
	dev-python/python-memcached
	>=dev-python/pytz-2012h
        dev-python/recaptcha-client"

(database deps missing)
Comment 24 Ian Delaney (RETIRED) gentoo-dev 2013-06-16 16:03:05 UTC
a long time coming

*reviewboard-1.7.7.1 (16 Jun 2013)

  16 Jun 2013; Ian Delaney <idella4@gentoo.org> +files/docs.patch,
  +metadata.xml, +reviewboard-1.7.7.1.ebuild:
  new ebuild prepared by me with additions from kensington wrt Bug #209746
Comment 25 Joakim Tjernlund 2013-07-17 13:49:23 UTC
reviewboard is up to 1.7.11 now, could we have a current ebuild in the tree too?
Comment 26 Sergey Popov gentoo-dev 2013-07-17 19:29:25 UTC
(In reply to Joakim Tjernlund from comment #25)
> reviewboard is up to 1.7.11 now, could we have a current ebuild in the tree
> too?

File a new bug with version bump request, please
Comment 27 Joakim Tjernlund 2013-07-28 14:28:00 UTC
https://bugs.gentoo.org/show_bug.cgi?id=478470 filed for 1.7.12

Some security fixes in there as well.