Getting a lot of - pkg_version: corrupted record (pkgdep line
without argument), ignoring
eculp
eculp at encontacto.net
Tue Aug 4 13:31:49 UTC 2009
Quoting Doug Barton <dougb at 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.
I've been both hesitant and probably lazy to look under the hood
especially in /var/db/* ports stuff but the script worked as expected
and got me looking at the files, something I should have done years
ago but THANKS to PORTMASTER I hadn't needed to. In this case I was
trying to remove everything in kde3 and simultaneously try to not
affect kde4 with pkg_deinstall -r and that really turned to shit. I
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
Postmaster that I have been using almost exclusively since the first
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
>
>
--
¿Cuentas con empleados o colaboradores?
More information about the freebsd-ports
mailing list