I have branched the opensuse kernel-stable:kernel-source, then patched using the surface patches. As per the Linux Surface notes, I added the patches to patches.addon.tar.bz2 and appended the following to series.conf:
I also added the extra config from the surface project to config.addon.tar.gz2
I linked to the Tumbleweed x86_64 repository. All the flavours build, except for kernel-source:kernel-kvmsmall. This fails with an error:
[ 42s] RPM build errors:
[ 42s] Bad exit status from /var/tmp/rpm-tmp.r06xnm (%prep)
Can anyone help me see why this fails please?
Also, I’m linking to the stable branch, but my repo builds a later version [6.11.6-8.1] than the current opensuse one [6.11.6.2.1]. I can force install my kernel with: zypper install kernel-default-6.11.6-8.1.x86_64 but then that breaks other installs. Why is it a different version to main? Am I linking the wrong repository?
Why do you need this kernel for the special hardware? kvmsmall flavor is intended for use in virtual machines and lacks a lot of kernel options needed on real hardware.
My best guess is that your patches touch kernel configuration which does not match the config you provide. Build script tries to make sure there is no accidental side effects so it effectively runs make config and compares the result with combined default and add-on configuration. If you compare build log of the original kernel and your project, in your project configuration is re-generated:
Thanks for this. I will compare the build logs as you suggest and try to find the problem.
To try to explain my second question: my kernel-source links to Kernel-stable:kernel-source. My project builds a new version each time the kernel-stable:kernel-source is updated, so they should be the same version.
I have done zypper dup and zypper update so my installed kernel should be the latest, but when I look in Yast, my build of the kernel is ahead of that from the suse repositories:
The auto-generated release numbers are project specific and cannot be directly compared between projects. These numbers are not even known before package is built, so there is no way linked projects can obtain them.