Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Apr 2001 17:07:47 -0500
From:      Mike Meyer <mwm@mired.org>
To:        Andrew Hesford <ajh3@chmod.ath.cx>
Cc:        questions@freebsd.org
Subject:   OT: Ports & packages don't belong in /usr/local
Message-ID:  <15079.19123.571171.159852@guru.mired.org>
In-Reply-To: <64957189@toto.iv>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Hesford <ajh3@chmod.ath.cx> types:
> On Wed, Apr 25, 2001 at 05:35:40AM -0400, Albert D. Cahalan wrote:
> > The system is what comes on your CD-ROM.
> 
> You are forgetting that this is the networked generation. Not everybody
> even has an ISO available. Today, with broadband and the like, it's easy
> to do an FTP install without ever touching a CD. Therefore you can't
> apply any standard to third-party software; the CD test breaks down.

Actually, the network is a *crictical* part of the equation. For
"CD-ROM", read "OS distribution", and for "comes on", read is "is
automatically reproducible from":

	The system is what is automatically reproducible from your OS
	distribution.

Packages and ports are clearly part of that.

Of course, the issue of "where it comes from" is a red herring. The
real issue is system management. For instance, what do I have to do to
restore it if the disk dies, or what do I go if there are problems?

For the base system, ports and packages the answer is "you can
reinstall the stuff from the OS distribution." Things that have
another source - whether you wrote them, ported an applications
source, or got a port or package from somewhere else - need a
different strategy. If you have to apply this alternate strategy to
those things, you may well be wasting time and effort for no good
reason.

Now, if some command breaks and you want to fix it, what do you do?
If it is reproducible from the OS distribution, then you need to use
whatever methods the OS has for getting support. On FreeBSD, the best
method depends on what you're dealing with. Submitting a pr should
work for everything, including ports and packages, even though it may
not be optimal. If something wasn't created from the OS distribution,
sending a PR probably isn't going to do me any good. Being able to
determine that at a glance saves time and effort.

This distinction helps even if you're like me, and your first reaction
when something breaks is to go look at the source. Systems sources are
in a single, well-defined place, and the command usually points
straight to them. Sources to ports and packages are similarly in a
single well-defined place, or can be trivially made to appear in that
place if you clean things up. On my system, sources to things that
weren't built with the OS distribution are in a single, well-defined
place. Being able to tell which of the three source trees I need to
look in at a glance saves me time and effort.

Those aren't "who compiled it, where did the source come from, etc."
issues, they are system management issues. Being able to segregate
these two classes of things is important to some people. To others, it
isn't - but they can merge them back with a single command.  If you
can show me how I can keep things that aren't reproducible from the OS
distribution in /usr/local - where they traditionally belong - while
at the same time installing ports in /usr/local segregated with a
single command, I'll concede the point.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

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




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