On Friday 24 June 2011 14:42:24 Alan Mackenzie did opine thusly: > Hi, Adam. > > On Fri, Jun 24, 2011 at 10:07:02PM +1000, Adam Carter wrote: > > >> No you just need to rebuild it, so emerge xf86-input-evdev > > > > > > This problem hit me too. Can you give us an explanation for > > > needing to rebuild evdev? Was there some missing > > > dependency in an ebuild, or something? > > > > If you update xorg (which OP didnt list, but a new version just > > went stable) you need to rebuild its drivers (unless they were > > automatically rebuilt due to version bump). > > 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? -- alan dot mckinnon at gmail dot com