Saturday, March 06, 2004

Portupgrade Errors

It's been a while since I upgraded my ports tree, and I ran into errors when I upgraded the tree using portupgrade today. Here's some of what I saw:

! net/p5-Socket6 (p5-Socket6-0.14) (uninstall error)
! lang/python (python-2.3.3_1) (uninstall error)
! security/p5-Digest (p5-Digest-1.05) (uninstall error)

---> Session ended at: Sat, 06 Mar 2004 15:03:40 -0500 (consumed 01:25:26)
portsclean -CDD
/usr/local/sbin/portsclean:35:in `require': No such file to load -- pkgtools (Lo
adError)
from /usr/local/sbin/portsclean:35
Done updating ports tree at Sat Mar 6 15:03:40 EST 2004.

Doing some research I found that making lang/ruby18 the default requires special handling of portupgrade, according to this commit message.

I handled the situation this way:

janney:/var/db/pkg# ls | grep ruby
ruby-1.6.8.2003.10.15_1
ruby-1.8.1_2
ruby-bdb1-0.2.1
ruby-shim-ruby18-1.8.1.p3
janney:/var/db/pkg# pkg_delete ruby-1.6.8.2003.10.15_1/
pkg_delete: unable to completely remove directory '/usr/local/lib/ruby/site_ruby
/1.6/i386-freebsd4'
pkg_delete: unable to completely remove directory '/usr/local/lib/ruby/site_ruby
/1.6'
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
janney:/var/db/pkg# pkg_delete ruby-1.8.1_2/
janney:/var/db/pkg# pkg_delete ruby-bdb1-0.2.1/
janney:/var/db/pkg# pkg_delete ruby-shim-ruby18-1.8.1.p3/
pkg_delete: file '/usr/local/bin/erb' doesn't really exist
pkg_delete: file '/usr/local/bin/h2rb' doesn't really exist
pkg_delete: file '/usr/local/bin/rdoc' doesn't really exist
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
janney:/usr/ports/sysutils/portupgrade# make clean
===> Cleaning for ruby18-bdb1-0.2.2
===> Cleaning for ruby-1.8.1_2
===> Cleaning for portupgrade-20040208
janney:/usr/ports/sysutils/portupgrade# make && make install

Then I ran 'pkgdb -F' to update the package database and ran 'portupgrade -va -x openoffice' to upgrade the ports which failed to upgrade earlier.