Thomas Hummel hummel at
Fri Jun 1 13:38:35 UTC 2007

On Fri, Jun 01, 2007 at 01:07:50PM +0200, [LoN]Kamikaze wrote:

Happend to me too (same cause : battery died while portupgrading -a).

I had nothing in lost+found and since >500 packages got corrupted, no
binary .tgz packages tweaking was an option.

After some search in 


I came to the following solution :

  1) with trivial shell script/perl/whatever, build from 

	pkg_info: the package info for package 'ffmpeg-0.4.9.p1_7' is corrupt
	pkg_info: the package info for package 'gnucash-2.0.5_3' is corrupt

the file foobar holding 


  2) with some additionnal shell/perl/whatever, transform foobar into
foobaz holding the path of the correspondint port directory :

so, foobaz will look like this (for other ports than those listed
above of course)

  3) re-generate +CONTENT files

    cat foobaz  | while read LINE;do cd $LINE;make do-package;make fake-pkg;done
  4) rebuild pkgdb

    rm /var/db/pkg/pkgdb.db
    pkgdb -fu

It seemed to work for me, except for one or two packages, one of them
missed the +COMMENT file as well (easy to re-create from the ports

gnucash is still broken but maybe for some other issue.

maybe should INDEX* and INDEX*.db be recreated as well (I did it but I
don't remember at which stage of the above procedure).

Hope it'll help.

Thomas Hummel

More information about the freebsd-ports mailing list