On 30/09/14 22:57, ross smith wrote:
On Tue, Sep 30, 2014 at 4:41 PM, Andrew Deason adeason@sinenomine.net wrote:
On Fri, 26 Sep 2014 14:34:37 -0400 ross smith gaurdro@gaurdro.net wrote:
I have pulled out all of the code related to the building the kmod, as I think that should at least be rewritten from scratch and quite possibly should live in it's own spec file.
That sounds good, but do we know how the kmod builds are going to work at all?
RHEL (and hence CentOS) has contained the framework to solve that particular problem since el5. It's part of the Driver Update Program (DUP) which allows 3rd party kABI-compatible kmod packages to be built against one kernel and work seamlessly with all kABI-compatible kernels. This is the RHEL way of doing things so I would strongly suggest you do likewise.
elrepo.org have already done that work for el5 / el6:
https://github.com/elrepo/packages/tree/master/openafs-kmod
It should be trivial to make a kmod package for el7 using elrepo's spec file template:
https://github.com/elrepo/templates/tree/master/el7
Happy to help if you have any questions.
I understand there's some infrastructure already in place with CentOS to rebuild packages when the kernel package updates. The updated packages would happen at the repo level, not at the system level.
Not needed. A kABI-tracking kmod package built against kernel-3.10.0-123.el7.x86_64 should work seamlessly with all RHEL7 kernels, at least in the 7.0 release. There is a possibility that your kmod package might need to be rebuilt against the 7.1 kernel when that is released if the openafs driver uses kernel symbols that are not on the RHEL kABI whitelist and the ABI of those symbols change, but it isn't going to need to be rebuilt against each and every kernel release.
So, how do we determine what
kernels to build kmods for?
That's up to you. Typically one would build against the base kernel for a point release, so for RHEL7 I would build against kernel-3.10.0-123.el7.x86_64.
I've not heard a definitive answer on this myself. I suspect that there will be at most one kernel-devel package installed at build time, which should simply things a bit. I haven't dug around in koji to see if my suspicions are correct, however. This would be a good topic for the meeting tomorrow.