Reorganize "mainline"/mainline kernel packaging
As it's been pointed out many times, the current packaging scheme for (close-to-)mainline kernels is quite bad. In fact, the old 4.17 (released over a year ago!) branch of linux-postmarket-qcom
is not even packaged as of right now which means sony-sirius
and samsung-klte
's mainline subpackage are broken (the latter doesn't matter that much though, as not many things work). Patches from this old kernel should be rebased on latest stable/LTS so that they are easy to port forward as things advance. Also, hacks coming from this repo should be fixed (i.e. GPU hacks; but looking at masneyb's repo these are going to be properly implemented upstream soon).
Also, pmaports has been getting pretty cluttered lately with linux-$codename-mainline
packages (good for more devices, bad for looks/code duplication). It's a good way of keeping device-specific stuff in separate packages so they don't conflict with each other (which again means there are probably some dirty hacks out there if that is the case...), but after thinking more about it I think I've come up with something better. I am not sure whether Alpine's package manager is capable of doing that, but being able to use different defconfigs and different patchsets for various devices using the same package would make for less almost-duplicate packages. I know the ultimate goal is to have everything land in mainline, but in some cases this is not possible (i.e. sony-nicki
with its kind of working but not really stuff) and being able to just build a armv7 flavour of linux-vanilla with let's call it... sub-flavour of sony-nicki
would let us have few less packages (-crosshatch, -OUYA, -nicki, hammerhead, -allwinner, -mainline, -qcom, -qcom-msm8916). One issue that it'd create is CI probably not being able to test whether all "subflavours" build succesfully, so that's definitely an another downside.
Devices working fine with such kernels (like some-imaginary-device-with-not-upstreamed-mainline-support) should be either kept on a (tested of course!) latest stable or LTS releases (that's debatable, but with stable come more features/fixes/updates; LTS could be an option for future pmOS "stable" release) as long as they are not upstreamed completely (because then it would be just a matter of bumping the commit hash and not worrying about patches compatibility) so that we can be sure that they work reliably and are not out of date.
I'd be happy to hear your ideas on that, also perhaps we should document more things in the mainlining section of the wiki as we go along.
TL;DR: Xperia Z2 package dead, needs fix; mainline packaging should probably be somehow standardized and kernels updated/kept at LTS; devices with good out-of-tree-support should also be taken care of when it comes to updating (but that's more of a maintainers job though).