Author Login
Post Reply
Alan McKinnon wrote:
> On Thursday 10 April 2008, Dale wrote:
>
>> Alan McKinnon wrote:
>>
>>> On Wednesday 09 April 2008, Uwe Thiem wrote:
>>>
>>>> Hi folks,
>>>>
>>>> emerge --update world tells me:
>>>> [blocks B ] dev-util/gtk-doc-am (is blocking
>>>> dev-util/gtk-doc-1.8-r2)
>>>>
>>>> emerge --unmerge gtk-doc-am tells me:
>>>> --- Couldn't find 'gtk-doc-am' to unmerge.
>>>>
>>>> So let's be more specific:
>>>> emerge --unmerge =dev-util/gtk-doc-am-1.10 tells me:
>>>> --- Couldn't find '=dev-util/gtk-doc-am-1.10' to unmerge.
>>>>
>>> emerge -C gtk-doc
>>>
>>> Look closely at the error message, it's like one of those optical
>>> illusions where you don't quite get it first time :-)
>>>
>> Well said. I'm still not sure I get it. I would have went to
>> console and unmerged the whole lot and started over. LOL
>>
>
> hehe, emerge's output can be tricky to parse. Here's the long version:
>
> In this line:
> [blocks B ] dev-util/gtk-doc-am (is blocking
> dev-util/gtk-doc-1.8-r2)
>
> everything there comes out of the gtk-doc-am ebuild, including what it's
> not happy with. This specific case says that gtk-doc-1.8-r2 is already
> installed and gtk-doc-am will not merge itself while it's there.
>
> The [blocks B ] bit says that gtk-doc-am is not already installed
> (there isn't an R or U or D there at all) so there is nothing to
> unmerge.
>
> Usually with blockers, you have to unmerge the thing being blocked (in
> brackets on the above line) first. Or, if you don't want that, don't
> merge the main package, or mask it out.
>
> The correct merge approach would be to build a suitable upgraded
> gtk-doc, merge it (which unmerges the old one) and then merge
> gtk-doc-am (on the assumption that gtk-doc-am is happy with the new
> version of gtk-doc). For some reason portage can't do that this time,
> probably build order, so it's telling the user to do it manually and
> try again.
>
> If you want to look deeper into what is going on, the solution is in the
> ebuild. From /var/portage/dev-util/gtk-doc-am/gtk-doc-am-1.10.ebuild:
>
> DEPEND="!<=dev-utils/gtk-doc-1.10"
>
> Aha, so the only current version that will work is gtk-doc-1.10-r1. This
> was probably revised to accomodate gtk-doc-am.
>
> It gets even better.
> From /var/portage/dev-util/gtk-doc/gtk-doc-1.8-r2.ebuild:
> DEPEND="!dev-util/gtk-doc-am"
>
> and from /var/portage/dev-util/gtk-doc/gtk-doc-1.10-r1.ebuild:
> DEPEND="=dev-util/gtk-doc-am-${PV}
>
> Now it all becomes clearer with a little reading between the lines. The
> dev took gtk-doc and split it into two packages, to get the automake
> (-am) stuff into it's own ebuild. But that will mean that gtk-doc-am
> will trash files that gtk-doc put there. This is a collision and
> portage won't do it. It's written to pass the buck to a human
> instead :-)
>
>
It appears this human is a bit dense. I !think! I get it but not real
sure. May have to read that a few more times. Sounds like the clue is
the missing U and D part.
Thanks
Dale
:-) :-)
--
gentoo-user@(protected)