Package Update Purgatory on FreeBSD

Typically upgrades to a FreeBSD UNIX system are a breeze.  Packages are automatically checked for security updates that are emailed, letting you know they are available.  Occasionally things get messy however. and work-arounds must be employed.

There are a number of different package managers, and once you find one you like, you really want to stick with it.  At Tera Bear Consulting we use portmaster.

Recently I had an issue with an update to subversion where it wouldn’t get upgraded using our friend portmaster, however.  I tried, but it wouldn’t budge giving me the error:

>make: cannot open Makefile.

Yuck.  I tried uninstalling and installing the latest version with still no luck.  I tried what was suggested in /usr/ports/UPDATING which sometimes is key, but not in this case.  The package upgrade went smoothly on other systems so I knew there was nothing wrong with the update.  It had to be this system.  normally I use cd to the ports directory where the package lives and do make deinstall.  However, since the port had been deprecated it wouldn’t remove itself.  What finally worked in this case was:

 pkg_info | grep subversion

>subversion-x.x.x    Version control system

Where x.x.x is the version currently installed. pkg_info confirmed it was still installed and which version. To remove it, I did:

 pkg_delete subversion-x.x.x

With that gone I was still unable to install from the ports tree getting the same error about the Makefile above.  So I used the package installer:

 pkg_add -r subversion

This installed an earlier version of subversion than desired, but from here I was able to do:

portmaster subversion

which upgraded the system without a hitch.  No version is required when using portmaster.  It knows.  Now to verify:

pkg_info | grep subversion
>subversion-y.y.y    Version control system

Viola.  We’re up to date, and consistent.


About Jon Lybrook

Jon Lybrook is owner and chief developer of Tera Bear Consulting in Boulder Colorado.
This entry was posted in FreeBSD System Administration, portmaster, UNIX. Bookmark the permalink.