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.
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?
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"