unintelligible questions from pkgdb -F [ part of 5.2 portupgrade hairball ]

Matthew Seaman m.seaman at infracaninophile.co.uk
Tue Apr 6 02:39:57 PDT 2004

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:


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:

  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:


  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.



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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040406/a2c89aad/attachment.bin

More information about the freebsd-questions mailing list