From owner-freebsd-ports Sun Oct 17 14: 9: 2 1999 Delivered-To: freebsd-ports@freebsd.org Received: from guru.phone.net (guru.phone.net [216.240.39.120]) by hub.freebsd.org (Postfix) with SMTP id A19421506F for ; Sun, 17 Oct 1999 14:08:59 -0700 (PDT) (envelope-from mwm@phone.net) Received: (qmail 15753 invoked by uid 100); 17 Oct 1999 21:08:58 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 17 Oct 1999 21:08:58 -0000 Date: Sun, 17 Oct 1999 14:08:58 -0700 (PDT) From: Mike Meyer To: freebsd-ports@FreeBSD.ORG Cc: freebsd-current@FreeBSD.ORG Subject: Re: make.conf options (was Re: package-like feature for the base distrib (was Re: FreeSSH)) In-Reply-To: <199910171630.MAA46571@khavrinen.lcs.mit.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Sun, 17 Oct 1999, Garrett Wollman wrote: ;->< said: ;-> ;->> This is going in the right direction, but here is a question (and I don't ;->> have the answer). Is it so much more easier to create new compile time ;->> directive than to go the extra step and use packages where they are ;->> available ? For example "bind8" is available as a package. Why not have the ;->> base install process use that instead of using its own source ? ;-> ;->Because one of the fundamental principles is that a default ;->installation, with no third-party packages, should still be a complete ;->system, and -- most importantly -- be able to regenerate itself ;->precisely from source. Hence, the default system needs to contain ;->*an* MTA (not necessarily sendmail, but that's not a question we want ;->to reopen), and *a* name server (not necessarily bind, but there are ;->no other choices). Much better put than I was going to do it. Is it possible to arrange things so that this principle can be adhered to, while at the same time making such replaceable components easier to deal with than disabling part of the default installation and installing a package? For instance, do we have to consider anything in a package as "third-party" software? Why can't we use the port/package technology on things that are part of FreeBSD? That way, instead of a compile-time NOFOO option, you have a compile-time FOO= option. The build process would have to be extended to rebuild packages (a good thing in any case). The installation process would need to be able to add "port" source based on the package name. We'd probably want another port category (FreeBsd?) to identify ports that aren't third-party software. Looking back at your principle, the default installation would include nothing that wasn't in the FreeBSD category. So it has no third-party packages. The built system - whether default or not - would be able to regenerate itself precisely from sources.