Johannes,
Right. Keep in mind also though that you're doing it differently from
what backports does - backports comes with cfg80211 and mac80211, so
it's easier to do than adjusting to older versions of mac80211.
I spoke to Larry off list and considering the cfg80211 and mac80211
situation with older kernels further, he wants me to try and get a
simple backports setup validated so that people can still
`make` and `make install`. He is focused on a few other important tasks
and will probably get back with us here later, I just wanted to start
running downhill with this ASAP so I slid in here.
I am going to first try a variation of the approach you suggested where
I generate backports for Linux versions in the repo in ascending order
then have our Makefile detect user's version and install accordingly.
Again, my understanding is often the bottleneck so I want to first say
what I intend to do and then ask a question:
1. I want to use wireless-next as the upstream kernel source for
building the backports, I would need to build all backports via the
"package release" workflow [1] in order to provide users with a package
that they can use without needing the upstream source on their machine,
effectively giving them "a patch file" for compatibility for driver
specific modifications and the up-to-date 80211 stack. I would then only
need to decide which git tags for older kernels to use for the versions
we want to support, create the packages, then include those in the
repository.
[1] https://backports.wiki.kernel.org/index.php/Documentation/packaging
2. I am trying to figure this out currently, but am not entirely sure
how granular the built package versions have to be in order to work with
a users kernel version. How do I decide the coverage of an individual
package per major-minor version or other variations? You mentioned RCs
earlier. For this first PoC, I want to make sure users can get the
driver working for any version they are running going back to 5.4.
After that, our Makefile and/or scripts it coordinates will have to
detect the user version, then cd into that package, and install it
properly. I am suspending any upstream commit history shenanigans for a
later point as making sure the driver is performant and in-line with the
up-to-date wireless stack. Being able to use those features and have a
consistent API across the components is much more of a priority, at the
moment.
Thank you for you help and patience with all of this. You have helped
make this process an enjoyable thing to dive into and I am excited to
start hacking on backports.
Thanks,
Brian Witte