[Sussex] Gentoo moves to RPM

Geoff Teale Geoff.Teale at claybrook.co.uk
Wed Apr 2 08:32:00 UTC 2003


Steve W. Wrote:
---------------
> Why, would this be a bad thing?
> 
> Or am I revealing my complete ignorance of all things Gentoo?

Simply put, yes :)

The reason it would be a bad thing is the fundemental reason why anyone uses
Gentoo at all - it's mechanism for "package" management.  Gentoo uses a
system that sits somewhere between the FreeBSD Ports system and Debian's
apt-get mechanism.

The Portage tree in Gentoo is a directory of scripts which is synced with
one (or many) of the Gentoo mirrors.  Each script (a .ebuild file) contains
instructions on how to install an application.  An .ebuild file is much like
a shell script (infact the majority of it is exactly what you'd type into
bash to do the same job), with some additional headers to determin
dependancies, etc..  What really distinguishes Gentoo from other such
systems (i.e. Debian based distros) is that it installs from Source code.  

When I issue the instruction:

emerge /usr/portage/x11-wm/fluxbox

... the following happens:

1\ The Python program "emerge" opens up the most recent unmasked .ebuild
file in the directory /usr/portage/x11-wm/fluxbox/

2\ Emerge reads the dependencies from the header of the emerge file, if they
are already installed then the program will continue, any missing packages
will be "emerged" from the portage tree before this emerge will continue.
Note - this means that, if it's not already installed, this emerge could
result in XFree86 4.3 being pulled, compiled and installed - this takes time
(about 25 minutes on my new machine, over an hour on my old one) - so it is
useful to use emerge's -p (pretend) option to see what it's going to do up
front.

3\ Once all dependencies are satisfied, emerge will then pull the
appropriate source for the package - how this is pulled depends on the
script, it could be ftp, http or CVS.  In this case a tar.bz2 file will be
pulled from fluxbox.sourceforge.net via ftp.

4\ The .ebuild file will now step through the stages required to build and
install fluxbox.  A key feature here is that the compiler options are set
(where possible) by your /etc/make.conf file.  This file contains your own
options, principally indicating CPU type and GCC optimisation flags and
means that everything get compiled in a manner optiomised to your hardware.
This is a good thing (TM) if your are looking to get the most out of your
machine - it is equally a bad thing if you don't have time to wait for
compiles.

So what does this give us that RPM doesn't?  RPM does not resolve
dependancies, only notes them.  RPM, does not build from source (although
you can use SRPMS to install it).  You have to go and find an RPM, an ebuild
file is available from a directory structure on your own machine and can be
searched for trivially.  Gentoo allows much more control over packages, up
to and including "sandbox" installations, "injection" of packages installed
outside the portage tree and the ability to upgrade between versions (i.e
1.2 -> 1.4) with a simple - `emerge rsync && emerge -u world`.

Ultimately Gentoo allows you the freedom to build your machine they way you
want it (there is no default build), to be at the cutting edge (or for those
with ~x86, ~PPC or ~SPARC defined, the bleeding edge) of LINUX technology
and to get the most out of your machine.  It probably isn't something you
want to run on your production server - Debian would be a better bet there -
but for the Linux geek there are few better options if you have a home
machine on which you like to fiddle around, it is also the choice of many
developers working on major projects such as KDE, Gnome, Mozilla and
OpenOffice.org because it allows them to keep their whole development
environment upto date with the minimum of effort whilst seemlessly
integrating with their CVS repositories.

The biggest hurdle to Gentoo use is the amount of time it takes to get it up
and running.  There are three solutions to this: 

1. Buy a very fast machine.

2. Wait until the 1.4 release proper and use the GNU Reference Platform
builds to build a machine in 20 minutes or so (far less optimal, but good
none the less).

3. Install the portage tree on your current ditribution and this gain a lot
of the benefits of Gentoo without having to build a Gentoo machine -
instructions for doing this can be found here:

http://forums.gentoo.org/viewtopic.php?t=28559

IF you want more information I suggest you head over to
http://www.gentoo.org 

-- 
geoff.teale at claybrook.co.uk
tealeg at member.fsf.org

"And I hope that you die and your death'll come soon
I will follow your casket in the pale afternoon
And I'll watch while you're lowered down to your deathbed
And I'll stand o'er your grave 'til I'm sure that you're dead"
 - Bob Dylan, a pacifist :-)

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d? s+:+ a- K? w---$ O M+ V- PS++ PE- Y+ PGP- t--- 5-- X R- tv- b+++ 
DI++++ D G+ e++ h--- r+++ z+++
------END GEEK CODE BLOCK------



The above information is confidential to the addressee and may be privileged.  Unauthorised access and use is prohibited.
 
Internet communications are not secure and therefore this Company does not accept legal responsibility for the contents of this message.
 
If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.
 
Claybrook Computing Limited is a subsidiary of Claybrook Computing (Holdings) Limited
Registered Office: Abbey House. 282 Farnborough Road, Farnborough, Hampshire GU14 7NJ
Registered in England and Wales No 1287205
 
A Hogg Robinson plc company





More information about the Sussex mailing list