F. Senault wrote:
> Basically, it requires to write a very simple makefile, a text
> description, and generate a hash of the package.
>
> You can find an actual makefile here :
>
> http://www.freebsd.org/cgi/cvsweb.cgi/ports/mail/rubygem-actionmailer/Makefile?rev=1.10;content-type=text%2Fplain
>
> If you want to take a look around, you have a list of all the gems
> currently managed here :
>
> http://www.freebsd.org/ports/rubygems.html
>   

Exactly the information I needed :-) I looked around, inspecting several
Makefiles and I find the process roughly as simple as a gentoo ebuild
based on the ruby and gems eclass.
The Makefile syntax isn't exactly my personal preference but it's a
matter of taste.

> (Note that rubygem itself can be installed, and is somewhat integrated
> into the system too.)
>
> The FreeBSD ports is build around Makefiles, but very standardized, and
> those will pilot the usual makefiles of each software or will launch
> every other kind of stange command needed to build your software.

Brings back memories (I've actually briefly used FreeBSD long ago). From
a quick count (ruby + rubygems vs dev-ruby and other ruby-related
packages scattered across the Portage tree) it seems there's about the
same ruby support in the ports and in the Portage tree.

> [...]
> Simpler, somewhat.  The real winning point is that, on all my FreeBSD
> machines, I can completely wipe out the installed packages with a 'rm
> -rf /usr/local', and still have an usable, bootable system.  Not that
> it's really useful, but it shows what Chad means with the integrated
> system - you have a fully functional base that comes with the OS, and
> the packages neatly separated.

I see you like clean and lean systems a lot too :-)

In a similar way you can use the /var/lib/portage/world as a reference
for all the packages you installed on top of the system on Gentoo too.
It's a little different as you'll use the package manager to clean the
system for you and not a simple rm -rf (I concede simple is hard to
argue against). But package managers has their virtues: you don't lose
the configuration files modifications when uninstalling, you even get
archives created for you with 3-way merging of new configuration files
when upgrading, can track everything (the (un)installs are logged, all
files referenced, hashed for tampering checks) dependencies are
maintained (although I see ports supports deps too) and even dynamic
based on your configuration.
I like this world file a lot because it doesn't store all your package
but only the ones you *requested*. Dependencies can be easily cleaned up
thanks to this (with a small dose of precaution involving a dynamic link
checker because of the nature of a source based distribution).

> [...]  That also means that I can probably find
> my way and manage the basics of any relatively recent FreeBSD system out
> there : unless the administrator made some very ugly things, I'll find
> the basic tools needed to run the box.
>
>   

It's probably true on any Unix system you mastered (I remember having an
HP admin and me in front of an HP-UX box and even though I had far more
experience, methodology and general CS knowledge, here I was the student
99% of the time...).


> [...]
> I don't know the numbers for GenToo, but FreeBSD has, at the moment,
> 17620 ports.
>
>   

Ok even if it can be difficult to compare, FreeBSD probably wins :-)
Gentoo has more than 12000 packages in the main tree. Many have several
stable versions, but it's not more common to have what is called 'SLOT
'ed packages (packages where it's meaningful to have several versions
installed simultaneously, some libs and autoconf are known for this)
than packages without any stable version at all.

There may be a catch: I don't know for FreeBSD, but other distributions
get more packages because they split some packages in several
sub-packages (client, server, libs, headers, doc,
<programming-language>-lib...), Gentoo never does this and always ship
one and only one package which may install only what the admin needs
according to the global system configuration.
Some may want to count Gentoo overlays, but very few have what I
consider production quality software.

In short, I'm pleasantly surprised.

> /.../
>
>   
>> The lack of organization is indeed a defect. Not big (it's not a huge
>> pile where you spend hours looking for something) but it definitely
>> could be improved.
>>     
>
> This is the point I really, really like about FreeBSD.  Next to every
> system utility and library has a man page, and port maintainers are
> known to write or convert some for the packages that would lack those.
>   

For Gentoo it's a *requirement* to document software. IIRC it's a policy
violation to mark undocumented software stable in the tree.

> Aside from that, the FreeBSD handbook is well written, and a good basis
> for many tasks.
>
> Fred
>   

Thanks, you cleared up some misconceptions (or outdated impressions) of
mine. At this point I guess I'll have to install FreeBSD on a system to
play with (in the end, it's always a matter of taste and you can't get
the taste without a test...).

Lionel