Code repository

Joe Armstrong <>
Mon Jan 16 15:18:30 CET 2006


I agree - there seems to be a gaps somewhere between CVS/souceforce 
jungerl and erlmerge.

What I'd like to have is "something like apt-get" only done right.

And when I say done right - I mean done *really really really ... right*

But this is *difficult* (difficult means I've been thinking about this 
for a *long* time) - it means signing all the code making sure only 
*tested* compatible versions are checked in etc.

At the "not theoretically sound but useful anyway" end of the spectrum 
is just a single depository for all denoted code.

A minimal system (but useful anyway) is the following:

	- one tarball per contribution
	- tarballs are nameed app-NN.MM.tgz
	  NN.MM are Major/Minor version numbers
	
Inside the Tarball sould be a file called app-NN.MM.pub  (The publish 
file). Suppose I made glurk-3.4

Inside glurk-3.4.tgz Id find the file glurk-3.4.pub

  this is just a list of terms like this:	
	
{author,"Joe Armstrong","","20050116"}.
{name,"glurk"}.
{vsn,"3.4"}.
{summary,"A wonderfull program"}.      <-- one line
{keywords,["tree","cache"]}.
{needs,["bar-3.4", "zip-6.7"]}.
{abstract,"This is cache for guid it ....
     ...
     ..."}.
{doc, "foo123.html"}   <-- an html documetation file inside the tarball

(This is pretty much the format of the stuff at
   http://www.erlang.org/user.html
But unfortunately "We no longer accept new contributions"

All the host site needs to arrange is a publically writable download 
area, and a script to unpack the pub files and format it neatly.

Google will do the rest.
This is basically hoe http://www.erlang.org/user.html works
but without the automated upload bit.

This is a kind of halfway house between a private depository
and a full CVS/project like structure.

I think you can basically have a large amount of unstructured and
inconsistent data - or a small amount of well structured consistent 
data. The latter is provided for by sourceforce - but the former is
unprovisioned.

An alternative (even more unstructured) is to develop your code
under a public_html root and throw google at it ...


Cheers

/Joe








On 2006-01-16 10:01, Vlad Dumitrescu wrote:
> Hi all,
> 
> I feel that there should be a code repository for 3rd party Erlang code that
> is easily searchable and at a smaller granularity than jungerl. Jungerl
> contains many pearls, but if they happen to be in an application that I
> don't even know what is about, I'll never look there "just in case".
> 
> What I'd like to have is a repository for general-use library code. One
> example would be the many times discussed httpd_utils. In the end, this code
> might find its way to the standard libraries, but in the meantime why
> reinvent the wheel just because one didn't know it was already invented?
> 
> I have a few ideas about how this could be done[*], but I'd like to know how
> interesting something like this would be for the community. Also, somebody
> else could have better implementation ideas.
> 
> best regards,
> Vlad
> 
> [*] Authors annotate the code (in jungerl or elsewhere) and a tool will then
> extract and publish this information online (at trapexit, maybe).
>     One way to annotate might be to choose a standard library module where
> these functions would best be found, if they were to be included in the
> standard libs. For example a mapwhile/3 function would be annotated with
> "lists".



More information about the erlang-questions mailing list