Summary: | dev-util/reviewboard - A web-based code review tool that offers developers an easy way to handle code reviews | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | David Kaufman <kaufman-gentoo> |
Component: | New packages | Assignee: | Default Assignee for New Packages <maintainer-wanted> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | hoffbrinkle, johu, leho, mathy, quantumsummers, sh, sunrise, xmw |
Priority: | High | Keywords: | EBUILD |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://review-board.org/ | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 318997 | ||
Bug Blocks: | |||
Attachments: |
ebuild
reviewboard ebuild reviewboard vhost config Updated reviewboard ebuild ebuild for reviewboard-1.5.0_beta2 reviewboard-1.7.7.1.ebuild |
Description
David Kaufman
2008-02-11 21:17:40 UTC
Created attachment 143240 [details]
ebuild
ebuild for reviewboard
- 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... (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. Created attachment 143327 [details]
reviewboard ebuild
Update ebuild to respond to comments above, and also to bump svn revision and include sample vhost config.
Created attachment 143329 [details]
reviewboard vhost config
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. 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. Should use ESVN_REVISION instead of ESVN_OPTIONS, too. 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.
I forgot to mention, lighttpd support from comment #7 is not yet implemented in reviewboard-1373.ebuild yet. 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. 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. (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 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. 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. 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.
(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. (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. (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 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? can i also propose an IUSE="ldap" for a python-ldap dependency. 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.
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) 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 reviewboard is up to 1.7.11 now, could we have a current ebuild in the tree too? (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 https://bugs.gentoo.org/show_bug.cgi?id=478470 filed for 1.7.12 Some security fixes in there as well. |