How to mass recompile broken packages?
c.kworr at gmail.com
Thu Jul 29 15:00:28 UTC 2010
29.07.2010 17:31, Unga wrote:
>>> I'm using FreeBSD 8.1 on i386 machine.
>>> I have upgraded a package using portmanager, but the
>> upgrade seems not successful.
>>> The required package is upgraded but all packages
>> depend on the upgraded package were not recompiled.
>>> I have two questions regarding this:
>>> 1. How to list all packages that are broken now?
>>> 2. How to mass recompile all broken packages?
>> You will need to install libchk from ports. After that:
>> libchk | grep '^Unresolvable' | sed 's|.* in: ||' | xargs
>> -n1 pkg_info
>> -W | sed 's|.*by package ||' | sort -u | grep -v '^[?]$'
>> You'll get 'rebuild' file listing all packages with broken
>> binaries. You
>> can use portmaster or portupgrade on it.
> Thank you very much for the reply.
> I have 63 packages effected.
> How do I sort the "rebuild" file in the dependency order because the first line itself the compilation fails. I used "portupgrade -f pkg".
You don't need that. portupgrade can handle it. Just give it the whole list:
portupgrade -f `cat rebuild`
Sphinx of black quartz judge my vow.
More information about the freebsd-questions