Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] eject and util-linux blocker
Date: Tue, 17 Mar 2015 20:46:59
Message-Id: 550892B7.5000102@gmail.com
In Reply to: Re: [gentoo-user] eject and util-linux blocker by Dale
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