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

Reply via email to