Quoting Doug Barton <do...@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.


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.




    This .signature sanitized for your protection

┬┐Cuentas con empleados o colaboradores?
freebsd-ports@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to