Date: Tue, 04 Aug 2009 08:31:45 -0500 From: eculp <eculp@encontacto.net> To: Doug Barton <dougb@FreeBSD.org> Cc: freebsd-ports <freebsd-ports@freebsd.org> Subject: Re: Getting a lot of - pkg_version: corrupted record (pkgdep line without argument), ignoring Message-ID: <20090804083145.689620bebz54c474@econet.encontacto.net> In-Reply-To: <4A772AF1.7060400@FreeBSD.org> References: <20090802203144.20053xv5f9w3ea68@econet.encontacto.net> <4A772AF1.7060400@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Doug Barton <dougb@FreeBSD.org>: > eculp wrote: >> I'm getting a lot of the following messages and have no idea how to find >> which package is causing the problem. > > This is one of those times that opening up the files and having a look > for yourself might be a good way to start. :) > >> pkg_version: corrupted record (pkgdep line without argument), ignoring > > egrep '(pkgdep$|pkgdep $)' /var/db/pkg/*/+CONTENTS > > However, you indicate below that you are using 'portmaster > --check-depends' which should be fixing those for you. So try this: > > cd /var/db/ > cp -Rp pkg pkg-before > portmaster --check-depends > diff -ur pkg-before pkg > ~/pkg-dir.diff1 > cp -Rp pkg pkg-after > portmaster --check-depends > diff -ur pkg-after pkg > ~/pkg-dir.diff2 > cd pkg > egrep -l '(pkgdep$|pkgdep $)' */+CONTENTS > ~/pkg-dir.egrep > Doug, thanks for taking the time to answer and write the scripts. =20 I've been both hesitant and probably lazy to look under the hood =20 especially in /var/db/* ports stuff but the script worked as expected =20 and got me looking at the files, something I should have done years =20 ago but THANKS to PORTMASTER I hadn't needed to. In this case I was =20 trying to remove everything in kde3 and simultaneously try to not =20 affect kde4 with pkg_deinstall -r and that really turned to shit. I =20 started seeing this after that failed attempt. I rebuilt the packages and all is well. Thanks again for the explanation, the script and especially for =20 Postmaster that I have been using almost exclusively since the first =20 version and has been improving .with each subsequent release. ed > Ideally pkg-dir.diff2 pkg-dir.egrep should both be empty there. If > not, you will need to rebuild all of the ports listed in the egrep > file. One easy way to do that would be to use vi to strip everything > but the directory name out of that file then do this: > > portmaster `cat ~/pkg-dir.egrep` > >> While I'm bothering you, could someone give me some tips on the best >> ways to find corrupted files in /var/db/pkgs, /var/db/ports and any >> other places that they might be hiding. I run >> portmaster --check-depends >> portmaster --check-port-dbdir > > Those are both good examples from my perspective. :) One thing > though, --check-port-dbdir won't find anything that is corrupt, it > will only find things that don't apply to your currently installed ports. > > > hth, > > Doug > > -- > > This .signature sanitized for your protection > > --=20 =BFCuentas con empleados o colaboradores?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090804083145.689620bebz54c474>