I had a dread

Mickael Remond <>
Thu Sep 1 18:32:04 CEST 2005


Joe Armstrong (AL/EAB) wrote:
> I had a dream ...
>  
> I had just installed Ubuntu on my machine and after four hours of 
> struggling to get Xmodmap to understand what a tilde was, I dozed
> off and began dreaming
> 
> I thought "I want to install yaws" I typed
> 
> 	> apt-get install yaws
> 
> The system spat back:
> 
> 	Yaws depends upon mnesia
> 	and mnesia depends upon Erlang
> 	and Erlang depends upon stdlib, kernel and compiler
> 	all of this will occupy a piddling 3 MB on your machine
> 	shall I install it Oh great One? [Yes]
> 
> I typed Y it purred back at me
> 
> 	Fetching all these wonderful programs
> 	Installing them 
> 	Everything works beautifully - shall I play some tranquil music
> 	and pour you out a Gin and Tonic - oh great One?
> 
> Yes -pleeeeease 
> 
> ....
> 
> I'm lying of course, but I could have had a dream like this.
> 
> So what I did was fetch R10B-7 and typed in the magic spells
> "./configure; make; make install"
> 
> Configure said
> 
> 	No ncurses you moron
> 
> So I said
> 
> 	> apt-get install ncurses (or something)
> 
> and configure said
> 
> 	No ssl support you moron
> 
> so I said
> 
> 	> apt-get install openssl
> 
> and configure said 
> 
> 	No java
> 
> Hooray
> 
> So I typed make
> 
> And the system said
> 
> 	I will make your program oh great one
> 	even though this will take a jolly long time
> 	and even though you have a spiffing new and jolly fast
> 	processor - verily thou shall wait a bugger of a long time
> 	a be entertained with a lot of strange warning messages
> 	which nobody (and I mean nobody) really understands
> 
> 
> [back to reality]
> 
> 
> If we want to spread Erlang we might like to think about 
> how it is to be packaged. This means we must should agree on a dependency tree.
> 
> Here's a shot at the dependency tree:
> 
> Level 0 - Erlang base libraries
> 
> 	stdlib
> 	kernel
> 	compiler
> 	...
> 
> 	Doing apt-get install stdlib
> 	gets the stdlib/*.beams and include files in stdlib
> 
> Level 1 - Erlang
> 
> 	erlang 
> 	...   gets erlang
> 		the commands erl, erlc and escript now work
> 
> 	Level 1 depends upon Level 0 - but only the necessary libraries (stdlib, kernel,
> 	compiler, etc. and not orber, .... etc.
> 
> 	Also we have to decide what external dependencies are needed. My feeling here
> is yes to openssl, zlib etc. but not to other languages (java, python etc.)
> 
> Level 2 - Graphics packages data bases written in or dependent upon Erlang
> 
> 	gtkNode, mnesia, ....
> 	
> 	These depend upon Level 1
> 
> Level 3 - Apps
> 
> 	Yaws, erlJabberd, erlguten, ... whatever
> 
> Note the base level package is NOT erlang, but stdlib etc.
> 
> I would expect users to start by installing applications - and for these to
> provided some "bangs for the buck" - ie do something fun immediately
> 
> It might also be nice if we can automate a "gateway" from apt-get to erlmerge
> so that erl-merge packages automatically become apt-gettable!
> 
> Now I do know a bit about Erlang but nothing about debian package making
> is what I have suggested feasible and/or desirable.
> 
> How could we go about this?

This is typically why we created REPOS, a complete Erlang repository of 
Erlang ready software ready to run, that you can install by just copying 
on your hard drive.
It works very well and is my secret weapon for Erlang "evangelisation"
(Yes, I know, you cannot download the CDROM repos ISO for now until out 
sites are up and running).

Fortunatly, there is a mirror, if you want to give it a try:
ftp://ftp.su.se/pub/mirrors/download.erlang-projects.org/repos/

Cheers,

-- 
Mickaël Rémond



More information about the erlang-questions mailing list