How to mass recompile broken packages?
unga888 at yahoo.com
Fri Jul 30 14:04:52 UTC 2010
--- On Thu, 7/29/10, Volodymyr Kostyrko <c.kworr at gmail.com> wrote:
> From: Volodymyr Kostyrko <c.kworr at gmail.com>
> Subject: Re: How to mass recompile broken packages?
> To: "Unga" <unga888 at yahoo.com>
> Cc: freebsd-questions at freebsd.org
> Date: Thursday, July 29, 2010, 11:00 PM
> 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
> >> depend on the upgraded package were not
> >>> I have two questions regarding this:
> >>> 1. How to list all packages that are broken
> >>> 2. How to mass recompile all broken packages?
> >> You will need to install libchk from ports. After
> >> 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`
Ok, the portupgrade process was not fully automated, I had to manually compile few.
Two packages still get listed in the rebuild file, I removed them and recompiled, but still get listed. One of the packages is firefox, but the firefox works well. Therefore, I conclude my broken packages recompilation is satisfactory.
Thank you for all those who helped me.
More information about the freebsd-questions