Tuesday, January 02, 2007

More FreeBSD Package Issues

While poking around my FreeBSD packages I noticed the following situation. In the following output notice I have two versions of pkg-config installed. The old is called pkgconfig.

orr:/root# pkg_info | grep config
autoconf-2.59_2 Automatically configure source code on many Un*x platforms
etrace-1.1 A configurable static port network tracing tool
fontconfig-2.3.2_6,1 An XML-based font configuration API for X Windows
pkg-config-0.21 A utility to retrieve information about installed libraries
pkgconfig-0.20 A utility to retrieve information about installed libraries

I can see which packages depend on which version.

orr:/root# pkg_info -R pkgconfig-0.20
Information for pkgconfig-0.20:

Required by:
gaim-1.5.0_8
gnomehier-2.2
gtkspell2-2.0.11_2

orr:/root# pkg_info -R pkg-config-0.21
Information for pkg-config-0.21:

Required by:
aterm-1.0.0_1
atk-1.12.3
bitstream-vera-1.10_2
bwm-ng-0.5_1
cairo-1.2.6
desktop-file-utils-0.11
dsniff-2.3_1
firefox-1.5.0.7,1
fluxbox-devel-1.0rc2_3
fontconfig-2.3.2_6,1
freetype2-2.2.1_1
gaim-1.5.0_8
ghostscript-gnu-7.07_15
glib-1.2.10_12
glib-2.12.4
gnomehier-2.1_2
gnomehier-2.2
gtk-1.2.10_17
gtk-2.10.6_2
gtksee-0.5.6_1
gtkspell-2.0.11_4
irssi-0.8.10_3
itk-3.3
iwidgets-4.0.1
libIDL-0.8.7
libXft-2.1.7_1
libafterimage-1.07
libaudiofile-0.2.6
libnetdude-0.8
libstatgrab-0.13
libungif-4.1.4_2
libxml2-2.6.26
mplayer-0.99.8_3
nedit-5.5
netdude-0.4.6
open-motif-2.2.3_2
pango-1.14.8
rdesktop-1.5.0
shared-mime-info-0.19
startup-notification-0.8_3
t1lib-5.1.0_1,1
thunderbird-1.5.0.7
thunderbird-enigmail-0.94.1
tk-8.4.13,2
wireshark-0.99.3a
xorg-clients-6.9.0_3
xorg-fonts-truetype-6.9.0
xorg-libraries-6.9.0
xorg-server-6.9.0_5
xpdf-3.01_3
xterm-222
xv-3.10a_6

Notice some of these packages appear in both lists, e.g.:

orr:/root# pkg_tree gaim
gaim-1.5.0_8
|\__ libdrm-2.0.2
|\__ pkg-config-0.21
|\__ xorg-fonts-encodings-6.9.0_1
|\__ jpeg-6b_4
|\__ expat-2.0.0_1
|\__ libiconv-1.9.2_2
|\__ png-1.2.12_1
|\__ pkgconfig-0.20
|\__ perl-5.8.8
|\__ nss-3.11.3
|\__ gettext-0.14.5_2
|\__ libxml2-2.6.26
|\__ xorg-libraries-6.9.0
|\__ libaudiofile-0.2.6
|\__ libao-0.8.5_3
|\__ bitstream-vera-1.10_2
|\__ tiff-3.8.2_1
|\__ startup-notification-0.8_3
|\__ glib-2.12.4
|\__ libXft-2.1.7_1
|\__ shared-mime-info-0.19
|\__ atk-1.12.3
|\__ xorg-fonts-truetype-6.9.0
|\__ gnomehier-2.2
|\__ gnomehier-2.1_2
|\__ pango-1.14.8
|\__ gtk-2.10.6_2
|\__ gtkspell2-2.0.11_2
\__ gtkspell-2.0.11_4

Also notice I appear to have dependencies for two versions of gnomehier and gtkspell. Sigh.

For gtkspell, I find this entry in /usr/ports/UPDATING:

textproc/gtkspell2|textproc/gtkspell|2006-05-28|Use unversioned name

I don't find anything specifically mentioning gnomehier, but updates to Gnome as mentioned in /usr/ports/UPDATING always seem to require extraordinary measures. I don't use Gnome (aside from this package, apparently) so I tend not to catch these upgrade issues.

Just to see what is going on, I see what's installed.

orr:/root# pkg_info | grep gnome
gnomehier-2.1_2 A utility port that creates the GNOME directory tree
gnomehier-2.2 A utility port that creates the GNOME directory tree

orr:/root# pkg_info | grep gtkspell
gtkspell-2.0.11_4 A GTK+ 2 spell checking component
gtkspell2-2.0.11_2 A GTK+ 2 spell checking component

orr:/root# pkg_info -R gnomehier-2.1_2
Information for gnomehier-2.1_2:

Required by:
gaim-1.5.0_8
gtkspell2-2.0.11_2

orr:/root# pkg_info -R gtkspell2-2.0.11_2
Information for gtkspell2-2.0.11_2:

Required by:
gaim-1.5.0_8

Now I will try to remove the old versions of these packages.

orr:/root# pkg_deinstall -f pkgconfig-0.20
---> Deinstalling 'pkgconfig-0.20'
pkg_delete: package 'pkgconfig-0.20' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
gaim-1.5.0_8
gnomehier-2.2
gtkspell2-2.0.11_2
[Updating the pkgdb in /var/db/pkg ... - 200 packages found (-1 +0) (...) done]

orr:/root# pkg_deinstall -f gnomehier-2.1_2
---> Deinstalling 'gnomehier-2.1_2'
pkg_delete: package 'gnomehier-2.1_2' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
gaim-1.5.0_8
gtkspell2-2.0.11_2
pkg_delete: unable to completely remove directory '/usr/X11R6/share/gnome/applications'
pkg_delete: unable to completely remove directory '/usr/X11R6/share/gnome'
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
[Updating the pkgdb in /var/db/pkg ... - 199 packages found (-1 +0) (...) done]

orr:/root# pkg_deinstall -f gtkspell2-2.0.11_2
---> Deinstalling 'gtkspell2-2.0.11_2'
pkg_delete: package 'gtkspell2-2.0.11_2' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):
gaim-1.5.0_8
pkg_delete: file '/usr/X11R6/include/gtkspell-2.0/gtkspell/gtkspell.h' doesn't exist
pkg_delete: file '/usr/X11R6/lib/libgtkspell.a' doesn't exist
pkg_delete: file '/usr/X11R6/lib/libgtkspell.la' doesn't exist
pkg_delete: file '/usr/X11R6/lib/libgtkspell.so' doesn't exist
pkg_delete: file '/usr/X11R6/lib/libgtkspell.so.0' doesn't exist
pkg_delete: file '/usr/X11R6/libdata/pkgconfig/gtkspell-2.0.pc' doesn't exist
...edited...
pkg_delete: file '/usr/X11R6/include/gtkspell-2.0/gtkspell' doesn't exist
pkg_delete: unable to completely remove directory '/usr/X11R6/include/gtkspell-2.0/gtkspell'
pkg_delete: file '/usr/X11R6/include/gtkspell-2.0' doesn't exist
pkg_delete: unable to completely remove directory '/usr/X11R6/include/gtkspell-2.0'
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)
[Updating the pkgdb in /var/db/pkg ... - 198 packages found (-1 +0) (...) done]

Now it's time to fix the package database.

orr:/root# pkgdb -F
---> Checking the package registry database
Stale origin: 'security/Nessus': perhaps moved or obsoleted.
Skip this for now? [yes]
To skip it without asking in future, please list it in HOLD_PKGS.
Stale dependency: gaim-1.5.0_8 -> gtkspell2-2.0.11_2 (textproc/gtkspell):
Fixed. (-> gtkspell-2.0.11_4)

Hmm, I expected to have to fix the other dependencies, but nothing appeared here. It looks like I am done.

1 comment:

Anonymous said...

reminds me of the just-then
libgda and libgda2 bump, they now conflict, so I can either use libgda2 (glom, exaile, scribes) *OR* libgda (notekeeper and dependencies) ...