1 |
On 17/03/2015 22:20, Dale wrote: |
2 |
> Alan McKinnon wrote: |
3 |
>> I've gotten to the point where I can make sense of portage output (it |
4 |
>> took a while!) but I have no idea how to explain how I do it :-) |
5 |
>> Portage makes a very fundamental blunder - it exposes the underlying |
6 |
>> implementation in the output. The odds are very slim the average user |
7 |
>> will ever make reasonable sense of it. |
8 |
> |
9 |
> You prolly got good at it because of so many people on here asking what |
10 |
> those crpytic messages are saying. Very few people can figure out what |
11 |
> they are trying to say. Every once in a while, I get lucky and can |
12 |
> keyword a package or something and get past a blocker but sometimes, it |
13 |
> may as well spit out Greek characters. |
14 |
|
15 |
Well.... it's because I understand data structures as used in |
16 |
programming. Things like linked lists and |
17 |
assoc-arrays/dictionaries/hashmaps. I'v also had to support enough |
18 |
programmers over the years and get their stuff to work so I know how |
19 |
their minds work. |
20 |
|
21 |
It's like anything else, if you do it in your line of work, you get to |
22 |
understand it after a while :-) |
23 |
|
24 |
> |
25 |
> What gets me on this one, it really didn't give a clue what the real |
26 |
> problem is. If it did, I missed it. |
27 |
|
28 |
To help folks out, I'll walk through the thought process: |
29 |
|
30 |
The give-away was that util-linux needed to be downgraded, this is very |
31 |
unusual. I figured it was so unusual that finding out why would show me |
32 |
your real problem. And it wasn't a case of the version you have has been |
33 |
removed from the tree. I knew that the only thing that can trigger a |
34 |
downgrade is a DEPENDS that requires some version or lower, and that |
35 |
must start with a "<" or "<=". |
36 |
|
37 |
So I searched your mail looking for "<" and there was only one :-) This one: |
38 |
|
39 |
<sys-apps/util-linux-2.25[static-libs] required by |
40 |
(sys-fs/lvm2-2.02.109:0/0::gentoo, installed) |
41 |
|
42 |
That's the only line in the entire output that can downgrade util-linux. |
43 |
I looked in the lvm2 ebuild and there's only one DEPEND |
44 |
on <sys-apps/util-linux-2.25 and it is only used when USE=static |
45 |
|
46 |
After that the rest was easy |
47 |
|
48 |
|
49 |
> I just wonder, is there some way they can make emerge spit out something |
50 |
> that makes sense or is that something that can not be done? |
51 |
|
52 |
I'm sure there is a way to do it. Some portage output is very useful, |
53 |
like conflicting USE. Portage tells you what you can enable or disable |
54 |
to proceed. And the colorized arrow-heads one line below is really |
55 |
helpful in following version numbers. |
56 |
|
57 |
But proper output messages isn't just a case of translate gobbledy-gook |
58 |
into English. One has to understand what the conditions mean, parse the |
59 |
data portage has inside, and then figure out something meaningful. That |
60 |
is not easy, and probably requires custom code for each different kind |
61 |
of error. |
62 |
|
63 |
Programmers hate writing error code that has to do that, which is |
64 |
probably why no-one has ever done it through portage's entire life so |
65 |
far.... |
66 |
|
67 |
-- |
68 |
Alan McKinnon |
69 |
alan.mckinnon@×××××.com |