portupgrade-2.2.2_1,2 corrupts portsdb

Philip Kizer pckizer at nostrum.com
Thu Feb 1 06:56:43 UTC 2007


On 2007, Jan 31, at 18:45, Csaba Molnar wrote:
> I deleted /var/db/pkg/pkgdb.db, then rebuilt it with pkgdb -u I  
> think, and
> that seems to have worked.
>
> While I was updating ports before this error showed up, the options  
> screen for
> portupgrade showed up - and option WITH_BDB4 was unchecked. I  
> changed that
> (so portupgrade was now built with bdb4) - and the problems began  
> right after
> this update.

I think you are on the right track, I had a working stable  
portupgrade/portsdb environment and after the last update I started  
getting that as well...my options for portupgrade to use BDB4 were  
unchanged from before through after the upgrade: WITH_BDB4 was true  
for both cases.

If I recompile portupgrade with:

WITHOUT_BDB4=true
WITH_BDB1=true

which also requires me to pkg_delete ruby-bdb, then it all seems to  
work just fine with no more warnings or errors.

After a bit more trial and error, I find I can replicate the problem  
by performing the following:

# portinstall databases/ruby-bdb
# portversion -l'<' -v
[missing key: categories] [Updating the portsdb <format:bdb_btree>  
in /usr/ports ... - 16414 port entries found ......... 
1000.........2000.........3000.........4000.........5000.........6000... 
...... 
7000.........8000.........9000.........10000.........11000.........12000 
.........13000.........14000.........15000.........16000.... ..... done]
missing key: categories: Cannot read the portsdb!
[...snip...]
# portversion -l'<' -v
[missing key: categories] [Updating the portsdb <format:bdb_btree>  
in /usr/ports ... - 16414 port entries found ......... 
1000.........2000.........3000.........4000.........5000.........6000... 
...... 
7000.........8000.........9000.........10000.........11000.........12000 
.........13000.........14000.........15000.........16000.... ..... done]
missing key: categories: Cannot read the portsdb!


and then I can remove any visible problems by performing:

# pkg_delete ruby18-bdb-0.5.9_2
# portversion -l'<' -v
[Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... Failed  
`Inappropriate file type or format'; rebuild needed] [Rebuilding the  
pkgdb <format:bdb1_btree> in /var/db/pkg ... - 428 packages found (-0  
+428) .................................................................. 
........................................................................ 
........................................................................ 
........................................................................ 
........................................................................ 
........................................................................ 
.. done]
[Failed `Inappropriate file type or format'] [Updating the portsdb  
<format:bdb1_btree> in /usr/ports ... - 16414 port entries  
found ......... 
1000.........2000.........3000.........4000.........5000.........6000... 
...... 
7000.........8000.........9000.........10000.........11000.........12000 
.........13000.........14000.........15000.........16000.... ..... done]
[...snip...]
# portversion -l'<' -v
[...snip...]



-philip



More information about the freebsd-ports mailing list