Reinstalling, then upgrading (Was Re: Salvageable? (Was Re:make installworld error))

epilogue epilogue at allstream.net
Tue Aug 24 12:27:14 PDT 2004


On Tue, 24 Aug 2004 14:47:03 -0400 (EDT)
"Charles Ulrich" <charles at idealso.com> wrote:

> Lowell Gilbert said:
> > In FreeBSD, a "port" is a third-party application ported to be built
> > from
> source on your system.  A "package" is a pre-compiled binary of that
> port. Once installed, they are both tracked (and removable) by the same
> database, usually referred to as the "package database".  See the FreeBSD
> Handbook section on "Installing Applications: Packages and Ports" for a
> full explanation.
> 
> Just out of curiosity, is it incorrect to simply say that ports build
> packages?

Yes.

> That is, once a piece of software is installed with 'make install',
> is it treated the same as any package that was installed from the
> installation CD? (If not, or if the relationship is really a whole lot
> more complex than that, then my rant below doesn't apply.)
> 
> A lot of new users can't readily tell the difference between a port and
> package and frequently use the two terms interchangably.

mostly the users who:

a) don't bother to read the handbook
b) read the handbook too quickly (ie. skim it)
c) read the handbook in a language which isn't their own
d) other...  (feel free to add your own variations ;)

> The handbook gives an overview of both ports and package but stops
> short of clearly spelling out this important distinction.

Taken directly from our beloved handbook:

"4.2 Overview of Software Installation
                                                             
If you have used a UNIX® system before you will know that the typical
procedure for installing third party software goes something like this:    
                                                                           
1. Download the software, which might be distributed in source code format,
or as a binary.

2. Unpack the software from its distribution format(typically a tarball
compressed with compress(1), gzip(1), or bzip2(1)).

3. Locate the documentation (perhaps an INSTALL or README file, or some
files in a doc/ subdirectory) and read up on how to install the software.

4. If the software was distributed in source format, compile it. This may
involve editing a Makefile, or running a configure script, and other work. 

5. Test and install the software.

And that is only if everything goes well. If you are installing a software
package that was not deliberately ported to FreeBSD you may even
have to go in and edit the code to make it work properly.

Should you want to, you can continue to install software the
``traditional'' way with FreeBSD. However, FreeBSD provides two
technologies which can save you a lot of effort: packages and ports. At the
time of writing, over 10,500 third party applications have been made
available in this way.

For any given application, the FreeBSD >>> package <<< for that
application is a >>> single file <<< which you must download. The package
contains >>> pre-compiled <<< copies of all the commands for the
application, as well as any configuration files or documentation. A
downloaded package file can be manipulated with FreeBSD package management
commands, such as pkg_add(1), pkg_delete(1), pkg_info(1), and so on.
Installing a new application can be carried out with a single command.

FreeBSD >>> port <<< for an application is a >>> collection of files <<<
designed to >>> automate the process of compiling <<< an application
>>> from source code <<<.

Remember that there are a number of steps you would normally carry out if
you compiled a program yourself (downloading, unpacking, patching,
compiling, installing). The files that make up a port contain all the
necessary information to allow the system to do this for you."

hope that this helps to clear up any confusion you might have had.


cheers,
epi


> But at the same time, it also implies that ports and packages are two
> completely separate ways of installing software when in reality they are
> actually two parts of the same system. The phrase "ports build packages"
> is a neat and efficient way of rectifying the misunderstandings that can
> occur when trying to give a proper explanation of FreeBSD package
> management.
> 
> -- 
> Charles Ulrich
> System Administrator
^^^^^^^^^^^^^^^^^^^^^^^^

the fbsd handbook is one of the very best in *nixland.  please pay it the
attention it deserves.


> Ideal Solution - http://www.idealso.com
> 
> 
> 
> -- 
> Charles Ulrich
> System Administrator
> Ideal Solution - http://www.idealso.com
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
> 


More information about the freebsd-questions mailing list