Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Apr 2001 14:52:21 -0500
From:      Andrew Hesford <ajh3@chmod.ath.cx>
To:        Mike Meyer <mwm@mired.org>
Cc:        "Albert D. Cahalan" <acahalan@cs.uml.edu>, questions@freebsd.org
Subject:   Re: How Is The FeeBSD OS Like and Different Than Say Redhat or Suse LINUX
Message-ID:  <20010425145221.B74594@cec.wustl.edu>
In-Reply-To: <15078.61833.932924.665495@guru.mired.org>; from mwm@mired.org on Wed, Apr 25, 2001 at 10:47:21AM -0500
References:  <73272839@toto.iv> <15078.61833.932924.665495@guru.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 25, 2001 at 10:47:21AM -0500, Mike Meyer wrote:
> Albert D. Cahalan <acahalan@cs.uml.edu> types:
> > > Hence the FreeBSD organization is logical even by
> > > this consideration alone. It is equally logical for linux distributions
> > > to store everything in /usr, then, because nobody has any idea where the
> > > linux "system" ends and local software begins. 
> >
> > The system is what comes on your CD-ROM.
> 
> And this is important because it means you've *got* a backup of that
> software. Your backup strategy can take advantage of that if you want.
> 
> I'd say that most Linux rpm's should put software in /usr/local. An
> rpm is the standard means of software distribution for Linux, and
> everybody and their brother distributes them. The net result is the
> only difference between installing an rpm and installing a source
> tarball is where the compile is done.
> 
> FreeBSD packages are different because the only group distributing
> FreeBSD packages is FreeBSD itself. That means packages are generally
> available from FreeBSD, if not on the CDROM.  I've seen a few ports
> floating around, but in that case I store the *port* in my home
> directory, and let the package install in the default location.

Packages are just FreeBSD ports compiled on somebody else's machine. Not
only the FreeBSD team can distribute them; anybody can make a package by
changing to the appropriate directory in the ports tree, and typing
`make package`. It builds the port, installs it, and also creates a
tarball FreeBSD package.

This means installing packages is no different than installing ports,
except you likely don't make use of the CPUTYPE flags in make.conf, and
if the compiling host is stored in the code (e.g., XFree86), it won't be
your machine that is reported.

I should also redirect you to my earlier post. "Site-specific" (or
"locally installed" if you read the Linux FSSTND) does NOT mean locally
compiled. It simply means the presence of the software depends on the
machine you are at. This is exactly the case with all ports... they are
optional. The only software a FreeBSD system is GUARANTEED to have is
the stuff in /usr/src... because that is the only software the FreeBSD
team works on. Ports are maintained by individuals who have spare time
and desire... they have nothing to do with the base system.

And again... even if you believe that /usr/local is reserved for locally
compiled stuff only, remember that all the ports are locally compiled.
Hence they belong in /usr/local. Packages are designed to replace
ports; do you mean to tell me that certain ports should be in /usr, and
certain ports should be in /usr/local, simply because they were compiled
on different machines? That is an adminstration and organization
nightmare, and makes no sense whatsoever. 

If you can name a port or package that you think is on every standard
FreeBSD box out there, I can show you a system which doesn't have it and
doesn't need it. If there really *is* something that should be on every
standard box, then it doesn't belong in the ports... it belongs in the
contrib branch of the main source tree.

-- 
Andrew Hesford
ajh3@chmod.ath.cx

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?20010425145221.B74594>