Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jun 2007 15:22:05 +0200
From:      Thomas Hummel <hummel@pasteur.fr>
To:        "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de>
Cc:        ports@freebsd.org, Warner Losh <imp@harmony.bsdimp.com>, Ade Lovett <ade@FreeBSD.org>, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: Uggg!
Message-ID:  <20070601132205.GW43953@parmesan.sis.pasteur.fr>
In-Reply-To: <465FFE06.7010900@gmx.de>
References:  <200706010521.l515LE4N074880@harmony.bsdimp.com> <20070601085750.ang0g5aqp0kg8c8k@webmail.leidinger.net> <20070601083345.GA48323@rot13.obsecurity.org> <10723ADA-FD53-45F8-BDFA-DBD98CBC212E@FreeBSD.org> <465FFE06.7010900@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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 

	/usr/ports/Mk/bsd.port.mk

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 

  ffmpeg-0.4.9.p1_7
  gnucash-2.0.5_3
  linux-mplayerplug-in-3.35_1
  xprehashprinterlist-1.0.1

  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)

  /usr/ports/x11-fonts/linux-fontconfig
  /usr/ports/devel/linux-glib2
  /usr/ports/x11-toolkits/linux-gtk2
  
  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
makefile).

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070601132205.GW43953>