1 |
On Saturday 25 June 2011 09:50:15 Alan Mackenzie did opine thusly: |
2 |
> Hi, Alan. |
3 |
> |
4 |
> On Fri, Jun 24, 2011 at 04:57:05PM +0200, Alan McKinnon wrote: |
5 |
> > > Hmm. Recompiling the same source code produces a different |
6 |
> > > binary? |
7 |
> > |
8 |
> > Not quite: |
9 |
> > |
10 |
> > Rebuilding the same sources against different headers produces a |
11 |
> > different binary. |
12 |
> > |
13 |
> > > Presumably, it uses C macros in a .h file which is part of |
14 |
> > > xorg. Or something like that. |
15 |
> > > |
16 |
> > > So evdev depends on xorg. Isn't there a way of expressing |
17 |
> > > this in evdev's ebuild? Something like the DEPEND |
18 |
> > > variable? |
19 |
> > |
20 |
> > It's already there, but doesn't help as the update trigger never |
21 |
> > happens. |
22 |
> > |
23 |
> > Actually, you have the depend the wrong way round - evdev |
24 |
> > depends on xorg-server; to have the driver and for it to be |
25 |
> > useful, the xorg- server must be present, otherwise there is |
26 |
> > nothing for the drivers to build against. |
27 |
> > |
28 |
> > You want to force a rebuild that is the opposite of the DEPEND, |
29 |
> > but portage does not support that (it's a circular dependency). |
30 |
> > It will also not rebuild the driver as part of a regular update |
31 |
> > as there is not a new version of the driver, hence according to |
32 |
> > normal portage logic there is no need to do so. |
33 |
> > |
34 |
> > Make sense? |
35 |
> |
36 |
> I think so - I've always had problems understanding dependencies. |
37 |
> What I want is one of these "nice to have"s which would take an |
38 |
> inordinate amount of work, if it's even possible. |
39 |
|
40 |
Trouble with dependencies is they present themselves the wrong way |
41 |
round when you try to debug them. It's the classic grandfather |
42 |
problem: |
43 |
|
44 |
I ask you "who is your granddad?", that's an easy one, you say it's |
45 |
John Smith. Now I go find John Smith and ask him "who's your |
46 |
grandson?" He says "I have more than one. Which one you interested |
47 |
in?" and you can't answer that without more information. |
48 |
|
49 |
When you look in an ebuild for DEPENDS, you are using the first case. |
50 |
When you try debug portage output, you often end up at the second |
51 |
case. |
52 |
|
53 |
I imagine the real reason portage doesn't have excellent tools to help |
54 |
answer that is becuase the problem is infernally difficult to do |
55 |
correctly, and the output will always be mind-bogglingly confusing. |
56 |
|
57 |
Moving a little off-topic, I have a similar thing at work. A perfectly |
58 |
valid question I often get asked is "when did we last receive a mail |
59 |
to xyz@×××××××.com?" HR want to know this so they can know when to |
60 |
retire an address. I can't tell them, not without an exhaustive manual |
61 |
search of mail logs. |
62 |
|
63 |
> In the meantime, I'll carry on not starting Gnome at boot-up. |
64 |
> Despite the existence of gentoo=nox, I feel safer starting it |
65 |
> manually. It's a strange, depressing feeling when the only input |
66 |
> device which works is the reset button - thank goodness that isn't |
67 |
> handled by evdev. ;-) |
68 |
|
69 |
Yup, loss of input devices in the most annoying pain in the arse |
70 |
imagineable. Remember when xorg was a huge monolithic code base and |
71 |
you always got everything every time, but the dependency issues just |
72 |
simply never happened? |
73 |
|
74 |
|
75 |
-- |
76 |
alan dot mckinnon at gmail dot com |