How to mass recompile broken packages?

Unga 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
> 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`
> 

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.

Best regards
Unga



      


More information about the freebsd-questions mailing list