Bug 1217824 - longterm kernel: figure out how to build KMPs
Summary: longterm kernel: figure out how to build KMPs
Status: IN_PROGRESS
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Security (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Robert Frohl
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-05 14:58 UTC by Robert Frohl
Modified: 2024-05-21 19:04 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Frohl 2023-12-05 14:58:33 UTC
One of the major open questions, before introducing the longterm kernel to Factory, is how KPMs can be build.

This issue is supposed to server as a reminder, that this likely blocks the addition to Factory until it is resolved.
Comment 1 Bernhard Wiedemann 2023-12-09 12:39:02 UTC
kmps are optional.
There are around 30 in Tumbleweed - most of them in this list:
https://github.com/bmwiedemann/reproducibleopensuse/blob/devel/exceptions/nachbau.pesign
plus a few external ones such as NVidia and VMware.

In the kernel-macros package there is
/usr/lib/rpm/macros.d/macros.kernel-source
https://build.opensuse.org/package/view_file/openSUSE:Factory/kernel-source/macros.kernel-source
that defines %flavors_to_build to decide what is built.
e.g. in TW it just contains "default" atm.

It seems, you need to add a symlink in
/usr/src/linux-obj/%_target_cpu

currently there is
/usr/src/linux-obj/x86_64/default -> ../../linux-6.6.3-1-obj/x86_64/default
Comment 2 Takashi Iwai 2023-12-09 14:57:25 UTC
An open question is rather how to put longterm flavor to the buildreqs.

Suppose we have two versions of kernel sources, one for kernel-default (for TW) and one for kernel-longterm.  kernel-syms is provided only from the former, and usually it's the one dragging the corresponding kernel-*-devel packages to the package building KMPs (via %kernel_module_package_buildreqs macro).

So we'll need to hack %kernel_module_package_buildreqs to take kernel-longterm-devel somehow there automatically.

The rest could work as is; the expansion of flavor list is dynamically done in %kernel_module_package macro depending on the installed files, indeed.

Of course, each package has to deal with the builds of different kernel versions, but it's a matter of each packaging.
Comment 3 Michal Suchanek 2023-12-09 22:36:32 UTC
There are already KMPs built against kernel-rt in SLE, this is not new.
Comment 4 Takashi Iwai 2023-12-10 08:39:55 UTC
(In reply to Michal Suchanek from comment #3)
> There are already KMPs built against kernel-rt in SLE, this is not new.

Indeed, some are with rt and some not on Leap 15.5.  What made difference?
Comment 5 Michal Suchanek 2023-12-10 21:02:20 UTC
I think it's explicitly enabled in the KMP spec file because not all are required on both, and not all are compatible either.
Comment 6 Robert Frohl 2024-02-15 10:46:07 UTC
current plan is to not make this a hard requirement for Factory inclusion anymore, as it blocks slowroll progress. Never the less should be addressed in a reasonable time.
Comment 7 Bernhard Wiedemann 2024-05-08 18:14:36 UTC
https://build.opensuse.org/request/show/1172513 brought a
virtualbox-kmp-longterm-7.0.18_k6.6.30_1-1.1.x86_64.rpm
in
 osc ls -b openSUSE:Factory virtualbox:kmp
Comment 8 OBSbugzilla Bot 2024-05-09 22:15:03 UTC
This is an autogenerated message for OBS integration:
This bug (1217824) was mentioned in
https://build.opensuse.org/request/show/1172997 15.5 / virtualbox
Comment 9 Marcus Meissner 2024-05-21 19:04:57 UTC
openSUSE-RU-2024:0134-1: An update that has three recommended fixes can now be installed.

Category: recommended (important)
Bug References: 1211941,1217824,1220524
CVE References: 
JIRA References: 
Sources used:
openSUSE Leap 15.5 (src):    virtualbox-7.0.18-lp155.2.24.1, virtualbox-kmp-7.0.18-lp155.2.24.1