On Saturday 25 June 2011 09:50:15 Alan Mackenzie did opine thusly: > Hi, Alan. > > On Fri, Jun 24, 2011 at 04:57:05PM +0200, Alan McKinnon wrote: > > > Hmm. Recompiling the same source code produces a different > > > binary? > > > > Not quite: > > > > Rebuilding the same sources against different headers produces a > > different binary. > > > > > Presumably, it uses C macros in a .h file which is part of > > > xorg. Or something like that. > > > > > > So evdev depends on xorg. Isn't there a way of expressing > > > this in evdev's ebuild? Something like the DEPEND > > > variable? > > > > It's already there, but doesn't help as the update trigger never > > happens. > > > > Actually, you have the depend the wrong way round - evdev > > depends on xorg-server; to have the driver and for it to be > > useful, the xorg- server must be present, otherwise there is > > nothing for the drivers to build against. > > > > You want to force a rebuild that is the opposite of the DEPEND, > > but portage does not support that (it's a circular dependency). > > It will also not rebuild the driver as part of a regular update > > as there is not a new version of the driver, hence according to > > normal portage logic there is no need to do so. > > > > Make sense? > > I think so - I've always had problems understanding dependencies. > What I want is one of these "nice to have"s which would take an > inordinate amount of work, if it's even possible.
Trouble with dependencies is they present themselves the wrong way round when you try to debug them. It's the classic grandfather problem: I ask you "who is your granddad?", that's an easy one, you say it's John Smith. Now I go find John Smith and ask him "who's your grandson?" He says "I have more than one. Which one you interested in?" and you can't answer that without more information. When you look in an ebuild for DEPENDS, you are using the first case. When you try debug portage output, you often end up at the second case. I imagine the real reason portage doesn't have excellent tools to help answer that is becuase the problem is infernally difficult to do correctly, and the output will always be mind-bogglingly confusing. Moving a little off-topic, I have a similar thing at work. A perfectly valid question I often get asked is "when did we last receive a mail to [email protected]?" HR want to know this so they can know when to retire an address. I can't tell them, not without an exhaustive manual search of mail logs. > In the meantime, I'll carry on not starting Gnome at boot-up. > Despite the existence of gentoo=nox, I feel safer starting it > manually. It's a strange, depressing feeling when the only input > device which works is the reset button - thank goodness that isn't > handled by evdev. ;-) Yup, loss of input devices in the most annoying pain in the arse imagineable. Remember when xorg was a huge monolithic code base and you always got everything every time, but the dependency issues just simply never happened? -- alan dot mckinnon at gmail dot com

