Some ports ignored by portversion

Mike Clarke jmc-freebsd at
Fri Aug 1 14:42:58 UTC 2008

With pkg_version I get the following:

curlew:/root# pkg_version -vL=
diablo-jdk-   <   needs updating (port has  <   needs updating (port has 2.4.1)
firefox-,1        <   needs updating (port has,1)
gnutls-2.4.1                <   needs updating (port has 2.4.1_1)
jdk-               <   needs updating (port has
k3b-1.0.4_2                 <   needs updating (port has 1.0.4_3)
kdebase-3.5.8_2             <   needs updating (port has 3.5.8_3)
kdebase-kompmgr-3.5.8_1     <   needs updating (port has 3.5.8_2)
linux-sun-jdk-      <   needs updating (port has
ocaml-lablgl-1.02_1         <   needs updating (port has 1.03)
ocaml-lablgtk2-2.6.0_4      <   needs updating (port has 2.10.1_1)
p5-Error-0.17014            <   needs updating (port has 0.17015)
phpMyAdmin-         <   needs updating (port has 2.11.8.r1)
speex-1.2.r1,1              <   needs updating (port has 1.2.r1_1,1)
unison-2.13.16_1            <   needs updating (port has 2.27.57_1)
wine-1.1.0,1                <   needs updating (port has 1.1.2,1)

... which is what I would expect but portversion gives:

curlew:/root# portversion -vL=
gnutls                      <  needs updating (port has 2.4.1_1)
k3b                         <  needs updating (port has 1.0.4_3)
kdebase                     <  needs updating (port has 3.5.8_3)
kdebase-kompmgr             <  needs updating (port has 3.5.8_2)
p5-Error                    <  needs updating (port has 0.17015)
speex                       <  needs updating (port has 1.2.r1_1,1)

The "missing" ports (*jdk*,, firefox-2, ocaml*, 
phpMyAdmin, unison and wine) are all marked as held in pkgtools.conf. 
Until today they would be shown by portversion as being in need of 
updating but held. I think portversion also used to show the version 
number of the currently installed port.

The "missing" ports don't even show up in a full listing with 
portbersion -v.

This change in behaviour might be a result of to me experimenting with 
portmaster as a possible replacement for portupgrade. In order to 
ensure that the held ports wouldn't get upgraded by portmaster I 
created +IGNOREME files in their /var/db/pkg directories.

I imagine the ports database must have been affected as a result of this 
but I've tried deleting the +IGNOREME files, and even removing the 
holds from pkgtools.conf but that made no difference to portversion. 
I've tried pkgdb with -F and -u options but still no joy.

It looks like it's not just portversion that's affected, pkgdb can't 
find the "missing" ports either:

curlew:/root# pkgdb -o gnutls-2.4.1
curlew:/root# pkgdb -o unison-2.13.16_1

How do I repair my ports?

Mike Clarke

More information about the freebsd-questions mailing list