SLE repositories not contained in build image causing inconsistencies for KMP packages

Hello, we are facing problems with inconsistencies of the kernel version contained in the build containers and in live systems. This was already a problem in the past: https://lists.opensuse.org/archives/list/buildservice@lists.opensuse.org/mes... There was a solution adding an additional path to the build repositories. Here is a reference to out GitLab page describing the problem. https://gitlab.com/etherlab.org/ethercat/-/issues/153 If i start a fresh 15.6 docker image, I get the following repositories enabled: zypper> lr -u Repository priorities are without effect. All enabled repositories share the same priority. # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-----------------------------+---------------------------------------------+---------+-----------+---------+------------------------------------------------------------------------ 1 | repo-backports-debug-update | Update repository with updates for openSU-> | No | ---- | ---- | http://download.opensuse.org/update/leap/15.6/backports_debug/ 2 | repo-backports-update | Update repository of openSUSE Backports | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/backports/ 3 | repo-debug | Debug Repository | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.6/repo/oss/ 4 | repo-debug-non-oss | Debug Repository (Non-OSS) | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.6/repo/non-oss/ 5 | repo-debug-update | Update Repository (Debug) | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/oss/ 6 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/non-oss/ 7 | repo-non-oss | Non-OSS Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/ 8 | repo-openh264 | Open H.264 Codec (openSUSE Leap) | Yes | ( p) Yes | Yes | http://codecs.opensuse.org/openh264/openSUSE_Leap/ 9 | repo-oss | Main Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/distribution/leap/15.6/repo/oss/ 10 | repo-sle-debug-update | Update repository with debuginfo for upda-> | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/sle/ 11 | repo-sle-update | Update repository with updates from SUSE -> | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/sle/ 12 | repo-source | Source Repository | No | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.6/repo/oss/ 13 | repo-update | Main Update Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/oss/ 14 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/non-oss/ If I install the 'kernel-rt' package it will come from http://download.opensuse.org/update/leap/15.6/sle/ (here alias repo-sle-update). zypper> se -s kernel-rt Reading installed packages... S | Name | Type | Version | Arch | Repository ---+---------------------------------+------------+----------------------+--------+------------------------------------------------------------- | kernel-rt | package | 6.4.0-150600.10.20.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15 If I then add out EtherLab repository and look for the EtherCAT KMP packages, they are not built against the installed RT kernel (.6 instead of .20). zypper> ar https://download.opensuse.org/repositories/science:/EtherLab/15.6 etherlab zypper> ref zypper> se -s ethercat-kmp-rt S | Name | Type | Version | Arch | Repository ---+---------------------------+---------+-------------------------------------------+--------+----------- | ethercat-kmp-rt | package | 1.6.2.g285cdf0_k6.4.0_150600.6-lp156.13.1 | x86_64 | etherlab | ethercat-kmp-rt-debuginfo | package | 1.6.2.g285cdf0_k6.4.0_150600.6-lp156.13.1 | x86_64 | etherlab So if the user keeps updating packages the system will end up with the newest RT kernel, but no EtherCAT packages for it. This is our repository configuration for 15.6: openSUSE:Leap:15.6:Update/standard I understood that the last path is searched recursively, but unfortunately the SLE repo is not found. Do I have to add another repository path to include the SLE updates in the build image? -- Mit freundlichem Gruß / Best regards, Florian Pose Dipl.-Ing. (FH) Florian Pose Leitung Automatisierung / Lead Automation Mail: fp@igh.de | Tel.: +49 201 36014-13 Ingenieurgemeinschaft IgH Gesellschaft für Ingenieurleistungen mbH Nordsternstraße 66 D-45329 Essen igh.de |EtherLab [1] |LinkedIn [2] Amtsgericht Essen | HRB 11500 | USt-Id.-Nr.: DE 174 626 722 Geschäftsführung: Frederik Becker, Dr.-Ing. Siegfried Rotthäuser Dr.-Ing. Wilhelm Hagemeister, Dr.-Ing. Torsten Finke [1] EtherLab https://etherlab.org/ [2] LinkedIn https://de.linkedin.com/company/igh-gmbh

I built some kmps only against the kernel delivered by the OSS Repo, but to the update directory of that kernel: Here the r8168 kmp: ls -al /lib/modules/6.4.0-150600.21-default/updates/ insgesamt 1772 drwxr-xr-x 2 root root 4096 22. Dez 19:45 . drwxr-xr-x 5 root root 4096 6. Jan 21:44 .. -rw-r--r-- 1 root root 515133 26. Nov 20:23 nvidia-peermem.ko -rw-r--r-- 1 root root 1287100 7. Nov 10:34 r8168.ko.xz When a new kernel is deliverde by the SLE Repo, the above File will be linked to the weak-updates directory of the new kernel: ls -al /lib/modules/6.4.0-150600.23.30-default/weak-updates/updates/ insgesamt 8 drwxr-xr-x 2 root root 4096 15. Jan 15:01 . drwxr-xr-x 4 root root 4096 14. Dez 08:53 .. lrwxrwxrwx 1 root root 56 14. Dez 08:53 r8168.ko.xz -> /lib/modules/6.4.0-150600.21-default/updates/r8168.ko.xz rpm -ql r8168-kmp-default /lib/modules/6.4.0-150600.21-default /lib/modules/6.4.0-150600.21-default/updates /lib/modules/6.4.0-150600.21-default/updates/r8168.ko.xz My OBS: https://build.opensuse.org/project/show/home:Sauerland:hardware This is working for years for the deafault kernel, maybe also for the rt kernel. Stephan Am Mittwoch, 15. Januar 2025, 09:37:02 CET schrieb Florian Pose:
Hello,
we are facing problems with inconsistencies of the kernel version contained in the build containers and in live systems.
This was already a problem in the past: https://lists.opensuse.org/archives/list/buildservice@lists.opensuse.org/mes... There was a solution adding an additional path to the build repositories.
Here is a reference to out GitLab page describing the problem. https://gitlab.com/etherlab.org/ethercat/-/issues/153
If i start a fresh 15.6 docker image, I get the following repositories enabled:
zypper> lr -u Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-----------------------------+---------------------------------------------+---------+-----------+---------+------------------------------------------------------------------------ 1 | repo-backports-debug-update | Update repository with updates for openSU-> | No | ---- | ---- | http://download.opensuse.org/update/leap/15.6/backports_debug/ 2 | repo-backports-update | Update repository of openSUSE Backports | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/backports/ 3 | repo-debug | Debug Repository | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.6/repo/oss/ 4 | repo-debug-non-oss | Debug Repository (Non-OSS) | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/15.6/repo/non-oss/ 5 | repo-debug-update | Update Repository (Debug) | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/oss/ 6 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/non-oss/ 7 | repo-non-oss | Non-OSS Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/distribution/leap/15.6/repo/non-oss/ 8 | repo-openh264 | Open H.264 Codec (openSUSE Leap) | Yes | ( p) Yes | Yes | http://codecs.opensuse.org/openh264/openSUSE_Leap/ 9 | repo-oss | Main Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/distribution/leap/15.6/repo/oss/ 10 | repo-sle-debug-update | Update repository with debuginfo for upda-> | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/15.6/sle/ 11 | repo-sle-update | Update repository with updates from SUSE -> | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/sle/ 12 | repo-source | Source Repository | No | ---- | ---- | http://download.opensuse.org/source/distribution/leap/15.6/repo/oss/ 13 | repo-update | Main Update Repository | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/oss/ 14 | repo-update-non-oss | Update Repository (Non-Oss) | Yes | ( p) Yes | Yes | http://download.opensuse.org/update/leap/15.6/non-oss/
If I install the 'kernel-rt' package it will come from http://download.opensuse.org/update/leap/15.6/sle/ (here alias repo-sle-update).
zypper> se -s kernel-rt Reading installed packages...
S | Name | Type | Version | Arch | Repository ---+---------------------------------+------------+----------------------+--------+------------------------------------------------------------- | kernel-rt | package | 6.4.0-150600.10.20.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
If I then add out EtherLab repository and look for the EtherCAT KMP packages, they are not built against the installed RT kernel (.6 instead of .20).
zypper> ar https://download.opensuse.org/repositories/science:/EtherLab/15.6 etherlab zypper> ref zypper> se -s ethercat-kmp-rt
S | Name | Type | Version | Arch | Repository ---+---------------------------+---------+-------------------------------------------+--------+----------- | ethercat-kmp-rt | package | 1.6.2.g285cdf0_k6.4.0_150600.6-lp156.13.1 | x86_64 | etherlab | ethercat-kmp-rt-debuginfo | package | 1.6.2.g285cdf0_k6.4.0_150600.6-lp156.13.1 | x86_64 | etherlab
So if the user keeps updating packages the system will end up with the newest RT kernel, but no EtherCAT packages for it.
This is our repository configuration for 15.6:
openSUSE:Leap:15.6:Update/standard
I understood that the last path is searched recursively, but unfortunately the SLE repo is not found.
Do I have to add another repository path to include the SLE updates in the build image?
participants (2)
-
Florian Pose
-
Stephan Hemeier