[Gdal-dev] Infrastructure developments for GDAL
Howard Butler
hobu at iastate.edu
Tue Apr 18 10:09:09 EDT 2006
All,
With our upcoming move to OSGeo, I have been investigating the use of
three technologies to help streamline some aspects of GDAL
development -- subversion, Trac <http://trac.edgewall.com>, and
buildbot <http://buildbot.sourceforge.net>.
GDAL has historically used Bugzilla, CVS, and mailman as the main
project-enabling technologies. While I have no issues with mailman,
I do have a couple with bugzilla and cvs. First, they aren't linked.
In one sense, bugs are a separate universe from the source code (our
bugzilla even resides on a different machine in a different domain).
Two, bugzilla doesn't provide good overviews of all of the bugs
related to a release, or bugs related to a development milestone.
Third, bugzilla is a bit imposing and foreboding for casual bug
reporters.
My issues with CVS are mostly related to repository reconfiguration,
refractoring, and branching/tagging -- all issues that subversion was
designed from the ground up to alleviate. The migration to
subversion for my internal projects has been very successful, and
I've yet to find too many developers wishing they had CVS again after
working with subversion for a while...
Trac example for GDAL <http://gdal.hobu.net/trac.gdal/> <-- click
"View Tickets" to see bugs imported from bugzilla and "Browse Source"
to see the GDAL CVS tree imported into subversion. Trac integrates
wiki, source code browsing, and bug reporting into one entity. It is
also relatively straightforward to write your own plugins to Trac to
do interesting things.
The other infrastructure component that I have been investigating is
automated smoke testing. GDAL is a large piece of software that is
expected to run on many different platforms. GDAL has a testing
suite, and it is very useful if that test suite is run frequently
on many different platforms as development takes place. Buildbot
provides a few very nice features, but one of the most useful is the
ability for folks to hook up their own build slaves to the build
farm. For example, the Python buildbot
<http://www.python.org/dev/buildbot/all> is composed of machines that
users have connected to the build farm themselves and covers a wide
variety of platforms and configurations.
Buildbot example for GDAL <http://gdal.builds.hobu.net> <-- nightly
(and on-demand) builds of GDAL for linux, windows, and osx.
These links are *not* authoritative, and in no way has GDAL yet moved
to these technologies. I expect the upcoming PSC to vote on and
approve the use of these technologies officially through the RFC
process. I wanted to give people a preview of these technologies and
ask what people think about them. Do/will they fit GDAL's
development process?
Howard
More information about the Gdal-dev
mailing list