Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 May 2000 19:33:05 GMT
From:      Salvo Bartolotta <bartequi@neomedia.it>
To:        Nils Holland <nils@nightcastleproductions.org>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Updating software from the ports-collection
Message-ID:  <20000506.19330500@bartequi.ottodomain.org>
In-Reply-To: <Pine.BSF.4.21.0005061655160.753-100000@ilka.ncptiddische.net>
References:  <Pine.BSF.4.21.0005061655160.753-100000@ilka.ncptiddische.net>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<

On 5/6/00, 3:59:44 PM, Nils Holland <nils@nightcastleproductions.org>
wrote regarding Updating software from the ports-collection:


> Well, imagine I have some software from the ports collection installed=

on
> my system. Now I update the ports collection using CVSup and I notice
that
> a new version of the software I have installed is available. I can now=

> normally build and install the new version, but I wonder what happens
to
> the old version? Its files will be overwritten by the new version, so
that
> whenever I use the software I use the new version. But will the old
> version remain marked as installed in FreeBSD's database? I'm asking
this
> question because I don't know if I should (for example) remove
siag-3.2.0
> before I install siag-3.3.3 or if I don't need to worry about that...

> Any suggestions are appreciated.

> Nils



Dear Nils Holland,

Usually, you upgrade a package in order to **substitute** the new
version for the old one. A recommended general procedure is the
following:

1) issue "make clean" in the port directory;

2) issue "make" in the port directory; thus you make sure the new
version actually builds before you replace it;

3) issue "pkg_delete [-f] <name_of_old_package>; "-f" (force) is
necessary if the package in question is needed by other packages; a
"pkg_info | grep <package_name>" will spit out the exact name (and
version) of the package you currently have: thus you will be able to
feed the above-mentioned pkg_delete command;

4) make install in the port directory; this command actually installs
the package.

This is a *general* approach.

I have run into a couple of remarkable exceptions so far.

Exception I
Few months ago, I updated a package in a mega metaport. The metaport
as a whole would NOT work. I might have spent some time trying to
solve the problem if I had been interested in the solution. But I only
wished to make it work. So I wrote a little script to grep, clean and
deinstall the relevant old components of the metaport; next, I
recompiled and installed the updated metaport. Needless to say, this
cleared all difficulties. A similar method also makes sure that the
relevant metaport components you recompile get the new patches ...

Exception II
Some programs must be able to run in more than one version. Some ports
require a given version; other ports require a different one. In such
cases, those  ports are (should be) designed in order NOT to conflict
with one another. You will find out if this is the case with a quick
look at the port(s) directory/ies, viz at the .../pkg/PLIST.

One last note.
When you install a lot of ports, you should be careful, as is
suggested in the handbook (chapter on ports, troubleshooting section.)

HTH,
Salvo





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?20000506.19330500>