On Mon, Apr 05, 2004 at 08:59:35PM -0600, Jay Moore wrote: > So portupgrade prompted me to run 'pkgdb -F'... to fix a "stale" dependency. I > complied, typed the requisite command at the prompt, and received the > following in return: > > ---> Checking the package registry database > Stale dependency: eel2-2.4.1 -> gtk-2.2.4_1 (x11-toolkits/gtk20): > gtk-1.2.10_11 (score:61%) ? ([y]es/[n]o/[a]ll) [no] > New dependency? (? to help): ? > [Enter] to skip, [Ctrl]+[D] to delete, [.][Enter] to abort, [Tab] to > complete > New dependency? (? to help): . > Abort. > > What is this "score" business? 61% of what, exactly? > > And what are you telling the program to do exactly when you answer Yes, No or > All? > > And New dependency?... what does that mean? > > If there are any docs on this, please supply a pointer. I read the pkgdb man > page, but it shed little light on these questions.
What this means is that the eel2-2.4.1 port claims to have a dependency on the gtk-2.2.4_1 port, but no such port is installed -- it's listed in the file: /var/db/pkg/eel2-2.4.1/+CONTENTS pkgdb(1) attempts to find an alternative port that will fulfill the dependency, which it can edit into the +CONTENTS file. Unfortunately, pkgdb is not any sort of AI program, so it prompts you with the closest matching name out of all the ports you have installed. The percentage figure it gives is a measure of how closely the port name matches the desired name. Usually this works well, because it picks up a slightly different version of the same port. However, in this case things are not quite so simple. pkgdb is prompting you to replace the dependency on gtk20 with a dependency on gtk12, and that simply will not do. gtk20 and gtk12 are completely different ports: both from the same project and development track, but the later release (gtk20) is not code compatible with gtk12, so ports that depend on gtk have to be modified to use one or the other. That's why there are two separate ports: x11-toolkits/gtk12 and x11-toolkits/gtk20, and why some effort has been taken to let you install both of those ports simultaneously. Now, in order to solve the pkgdb problem you have, you can either: * Delete the dependency on gtk20 by hitting Ctrl-D at that prompt then do a forced update on eel2 and gtk20: # portupgrade -f x11-toolkits/eel2 x11-toolkits/gtk20 (which should get you a nice clean +CONTENTS file for eel2 with the correct dependency on gtk20) - or - * Quit out of pkgdb(1) without changing anything, and force an install of gtk20 without using any of the pkgtools stuff: # cd /usr/ports/x11-toolkits/gtk20 # make install Then re-run pkgdb(1), and it will be able to resolve that gtk dependency automatically. You should also take note of the entry in /usr/ports/UPDATING: 20040404: AFFECTS: GNOME desktop users GNOME has been updated to 2.6. Simply portupgrading will cause serious problems if you are using the desktop itself. If you are a GNOME desktop user, you should carefully read the instructions at: http://www.freebsd.org/gnome/docs/faq26.html And use the gnome_upgrade.sh script to properly upgrade to GNOME 2.6. If you are just a casual user of some of the GNOME libraries, portupgrade should be sufficient to update your ports. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK
Description: PGP signature