We've been using the builds server to house both source and binary
tarballs that we need in addition to the source code that is checked
into svn. This was originally done because CVS is not so great with
binary files. Now that we are using Subversion I think it is time to
revisit this issue since the current way of doing things has quite a few
problems:

* If svn is available, but builds is not, you may be unable to build
chandler
* Tarballs are not versioned
* Tarballs are not protected from corruption/tampering when downloading
* Need separate accounts and tools to upgrade and deal with builds
* There are probably other points... :)

Using subversion would fix all of those (corruption/tampering protection
in case you have read-write access).

Also, we could then make it so that make realclean would not delete the
source tarballs, which would speed up subsequent builds.

There are some downsides to Subversion as well.

The first one that comes to mind is download performance, but this is
actually pretty small difference, especially when you are outside the
OSAF internal network. I did some tests using the PyLucene source
tarball which is about 4 MB in size.

            | Internal network | Outside
========================================
svn+ssh     | 8 s              | 9 s
svn (http)  | 11 s             | 11 s
curl (http) | 2 s              | 7 s

curl (http) would be even faster for the Tinderbox machines since they
use faster internal network (I did my tests using my laptop and wireless
connection).

Uploading seemed quite slow, svn+ssh commit from home took 95 seconds
(uploading is slower in general).

In any case, the differences seem so small, and the benefits so great
that to me it seems clear we should put the source tarballs into svn.

Now, this works great when the tarballs are the same for all platforms,
like most of the sources are (there are a few cases where we might see
some differences soon).

What about binary tarballs, or platform differences in general?

I don't know if there is any way to make svn pull different directories
based on platform (please let me know if you do...) Failing that, we
could create platform specific binary tarball svn repositories, and have
the makefiles check out from the correct repository.

-- 
  Heikki Toivonen


Attachment: signature.asc
Description: OpenPGP digital signature

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to