[portupgrade] pkgdb -L

Randy Pratt bsd-unix at earthlink.net
Sun Mar 4 01:45:13 UTC 2007

On Sun, 4 Mar 2007 01:57:54 +0100
Patrick Lamaizière <patfbsds+questions at davenulle.org> wrote:

> Hello,
> I'm asking about the goal of the new option -L of pkgdb :
>  -L --fix-lost Check and restore lost dependencies against the ports tree.
> What is a lost dependency ?

I hope I can explain this right.  Its a situation where a dependency
was marked as "DELETED" in /var/db/pkg/*/+CONTENTS for some versions
of portupgrade (a bug).  Using the -L forces a recheck of each
ports dependencies and updates /var/db/pkg/*/+CONTENTS in accordance
with the port skeleton(s). See this thread for more information:


> # pkgdb -L
> Look for lost dependencies:
> ImageMagick- found
>   print/ghostscript-afpl
> -> Fixed.
> ORBit2-2.14.6: ok
> [...]
> But i use ghostscript-gnu-7.07_15
> So :
> # pkgdb -F
> --->  Checking the package registry database
> Stale dependency: ImageMagick- -> ghostscript-afpl-8.54,1 
> (print/ghostscript-afpl):
> ghostscript-gnu-7.07_15 (score:70%) ? ([y]es/[n]o/[a]ll) [a]
> And then i've got the same lost dependency again.
> I do not understand the goal and the utility of this option -L, a sample ?

I had the same issue where different ports wanted different versions
of ghostscript but both versions will work (for me) in the
applications I have installed.  It was an easy matter using
pkgtools.conf to specify that portupgrade use a particular version
with the ALT_PKGDEP variable.  This is the case mentioned in

  AFFECTS: users of ports-mgmt/portupgrade*
  AUTHOR: sem at FreeBSD.org

  Because of a bug in previous version, it's recomended you fill
ALT_PKGDEP section in pkgtools.conf file for portupgrade be aware of
alternative dependencies you use, and run pkgdb -L to restore
dependencies that was lost.

  Example of ALT_PKGDEP section:
    'www/apache13' => 'www/apache13-modssl',
    'print/ghostscript-afpl' => 'print/ghostscript-gnu',

  Note also, portupgrade knows nothing how to handle ports with
different suffixes (E.g. -nox11). So you should define explicitly
variables (E.g. WITHOUT_X11=yes) for the ports in /etc/make.conf or
pkgtools.conf (MAKE_ARGS section) files.

Depending on how long it has been since your ports were updated,
the 20070102 entry regarding portupgrade may also be of interest.




More information about the freebsd-questions mailing list