Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Feb 2001 12:55:43 +0200
From:      Mark Murray <mark@grondar.za>
To:        Jordan Hubbard <jkh@winston.osd.bsdi.com>
Cc:        arch@FreeBSD.ORG
Subject:   Moving Things
Message-ID:  <200102181055.f1IAt6957670@gratis.grondar.za>
In-Reply-To: <11284.982487979@winston.osd.bsdi.com> ; from Jordan Hubbard <jkh@winston.osd.bsdi.com>  "Sun, 18 Feb 2001 01:19:39 PST."
References:  <11284.982487979@winston.osd.bsdi.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Picking up the thread, and renaming it to give a starting point.

> > 	I'd like to point out that making FreeBSD more modular doesn't
> > necessarily mean that we have to change the policy we have hard coded
> > into the Makefiles.  We can and do subset things more easily than
> 
> Absolutely, we're in violent agreement on that point.  I'm just
> suggesting that instead of having the policy be represented by
> SUBDIR lines in Makefiles, it should instead be something like
> this:

[ example removed ]

To properly describe where I am with this now, I ask all of you
participants to please stop thinking in terms of individual programs or
packages, and take Jordan's 20000 ft view on this.

It is plainly obvious that "FreeBSD" means different things to different
people. My FreeBSD includes my choice of shell, mailers games X
environment and so on. The whole purpose of this discussion is now to
find a way of structuring FreeBSD in an extensible way that not only
allows people to have what they want, but also to _not_ have what they
_don't_ want.

Desktop users want lots of X stuff, newsreaders, web browsers, mail
clients, flashy screen savers and the like.

Server administrators want kick-arse performance in whatever services
they offer, and minimal flashiness to slow things down.

Turbo-geeks want to configure absolutely everything so that can run
FreeBSD in their pocket calculators or wearable computers.

Newbies want it to work out-of-the-box, because they don't understand
all this configuration crap anyway.

Dialup users may have special requirements such as POP services, UUCP,
PPP-dial and so on.

Security paranoids have a particular list of things-to-remove that is
at odds with folks who work behind firewalls.

NOBODY wants to be told by some dumb policy decision what he has to have
on his machine (if he doesn't want it there).

SO - How do we proceed? Here is an idea:

PLEASE PLEASE do not look for implementation details in the following; I
know it will be hard, but until a decent design comes out, arguing about
programming details is futile.

Step back and look at FreeBSD as ports and base combined - stir the pot
if you will. Imagine a tree (use XML as a sort of concept here, although
the final thing could be anything). At the concept level, this is NOT
Makefiles, this is a configuration structure.

There is a system that understands the above tree, and is able to use it
to decide how to install software into the target system.

Being a tree, this configuration structure is hierarchical - working
from the base will result in more work being done than working from a
branch or from a leaf. There would also be dependancies (installing
(say) UUCP would depend on installation of any MTA).

At the small branch or leaf level, where individual bits are installed,
there would be many ways to do things, depending on what you have, and
what you want and need. A newbie would install compiled binaries, but
a developer would check out sources, and compile/install those. Even
developers may not be interested in all sources, and may choose to
simply cache or download precompiled sources for things that they use
but don't actively work on. All of this should be fluidly configurable.

This way, the hardcore types can still to a "make world" (but can choose
to leave out junk they don't like) while including in the build their
favourite ("portish") tools (editors, servers etc).

Comments?

M
-- 
Mark Murray
Warning: this .sig is umop ap!sdn


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102181055.f1IAt6957670>