Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2010 18:00:13 +0300
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        Unga <unga888@yahoo.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: How to mass recompile broken packages?
Message-ID:  <4C51977D.7060901@gmail.com>
In-Reply-To: <523373.54704.qm@web57008.mail.re3.yahoo.com>
References:  <4C516751.5080307@gmail.com> <523373.54704.qm@web57008.mail.re3.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 '^[?]$'
>>> rebuild
>>
>> You'll get 'rebuild' file listing all packages with broken
>> binaries. You
>> can use portmaster or portupgrade on it.
>>
>
> Hi
>
> 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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C51977D.7060901>