Forum Moderators: bakedjake
anyone know a way in FreeBSD to upgrade ports. It doesn't look like the best thing to remove everything and then wait 20 hours for the stuff to compile. Often I see a case where portupgrade won't deinstall and reinstall a package too which I can do manually, I guess adding -f probably will help but was wondering if there is a better tool for the job.
What I do is run pkgdb -F, to fix the dependencies after a cvsup, then run portupgrade. Any packages that failed, I then keep a list of them.
Typically, it's just a matter of "make deinstall"ing the port, and then make install again. This usually fixes it. If you can track down the major offending port (ie, gettext or whatnot), and deinstall/install it, and try portupgrade again, I find it works after that.
For the most part, there is no other tool that will do it as well as portupgrade (that I've seen). but, have a look at freshports.org, and search for anything package/port related. There may be something there.
-MM
portinstall -rR xchat2
...
===> Installing for atk-1.4.1_2
===> atk-1.4.1_2 depends on executable: pkg-config - found
===> Generating temporary packing list
===> Checking if accessibility/atk already installed
===> atk-1.4.1_2 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of accessibility/atk
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1
Stop in /usr/ports/accessibility/atk.
*** Error code 1
Stop in /usr/ports/irc/xchat2.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portinstall54518.4 make
** Fix the problem and try again.
** Listing the failed packages (*:skipped /!:failed)
! irc/xchat2(unknown build error)
---> Packages processed: 5 done, 21 ignored, 0 skipped and 1 failed
A better example of what I mean is for example trying to upgrade KDE from 3.1.4 to 3.2.3 it wants to install openldap22-client but openldap21-client is installed and it chokes. And the only way to do the upgrade is to remove all of KDE and openldap21-client and then do an install.