pkgdb -F and a few other questions

Matthew Seaman m.seaman at
Fri Nov 7 01:45:11 PST 2003

On Thu, Nov 06, 2003 at 05:33:35PM -0800, whizkid at wrote:
> Hey All,
>     By now I have posted alot of questions and you are probably getting
> tired of seeing my name in your inbox...  But I have yet another for
> you.  I am currently running FreeBSD 5.1-Current, I have SquirrelMail
> 1.4.2 and Courier Imap installed.  I installed a plugin for
> SquirrelMail that required Perl 5.8 or above.  Look to find out I have
> 5.6.1 installed.  I ran CVSup -x -L 2 sup-ports and then a portupgrade
> -Rra and wala, still Perl 5.6.1.  So I de-installed 5.6.1 and make
> install on perl 5.8.1, ran the pkgdb -Fa and all these errors poped
> up.  Some of the app's were dependent on Perl 5.6.1, so I had it point
> to the Perl 5.8.1 and all is well, and ran a use.perl port command. 
> For what ever reason I had to re-install SpamAssassin, and the
> razor-agents ports too.

Yes -- replacing the main perl installation does tend to blow away
large chunks of any previously installed perl modules.  However, you
seem to have managed to cope very well so far.

>     Now if i run pkgdb -F I get what you see below:
> ---> Checking the package registry database
> Missing origin: bsdpan-CPAN-1.7.6
> -> Ignored. (the package is held; specify -f to force)
> Missing origin: bsdpan-Data-Dumper-2.121
> -> Ignored. (the package is held; specify -f to force)
> Missing origin: bsdpan-ReadLine-Perl-1.0203
> -> Ignored. (the package is held; specify -f to force)
> Missing origin: bsdpan-TermReadKey-2.21
> -> Ignored. (the package is held; specify -f to force)
> Missing origin: bsdpan-Text-Aspell-0.04
> -> Ignored. (the package is held; specify -f to force)
> obviously I have updated the perl incorrectly.

Not so -- you just haven't finished yet...

All of the packages in question are modules you've installed directly
using perl's CPAN module, rather than an explicit FreeBSD port.
That's why they are missing an origin -- there's no directory under the
ports tree that corresponds to those packages.

If you check your /usr/local/etc/pkgtools.conf you'll probably find
that all of the BSDPAN packages are marked as held (this is the
default).  That's basically because of the way that BSDPAN packages
are generated is different to normal packages, and portupgrade doesn't
really have the smarts to cope with maintianing them.

> 1) what would of been the correct way to update the perl from version
> 5.6.1 to 5.8.1 without causing package db problems?

Now, all of the modules you list above either come with the default
perl installation, or have regular ports eg. devel/p5-ReadLine-Perl
devel/p5-Term-ReadKey I'd recommend that if there's a port for any
perl module, you should use that for preference and only install
modules via CPAN/BSDPAN failing that.

I'd also recommend deleting and re-installing every module your system
as a part of the perl-5.6.1 -> 5.8.1 update.  This will help keep your
installed perl stuff coherent and make managing upgrades via
portupgrade smoother.  You've apparently done most of this already.
It's also a good opportunity to review exactly what you have installed
and prune out the unused stuff.  There's no need to re-install any of
the packages that come as standard with 5.8.1, since they're all right
up to date already.
> 2) how do i fix the above Missing origin errors?

You don't need to: any BSDPAN package will inevitably have a missing



Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP:         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 :

More information about the freebsd-questions mailing list