ipilcher / n5550

Thecus N5550 hardware support
GNU General Public License v2.0
8 stars 8 forks source link

Converted spec file into a multi-part package #6

Open jcpunk opened 9 years ago

jcpunk commented 9 years ago

I've converted the existing spec file into a multi-part package. It now separates out the daemon, kernel module source, and it also sets up a dkms config and can build out a kmod.

In theory, this should provide for a more flexible utilization pattern with more flexible deployment.

ipilcher commented 9 years ago

So believe it or not, I didn't forget about this, nor am I ignoring you. I only had a chance to look at this today. Sorry for the delay.

The only real issue I see is that the DKMS "magic script" seems to hardcode a build requirement for kernel-devel. This is unfortunate, because we really want to require kernel-plus-devel. Is there any way to change this?

I did look at DKMS at one time, but I decided on the dracut "hack" for auto-building the modules to avoid having to build the initramfs twice every time a kernel is installed. I haven't checked, but I'm assuming that the dracut technique still works with your changes.

The only other things I've seen so far are minor -- .tar.bz2 not provided github, hardcoding default kernel versions, etc. They should all be fairly easy to fix.

So for me, it comes down to that DKMS kernel-devel issue.

Thanks!

jcpunk commented 9 years ago

Yeah, that does seem to be a bit of a blocker...

For getting this to work in the EL default kernel, we certainly need the fix from

https://bugzilla.redhat.com/show_bug.cgi?id=1249186

If that goes through we may be able to get the remaining hardware support bits built as kmods via ELrepo....

jcpunk commented 7 years ago

I'm finally swinging back around to this, the el7.3 kernel comes with GPIO bits turned on. This should make it possible to build against the official kernel abi and use the resulting object "forever".

In my limited tests this worked as expected.

I've got the DKMS bits disabled now, but they can be quickly turned on for interested users.

I put a wrapper around the freecusd bits for completeness, but they default to enabled.

jcpunk commented 7 years ago

The current state of this PR works against the RHEL7.4 kernel (and therefore the CentOS 7.4 kernel). On my box I no longer need the -plus kernel.