On Thu, Jul 23, 2015 at 10:58 AM, Roderick Johnstone <rmj@ast.cam.ac.uk> wrote:
On 23/07/15 15:36, Richard Shaw wrote:
Oh, but wait, kernels get installed, not upgraded, so I see your point except that on my systems I do seem to have kernel-devel for each kernel thats installed and I only installed kernel-devel once. Maybe though this is a yum/dnf behaviour change - I use yum-deprecated rather than dnf for nightly updates.

That's likely the issue. I thought the same as well but noticed I only have one kernel-devel package installed (and it wasn't even the latest one!) dnf still needs some polishing for sure!

Ok, now that that's covered I have a crazy idea... For systemd service
type "oneshot" which the akmod service is, you can have multiple
ExecStart= directives. Why couldn't we have two, something like:

ExecStart=/usr/sbin/akmods --from-init
ExecStart=-/usr/sbin/modprobe nvidia

Anything know why that wouldn't work? That should fix the problem with
building modules on startup.

That might be ok but I don't know enough about systemd to know if the two ExecStart lines are run synchronously. Maybe you need the --force as well on the akmods line?

No, with oneshot+multiple ExecStart's they are run in order, the first one must exit (and exit cleanly) before the next one is executed. 

I'm not sure if you noticed that I moved the "-" at the beginning. This tells systemd to treat it like it succeeds even if it fails (non-zero exit). Since there's no point in running modpobe if akmods failed i moved it to the modprobe line.

I don't want to use --force in case there's a real problem with building the rpms, but I altered the akmods script (I hope correctly) to not treat failure to install a permanent failure so it should try again the next time akmods is run.

Later...I just tested it and it worked!

Good to hear! Anyone want to try a testing package? I don't want to build an official package yet because we still don't have bodhi for updates so there's no way to stop it from being pushed to stable without a direct email to a human.