Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2021-06-21 20:35:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kernel-source (Old) and /work/SRC/openSUSE:Factory/.kernel-source.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source" Mon Jun 21 20:35:28 2021 rev:592 rq:900756 version:5.12.12 Changes: -------- --- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2021-06-15 16:36:59.649657860 +0200 +++ /work/SRC/openSUSE:Factory/.kernel-source.new.2625/dtb-aarch64.changes 2021-06-21 20:35:47.350631836 +0200 @@ -1,0 +2,446 @@ +Fri Jun 18 13:07:21 CEST 2021 - jsl...@suse.cz + +- Linux 5.12.12 (bsc#1012628). +- fib: Return the correct errno code (bsc#1012628). +- net: Return the correct errno code (bsc#1012628). +- net/x25: Return the correct errno code (bsc#1012628). +- rtnetlink: Fix missing error code in rtnl_bridge_notify() + (bsc#1012628). +- drm/amd/amdgpu:save psp ring wptr to avoid attack (bsc#1012628). +- drm/amd/display: Fix potential memory leak in DMUB hw_init + (bsc#1012628). +- drm/amdgpu: refine amdgpu_fru_get_product_info (bsc#1012628). +- drm/amd/display: Allow bandwidth validation for 0 streams + (bsc#1012628). +- net: ipconfig: Don't override command-line hostnames or domains + (bsc#1012628). +- nvme-loop: do not warn for deleted controllers during reset + (bsc#1012628). +- nvme-loop: check for NVME_LOOP_Q_LIVE in + nvme_loop_destroy_admin_queue() (bsc#1012628). +- nvme-loop: clear NVME_LOOP_Q_LIVE when + nvme_loop_configure_admin_queue() fails (bsc#1012628). +- nvme-loop: reset queue count to 1 in + nvme_loop_destroy_io_queues() (bsc#1012628). +- scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V + (bsc#1012628). +- Bluetooth: Add a new USB ID for RTL8822CE (bsc#1012628). +- scsi: qedf: Do not put host in qedf_vport_create() + unconditionally (bsc#1012628). +- ethernet: myri10ge: Fix missing error code in myri10ge_probe() + (bsc#1012628). +- scsi: target: core: Fix warning on realtime kernels + (bsc#1012628). +- gfs2: Fix use-after-free in gfs2_glock_shrink_scan + (bsc#1012628). +- mt76: mt7921: remove leftover 80+80 HE capability (bsc#1012628). +- ALSA: hda: Add AlderLake-M PCI ID (bsc#1012628). +- riscv: Use -mno-relax when using lld linker (bsc#1012628). +- HID: intel-ish-hid: ipc: Add Alder Lake device IDs + (bsc#1012628). +- HID: gt683r: add missing MODULE_DEVICE_TABLE (bsc#1012628). +- HID: multitouch: Disable event reporting on suspend on the + Asus T101HA touchpad (bsc#1012628). +- gfs2: Clean up revokes on normal withdraws (bsc#1012628). +- gfs2: fix a deadlock on withdraw-during-mount (bsc#1012628). +- gfs2: Prevent direct-I/O write fallback errors from getting lost + (bsc#1012628). +- ARM: OMAP2+: Fix build warning when mmc_omap is not built + (bsc#1012628). +- ARM: OMAP1: Fix use of possibly uninitialized irq variable + (bsc#1012628). +- hwmon/pmbus: (q54sj108a2) The PMBUS_MFR_ID is actually 6 chars + instead of 5 (bsc#1012628). +- drm/tegra: sor: Fully initialize SOR before registration + (bsc#1012628). +- gpu: host1x: Split up client initalization and registration + (bsc#1012628). +- drm/tegra: sor: Do not leak runtime PM reference (bsc#1012628). +- mt76: mt7921: fix max aggregation subframes setting + (bsc#1012628). +- HID: usbhid: fix info leak in hid_submit_ctrl (bsc#1012628). +- HID: Add BUS_VIRTUAL to hid_connect logging (bsc#1012628). +- HID: multitouch: set Stylus suffix for Stylus-application + devices, too (bsc#1012628). +- HID: quirks: Add quirk for Lenovo optical mouse (bsc#1012628). +- HID: asus: filter G713/G733 key event to prevent shutdown + (bsc#1012628). +- HID: hid-sensor-hub: Return error for hid_set_field() failure + (bsc#1012628). +- HID: hid-input: add mapping for emoji picker key (bsc#1012628). +- HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 + (bsc#1012628). +- HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K15A + keyboard-dock (bsc#1012628). +- HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 + (bsc#1012628). +- HID: asus: Filter keyboard EC for old ROG keyboard + (bsc#1012628). +- net: ieee802154: fix null deref in parse dev addr (bsc#1012628). +- commit 0e46a2c + +------------------------------------------------------------------- +Wed Jun 16 13:51:32 CEST 2021 - mbrug...@suse.com + +- Refresh + patches.suse/brcmfmac-Add-clm_blob-firmware-files-to-modinfo.patch. +- Refresh + patches.suse/brcmfmac-Delete-second-brcm-folder-hierarchy.patch. +- commit e486bc1 + +------------------------------------------------------------------- +Wed Jun 16 12:56:38 CEST 2021 - ti...@suse.de + +- Update config files: CONFIG_SND_HDA_INTEL=m for armv7hl, too (bsc#1187334) + It's used by openQA. +- commit 041ff44 + +------------------------------------------------------------------- +Wed Jun 16 12:36:32 CEST 2021 - jsl...@suse.cz + +- Linux 5.12.11 (bsc#1012628). +- proc: Track /proc/$pid/attr/ opener mm_struct (bsc#1012628). +- ASoC: max98088: fix ni clock divider calculation (bsc#1012628). +- ASoC: amd: fix for pcm_read() error (bsc#1012628). +- spi: Fix spi device unregister flow (bsc#1012628). +- spi: spi-zynq-qspi: Fix stack violation bug (bsc#1012628). +- bpf: Forbid trampoline attach for functions with variable + arguments (bsc#1012628). +- ASoC: codecs: lpass-rx-macro: add missing MODULE_DEVICE_TABLE + (bsc#1012628). +- ASoC: codecs: lpass-tx-macro: add missing MODULE_DEVICE_TABLE + (bsc#1012628). +- net/nfc/rawsock.c: fix a permission check bug (bsc#1012628). +- usb: cdns3: Fix runtime PM imbalance on error (bsc#1012628). +- ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L + tablet (bsc#1012628). +- ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 + tablet (bsc#1012628). +- bpf: Add deny list of btf ids check for tracing programs + (bsc#1012628). +- vfio-ccw: Reset FSM state to IDLE inside FSM (bsc#1012628). +- vfio-ccw: Serialize FSM IDLE state with I/O completion + (bsc#1012628). +- ASoC: sti-sas: add missing MODULE_DEVICE_TABLE (bsc#1012628). +- spi: sprd: Add missing MODULE_DEVICE_TABLE (bsc#1012628). +- usb: chipidea: udc: assign interrupt number to USB gadget + structure (bsc#1012628). +- isdn: mISDN: netjet: Fix crash in nj_probe: (bsc#1012628). +- bonding: init notify_work earlier to avoid uninitialized use + (bsc#1012628). +- netlink: disable IRQs for netlink_lock_table() (bsc#1012628). +- net: mdiobus: get rid of a BUG_ON() (bsc#1012628). +- cgroup: disable controllers at parse time (bsc#1012628). +- wq: handle VM suspension in stall detection (bsc#1012628). +- net/qla3xxx: fix schedule while atomic in ql_sem_spinlock + (bsc#1012628). +- RDS tcp loopback connection can hang (bsc#1012628). +- net:sfc: fix non-freed irq in legacy irq mode (bsc#1012628). +- scsi: bnx2fc: Return failure if io_req is already in ABTS + processing (bsc#1012628). +- scsi: vmw_pvscsi: Set correct residual data length + (bsc#1012628). +- scsi: hisi_sas: Drop free_irq() of devm_request_irq() allocated + irq (bsc#1012628). +- scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal + (bsc#1012628). +- net: macb: ensure the device is available before accessing + GEMGXL control registers (bsc#1012628). +- net: appletalk: cops: Fix data race in cops_probe1 + (bsc#1012628). +- net: dsa: microchip: enable phy errata workaround on 9567 + (bsc#1012628). +- Makefile: LTO: have linker check -Wframe-larger-than + (bsc#1012628). +- nvme-fabrics: decode host pathing error for connect + (bsc#1012628). +- MIPS: Fix kernel hang under FUNCTION_GRAPH_TRACER and + PREEMPT_TRACER (bsc#1012628). +- bpf, selftests: Adjust few selftest result_unpriv outcomes + (bsc#1012628). +- dm verity: fix require_signatures module_param permissions + (bsc#1012628). +- bnx2x: Fix missing error code in bnx2x_iov_init_one() + (bsc#1012628). +- nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME + (bsc#1012628). +- nvmet: fix false keep-alive timeout when a controller is torn + down (bsc#1012628). +- powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c + controllers (bsc#1012628). +- powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010 i2c + controllers (bsc#1012628). +- spi: Don't have controller clean up spi device before driver + unbind (bsc#1012628). +- spi: Cleanup on failure of initial setup (bsc#1012628). +- i2c: mpc: Make use of i2c_recover_bus() (bsc#1012628). +- i2c: mpc: implement erratum A-004447 workaround (bsc#1012628). +- ALSA: seq: Fix race of snd_seq_timer_open() (bsc#1012628). +- ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun() + (bsc#1012628). +- ALSA: hda/realtek: headphone and mic don't work on an Acer + laptop (bsc#1012628). +- ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP + Elite Dragonfly G2 (bsc#1012628). +- ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP + EliteBook x360 1040 G8 (bsc#1012628). +- ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 + Aero G8 (bsc#1012628). +- ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8 + (bsc#1012628). +- spi: bcm2835: Fix out-of-bounds access with more than 4 slaves + (bsc#1012628). +- Revert "ACPI: sleep: Put the FACS table after using it" + (bsc#1012628). +- drm: Fix use-after-free read in drm_getunique() (bsc#1012628). +- drm: Lock pointer access in drm_master_release() (bsc#1012628). +- x86, lto: Pass -stack-alignment only on LLD < 13.0.0 ++++ 285 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.2625/dtb-aarch64.changes dtb-armv6l.changes: same change dtb-armv7l.changes: same change dtb-riscv64.changes: same change kernel-64kb.changes: same change kernel-debug.changes: same change kernel-default.changes: same change kernel-docs.changes: same change kernel-kvmsmall.changes: same change kernel-lpae.changes: same change kernel-obs-build.changes: same change kernel-obs-qa.changes: same change kernel-pae.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-vanilla.changes: same change kernel-zfcpdump.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dtb-aarch64.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.554637167 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.554637167 +0200 @@ -17,7 +17,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -29,9 +29,9 @@ %(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build}) Name: dtb-aarch64 -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif dtb-armv6l.spec: same change dtb-armv7l.spec: same change dtb-riscv64.spec: same change ++++++ kernel-64kb.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.654637294 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.654637294 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: Kernel with 64kb PAGE_SIZE License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -378,20 +382,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -403,6 +412,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -532,7 +557,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -720,7 +745,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -822,7 +851,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -941,6 +970,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1035,8 +1066,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1104,6 +1139,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1132,6 +1168,45 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: Kernel with 64kb PAGE_SIZE - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +This kernel is identical to the default kernel, but is configured with +64kb page size granule. Its main purpose is to serve as compatibility +kernel for systems that were installed when the default kernel was still +configured with 64kb page size granule. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.682637329 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.686637335 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: A Debug Version of the Kernel License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %ifarch ppc64 Provides: kernel-kdump = 2.6.28 Obsoletes: kernel-kdump <= 2.6.28 @@ -384,20 +388,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -409,6 +418,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -538,7 +563,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -726,7 +751,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -828,7 +857,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -947,6 +976,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1041,8 +1072,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1114,6 +1149,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1140,6 +1176,47 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: A Debug Version of the Kernel - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%ifarch ppc64 +Provides: kernel-kdump-optional = 2.6.28 +Obsoletes: kernel-kdump-optional <= 2.6.28 +%endif +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +This kernel has several debug facilities enabled that hurt performance. +Only use this kernel when investigating problems. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.706637360 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.710637365 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: The Standard Kernel License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %ifarch %ix86 Provides: kernel-smp = 2.6.17 Obsoletes: kernel-smp <= 2.6.17 @@ -427,20 +431,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -452,6 +461,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -581,7 +606,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -769,7 +794,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -871,7 +900,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -990,6 +1019,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1084,8 +1115,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1177,6 +1212,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1202,6 +1238,66 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: The Standard Kernel - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%ifarch %ix86 +Provides: kernel-trace-optional = 3.13 +Obsoletes: kernel-trace-optional <= 3.13 +%endif +%ifarch ppc64 +Provides: kernel-kdump-optional = 2.6.28 +Obsoletes: kernel-kdump-optional <= 2.6.28 +%endif +%ifarch s390x +Provides: kernel-trace-optional = 3.13 +Obsoletes: kernel-trace-optional <= 3.13 +%endif +%ifarch x86_64 +Provides: kernel-trace-optional = 3.13 +Obsoletes: kernel-trace-optional <= 3.13 +Provides: kernel-bigsmp-optional = 3.1 +Obsoletes: kernel-bigsmp-optional <= 3.1 +Provides: kernel-desktop-optional = 4.3 +Obsoletes: kernel-desktop-optional <= 4.3 +Provides: kernel-xen-optional = 4.4 +Obsoletes: kernel-xen-optional <= 4.4 +Provides: kernel-ec2-optional = 4.4 +Obsoletes: kernel-ec2-optional <= 4.4 +%endif +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +The standard kernel for both uniprocessor and multiprocessor systems. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.734637395 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.734637395 +0200 @@ -17,7 +17,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -31,9 +31,9 @@ Summary: Kernel Documentation License: GPL-2.0 Group: Documentation/Man -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -64,7 +64,7 @@ %endif Url: http://www.kernel.org/ Provides: %name = %version-%source_rel -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz ++++++ kernel-kvmsmall.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.758637426 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.762637431 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: The Small Developer Kernel for KVM License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -382,20 +386,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -407,6 +416,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -536,7 +561,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -724,7 +749,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -826,7 +855,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -945,6 +974,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1039,8 +1070,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1108,6 +1143,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1140,6 +1176,49 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: The Small Developer Kernel for KVM - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +This kernel is intended for kernel developers to use in simple virtual +machines. It contains only the device drivers necessary to use a +KVM virtual machine *without* device passthrough enabled. Common +local and network file systems are enabled. All device mapper targets +are enabled. Only the network and graphics drivers for devices that qemu +emulates are enabled. Many subsystems enabled in the default kernel +are entirely disabled. This kernel is meant to be small and to build +very quickly. The configuration may change arbitrarily between builds. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-lpae.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.782637456 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.786637461 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: Kernel for LPAE enabled systems License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -376,20 +380,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -401,6 +410,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -530,7 +555,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -718,7 +743,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -820,7 +849,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -939,6 +968,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1033,8 +1064,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1102,6 +1137,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1128,6 +1164,43 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: Kernel for LPAE enabled systems - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +The kernel for all 32-bit ARM platforms that support LPAE. This includes all +Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.806637487 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.810637492 +0200 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 @@ -45,7 +45,7 @@ %endif %endif %endif -BuildRequires: kernel%kernel_flavor-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +BuildRequires: kernel%kernel_flavor-srchash-0e46a2c644754074b091f728831994304f5dbff0 %if 0%{?rhel_version} BuildRequires: kernel @@ -64,9 +64,9 @@ Summary: package kernel and initrd for OBS VM builds License: GPL-2.0 Group: SLES -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.830637517 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.834637522 +0200 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -36,9 +36,9 @@ Summary: Basic QA tests for the kernel License: GPL-2.0 Group: SLES -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.854637547 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.858637553 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: Kernel with PAE Support License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %ifarch %ix86 Provides: kernel-bigsmp = 2.6.17 Obsoletes: kernel-bigsmp <= 2.6.17 @@ -404,20 +408,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -429,6 +438,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -558,7 +583,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -746,7 +771,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -848,7 +877,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -967,6 +996,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1061,8 +1092,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1140,6 +1175,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1172,6 +1208,59 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: Kernel with PAE Support - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%ifarch %ix86 +Provides: kernel-vmi-optional = 2.6.38 +Obsoletes: kernel-vmi-optional <= 2.6.38 +Provides: kernel-desktop-optional = 4.3 +Obsoletes: kernel-desktop-optional <= 4.3 +Provides: kernel-xen-optional = 4.4 +Obsoletes: kernel-xen-optional <= 4.4 +Provides: kernel-ec2-optional = 4.4 +Obsoletes: kernel-ec2-optional <= 4.4 +%endif +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +This kernel supports up to 64GB of main memory. It requires Physical +Addressing Extensions (PAE), which were introduced with the Pentium Pro +processor. + +PAE is not only more physical address space but also important for the +"no execute" feature which disables execution of code that is marked as +non-executable. Therefore, the PAE kernel should be used on any systems +that support it, regardless of the amount of main memory. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.902637609 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.906637614 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 @@ -30,9 +30,9 @@ Summary: The Linux Kernel Sources License: GPL-2.0 Group: Development/Sources -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -43,7 +43,7 @@ BuildRequires: sed Requires(post): coreutils sed Provides: %name = %version-%source_rel -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 Provides: linux Provides: multiversion(kernel) Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.930637644 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.934637649 +0200 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 5.12.10 +Version: 5.12.12 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -52,7 +52,7 @@ %endif Requires: pesign-obs-integration Provides: %name = %version-%source_rel -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 Provides: multiversion(kernel) Source: README.KSYMS Requires: kernel-devel%variant = %version-%source_rel ++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.954637674 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.958637680 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: The Standard Kernel - without any SUSE patches License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -375,20 +379,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - /^-/ { - print $(NF) " no"; - next; } - { - print $(NF); - } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -400,6 +409,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -529,7 +554,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -717,7 +742,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -819,7 +848,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -938,6 +967,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1032,8 +1063,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1101,6 +1136,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1126,6 +1162,42 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: The Standard Kernel - without any SUSE patches - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +The standard kernel - without any SUSE patches + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ kernel-zfcpdump.spec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:51.986637715 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:51.990637720 +0200 @@ -18,7 +18,7 @@ %define srcversion 5.12 -%define patchversion 5.12.10 +%define patchversion 5.12.12 %define variant %{nil} %define vanilla_only 0 %define compress_modules xz @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -68,9 +72,9 @@ Summary: The IBM System Z zfcpdump Kernel License: GPL-2.0 Group: System/Kernel -Version: 5.12.10 +Version: 5.12.12 %if 0%{?is_kotd} -Release: <RELEASE>.gb92eaf7 +Release: <RELEASE>.g0e46a2c %else Release: 0 %endif @@ -181,10 +185,10 @@ Conflicts: libc.so.6()(64bit) %endif Provides: kernel = %version-%source_rel -Provides: kernel-%build_flavor-base-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c -Provides: kernel-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: kernel-%build_flavor-base-srchash-0e46a2c644754074b091f728831994304f5dbff0 +Provides: kernel-srchash-0e46a2c644754074b091f728831994304f5dbff0 # END COMMON DEPS -Provides: %name-srchash-b92eaf7cf30a84428cfe019308359a10f12d8e4c +Provides: %name-srchash-0e46a2c644754074b091f728831994304f5dbff0 %obsolete_rebuilds %name Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz Source2: source-post.sh @@ -378,20 +382,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } - { - print $(NF); } -' >%kernel_build_dir/Module.supported + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -403,6 +412,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -532,7 +557,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -720,7 +745,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -822,7 +851,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -941,6 +970,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -1035,8 +1066,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -1104,6 +1139,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -1132,6 +1168,45 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: The IBM System Z zfcpdump Kernel - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +The Linux kernel for booting the zfcpdump process on IBM System Z. + +This kernel should only be used by the s390-tools package. This kernel +should not be installed as a regular booting kernel. + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ config.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default --- old/config/arm64/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/arm64/default 2021-06-16 13:02:31.000000000 +0200 @@ -11397,7 +11397,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default --- old/config/armv6hl/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/armv6hl/default 2021-06-16 13:02:31.000000000 +0200 @@ -8087,7 +8087,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default --- old/config/armv7hl/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/armv7hl/default 2021-06-16 13:02:31.000000000 +0200 @@ -7235,7 +7235,7 @@ # CONFIG_SND_HDA=m CONFIG_SND_HDA_GENERIC_LEDS=y -# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y @@ -7256,6 +7256,7 @@ CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set # end of HD-Audio CONFIG_SND_HDA_CORE=m @@ -7263,6 +7264,7 @@ CONFIG_SND_HDA_ALIGNED_MMIO=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_PREALLOC_SIZE=1024 +CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_ARM=y CONFIG_SND_ARMAACI=m CONFIG_SND_SPI=y @@ -11290,7 +11292,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae --- old/config/armv7hl/lpae 2021-05-15 08:30:43.000000000 +0200 +++ new/config/armv7hl/lpae 2021-06-16 13:02:31.000000000 +0200 @@ -7004,7 +7004,7 @@ # CONFIG_SND_HDA=m CONFIG_SND_HDA_GENERIC_LEDS=y -# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_TEGRA=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y @@ -7025,6 +7025,7 @@ CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set # end of HD-Audio CONFIG_SND_HDA_CORE=m @@ -7032,6 +7033,7 @@ CONFIG_SND_HDA_ALIGNED_MMIO=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_PREALLOC_SIZE=1024 +CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_ARM=y CONFIG_SND_ARMAACI=m CONFIG_SND_SPI=y @@ -10903,7 +10905,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/pae new/config/i386/pae --- old/config/i386/pae 2021-05-15 08:30:43.000000000 +0200 +++ new/config/i386/pae 2021-06-16 13:02:31.000000000 +0200 @@ -9991,6 +9991,7 @@ # # Certificates for signature checking # +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default --- old/config/ppc64/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/ppc64/default 2021-06-16 13:02:31.000000000 +0200 @@ -7994,7 +7994,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64le/default new/config/ppc64le/default --- old/config/ppc64le/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/ppc64le/default 2021-06-16 13:02:31.000000000 +0200 @@ -7845,7 +7845,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/riscv64/default new/config/riscv64/default --- old/config/riscv64/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/riscv64/default 2021-06-16 13:02:31.000000000 +0200 @@ -2850,7 +2850,10 @@ CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_SELFTESTS is not set -# CONFIG_STMMAC_PLATFORM is not set +CONFIG_STMMAC_PLATFORM=m +CONFIG_DWMAC_DWC_QOS_ETH=m +CONFIG_DWMAC_GENERIC=m +CONFIG_DWMAC_INTEL_PLAT=m CONFIG_STMMAC_PCI=m CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m @@ -8706,7 +8709,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390x/default new/config/s390x/default --- old/config/s390x/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/s390x/default 2021-06-16 13:02:31.000000000 +0200 @@ -4074,7 +4074,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default --- old/config/x86_64/default 2021-05-15 08:30:43.000000000 +0200 +++ new/config/x86_64/default 2021-06-16 13:02:31.000000000 +0200 @@ -9945,7 +9945,7 @@ # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY="" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:52.746638679 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:52.750638684 +0200 @@ -54,6 +54,10 @@ %define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES %{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)} %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") + +# Split Leap-only modules to kernel-*-optional subpackage? +%define split_optional 0 + %if "%CONFIG_MODULES" != "y" %define klp_symbols 0 %endif @@ -233,20 +237,25 @@ mkdir -p %kernel_build_dir # Generate a list of modules with their support status marking +# The first marker is supposed to be either "+external", "-" or "-!optional", +# where "+external" is for an externally supported module, "-" is for an +# unsuppored module, "-!optional" is for Leap-only unsupported module. +# There can be an optional arch-specific second marker with "+arch" (e.g. +# +arm64), which enforces the module to be supported on the specific arch. %_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ -awk ' - /\+external / { - print $(NF) " external"; - next; - } - /^-/ { - print $(NF) " no"; - next; - } - { - print $(NF); +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+external") { + t = " external"; + } else if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = " no"; } -' >%kernel_build_dir/Module.supported + } + print $(NF) t; +}' >%kernel_build_dir/Module.supported subpackages=( base %if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" @@ -258,6 +267,22 @@ <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \ sort -u >%kernel_build_dir/Module."$package" done +%if %split_extra && %split_optional +# Module.optional is in a special form, containing guard markers for +# both extra and optional modules, which is processed by split-modules +%_sourcedir/guards --list --with-guards <%_sourcedir/supported.conf | \ +awk '{ + t = ""; + for (i = 1; i < NF; i++) { + if ($i == "+'%cpu_arch'") { + t = ""; + } else if ($i ~ "^-") { + t = $i + } + } + if (t != "") {print t,$(NF);} +}' >%kernel_build_dir/Module.optional +%endif cd linux-%srcversion @@ -387,7 +412,7 @@ make clean $MAKE_ARGS rm -f source -find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' -printf '%%P\n' \ +find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.optional' -printf '%%P\n' \ > %my_builddir/obj-files %build @@ -575,7 +600,11 @@ done fi -for sub in '' '-extra'; do +for sub in '' '-extra' \ +%if %split_extra && %split_optional + '-optional' \ +%endif +; do case "$sub" in '') base_package=1 ;; *) base_package=0 ;; @@ -677,7 +706,7 @@ echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir %if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y" - find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' > ipa-clones.list + find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir tar -C %kernel_build_dir --verbatim-files-from -T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- @@ -796,6 +825,8 @@ sh ../scripts/mkmakefile ../../../%{basename:%src_install_dir} \ %rpm_install_dir/%cpu_arch_flavor \ $(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/') + else + echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile fi fi @@ -890,8 +921,12 @@ echo "/lib/firmware/%kernelrelease-%build_flavor" fi } > %my_builddir/kernel-main.files + %if %split_extra add_dirs_to_filelist %my_builddir/unsupported-modules > %my_builddir/kernel-extra.files +%if %split_extra && %split_optional + add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files +%endif %if 0%{?sle_version} >= 150000 # By default, loading unsupported modules is disabled on SLE through @@ -960,6 +995,7 @@ %obsolete_rebuilds %name-extra Supplements: packageand(product(SLED):%{name}_%_target_cpu) Supplements: packageand(product(sle-we):%{name}_%_target_cpu) +Supplements: packageand(product(Leap):%{name}_%_target_cpu) %ifarch %ix86 Conflicts: libc.so.6()(64bit) %endif @@ -985,6 +1021,43 @@ %defattr(-, root, root) %endif +%if %split_extra && %split_optional +%package optional +Summary: @SUMMARY@ - Optional kernel modules +Group: System/Kernel +Url: http://www.kernel.org/ +Provides: %name-optional_%_target_cpu = %version-%source_rel +Provides: kernel-optional = %version-%source_rel +Provides: multiversion(kernel) +Requires: %name-extra_%_target_cpu = %version-%source_rel +Requires(pre): coreutils awk +Requires(post): modutils +Requires(post): perl-Bootloader +Requires(post): mkinitrd +@PROVIDES_OBSOLETES_OPTIONAL@ +%obsolete_rebuilds %name-optional +Supplements: packageand(product(Leap):%{name}_%_target_cpu) +%ifarch %ix86 +Conflicts: libc.so.6()(64bit) +%endif + +%description optional +@DESCRIPTION@ + +This package contains optional modules only for openSUSE Leap. + + +%source_timestamp + +%preun optional -f preun-optional.sh +%postun optional -f postun-optional.sh +%pre optional -f pre-optional.sh +%post optional -f post-optional.sh + +%files optional -f kernel-optional.files +%defattr(-, root, root) +%endif + %if "%CONFIG_KMSG_IDS" == "y" %package man ++++++ klp-symbols ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:52.970638963 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:52.970638963 +0200 @@ -48,7 +48,7 @@ echo "*vmlinux" >> "$KLP_SYMBOLS" get_symbols "$VMLINUX" >> "$KLP_SYMBOLS" -find "$MODVER_DIR" -iname '*.mod' | while read KMOD ; do +find "$MODVER_DIR" -iname '*.mod' | sort | while read KMOD ; do if [ "$MODVER_DIR" = "$KERNEL_BUILD_DIR" ]; then # kernel >= 5.3, just replace the suffix KO_FILE="${KMOD%.mod}.ko" ++++++ mkspec ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:53.014639019 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:53.014639019 +0200 @@ -160,7 +160,7 @@ } my %obsolete_macros; - for my $subpac ("", "-base", "-extra", "-devel", "-hmac") { + for my $subpac ("", "-base", "-extra", "-devel", "-hmac", "-optional") { (my $macro = "PROVIDES_OBSOLETES" . uc($subpac)) =~ s/-/_/; $obsolete_macros{$macro} = provides_obsoletes($flavor, $subpac, @{$flavor_archs{$flavor}}); ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 16069 lines of diff (skipped) ++++++ patches.suse.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/brcmfmac-Add-clm_blob-firmware-files-to-modinfo.patch new/patches.suse/brcmfmac-Add-clm_blob-firmware-files-to-modinfo.patch --- old/patches.suse/brcmfmac-Add-clm_blob-firmware-files-to-modinfo.patch 2021-06-11 07:05:06.000000000 +0200 +++ new/patches.suse/brcmfmac-Add-clm_blob-firmware-files-to-modinfo.patch 2021-06-16 14:34:37.000000000 +0200 @@ -1,7 +1,9 @@ From: Matthias Brugger <mbrug...@suse.com> -Date: Fri, 4 Jun 2021 15:59:08 +0200 +Date: Mon, 7 Jun 2021 12:34:33 +0200 Subject: brcmfmac: Add clm_blob firmware files to modinfo -Patch-mainline: Submitted, 20210607103433.21022-1-matthias....@kernel.org +Git-commit: 885f256f61f958d494ffdf5084a292808f08daee +Patch-mainline: Queued +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git#master References: bsc#1186857 Cypress Wi-Fi chipsets include information regarding regulatory @@ -14,6 +16,9 @@ modinfo of the driver. Signed-off-by: Matthias Brugger <mbrug...@suse.com> +Reviewed-by: Hans de Goede <hdego...@redhat.com> +Signed-off-by: Kalle Valo <kv...@codeaurora.org> +Link: https://lore.kernel.org/r/20210607103433.21022-1-matthias....@kernel.org --- .../wireless/broadcom/brcm80211/brcmfmac/firmware.h | 7 +++++++ .../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ++-- @@ -54,7 +59,7 @@ BRCMF_FW_DEF(4359, "brcmfmac4359-pcie"); BRCMF_FW_DEF(4364, "brcmfmac4364-pcie"); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index b8788d7090a4..69cbe38f05ce 100644 +index bb77a5987faf..97ee9e2e2e35 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -616,14 +616,14 @@ BRCMF_FW_DEF(43362, "brcmfmac43362-sdio"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/brcmfmac-Delete-second-brcm-folder-hierarchy.patch new/patches.suse/brcmfmac-Delete-second-brcm-folder-hierarchy.patch --- old/patches.suse/brcmfmac-Delete-second-brcm-folder-hierarchy.patch 2021-06-11 07:05:06.000000000 +0200 +++ new/patches.suse/brcmfmac-Delete-second-brcm-folder-hierarchy.patch 2021-06-16 14:34:37.000000000 +0200 @@ -1,7 +1,9 @@ From: Matthias Brugger <mbrug...@suse.com> -Date: Wed, 2 Jun 2021 16:16:52 +0200 +Date: Wed, 2 Jun 2021 16:43:05 +0200 Subject: brcmfmac: Delete second brcm folder hierarchy -Patch-mainline: Submitted, 20210602144305.4481-1-matthias....@kernel.org +Git-commit: 4a26aafe4886a4ec9965171c280ce16df30dc362 +Patch-mainline: Queued +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git#master References: bsc#1186857 BRCMF_FW_DEFAULT_PATH already defines the brcm folder, delete the second @@ -10,12 +12,14 @@ Fixes: 75729e110e68 ("brcmfmac: expose firmware config files through modinfo") Signed-off-by: Matthias Brugger <mbrug...@suse.com> Reviewed-by: Hans de Goede <hdego...@redhat.com> +Signed-off-by: Kalle Valo <kv...@codeaurora.org> +Link: https://lore.kernel.org/r/20210602144305.4481-1-matthias....@kernel.org --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 16ed325795a8..b8788d7090a4 100644 +index 27eb83ee2dc9..bb77a5987faf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -626,8 +626,8 @@ BRCMF_FW_DEF(4373, "brcmfmac4373-sdio"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/usb-pci-quirks-disable-D3cold-on-xhci-suspend-for-s2.patch new/patches.suse/usb-pci-quirks-disable-D3cold-on-xhci-suspend-for-s2.patch --- old/patches.suse/usb-pci-quirks-disable-D3cold-on-xhci-suspend-for-s2.patch 2021-06-11 07:05:06.000000000 +0200 +++ new/patches.suse/usb-pci-quirks-disable-D3cold-on-xhci-suspend-for-s2.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,74 +0,0 @@ -From: Mario Limonciello <mario.limoncie...@amd.com> -Subject: [PATCH v4] usb: pci-quirks: disable D3cold on xhci suspend for s2idle - on AMD Renoire -Date: Wed, 5 May 2021 01:16:06 -0500 -Message-id: <20210505061606.22716-1-mario.limoncie...@amd.com> -Patch-mainline: Submitted, linux-usb ML -References: bsc#1185840 - -The XHCI controller is required to enter D3hot rather than D3cold for AMD -s2idle on this hardware generation. - -Otherwise, the 'Controller Not Ready' (CNR) bit is not being cleared by host -in resume and eventually this results in xhci resume failures during the -s2idle wakeup. - -Suggested-by: Prike Liang <prike.li...@amd.com> -Link: https://lore.kernel.org/linux-usb/1612527609-7053-1-git-send-email-prike.li...@amd.com/ -Signed-off-by: Mario Limonciello <mario.limoncie...@amd.com> -Acked-by: Takashi Iwai <ti...@suse.de> - ---- - drivers/usb/host/xhci-pci.c | 7 ++++++- - drivers/usb/host/xhci.h | 1 + - 2 files changed, 7 insertions(+), 1 deletion(-) - -v1 -> v2: drop the XHCI_COMP_MODE_QUIRK quirk and create a new one for handling -XHCI D3cold. - -v2 -> v3: correct the quirk name typo XHCI_AMD_S2IDL_SUPPORT_QUIRK -> XHCI_AMD_S2IDLE_SUPPORT_QUIRK - -v3 -> v4: Fix commit message to clarify and reference HW - Rename quirk to describe problem, not hardware - Add definition for the hardware to source - ---- a/drivers/usb/host/xhci-pci.c -+++ b/drivers/usb/host/xhci-pci.c -@@ -59,6 +59,7 @@ - #define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138 - #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI 0x461e - -+#define PCI_DEVICE_ID_AMD_RENOIRE_XHCI 0x1639 - #define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9 - #define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba - #define PCI_DEVICE_ID_AMD_PROMONTORYA_2 0x43bb -@@ -182,6 +183,10 @@ static void xhci_pci_quirks(struct devic - (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_1))) - xhci->quirks |= XHCI_U2_DISABLE_WAKE; - -+ if (pdev->vendor == PCI_VENDOR_ID_AMD && -+ pdev->device == PCI_DEVICE_ID_AMD_RENOIRE_XHCI) -+ xhci->quirks |= XHCI_BROKEN_D3COLD; -+ - if (pdev->vendor == PCI_VENDOR_ID_INTEL) { - xhci->quirks |= XHCI_LPM_SUPPORT; - xhci->quirks |= XHCI_INTEL_HOST; -@@ -539,7 +544,7 @@ static int xhci_pci_suspend(struct usb_h - * Systems with the TI redriver that loses port status change events - * need to have the registers polled during D3, so avoid D3cold. - */ -- if (xhci->quirks & XHCI_COMP_MODE_QUIRK) -+ if (xhci->quirks & (XHCI_COMP_MODE_QUIRK | XHCI_BROKEN_D3COLD)) - pci_d3cold_disable(pdev); - - if (xhci->quirks & XHCI_PME_STUCK_QUIRK) ---- a/drivers/usb/host/xhci.h -+++ b/drivers/usb/host/xhci.h -@@ -1892,6 +1892,7 @@ struct xhci_hcd { - #define XHCI_DISABLE_SPARSE BIT_ULL(38) - #define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39) - #define XHCI_NO_SOFT_RETRY BIT_ULL(40) -+#define XHCI_BROKEN_D3COLD BIT_ULL(41) - - unsigned int num_active_eps; - unsigned int limit_active_eps; ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:54.310640662 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:54.314640667 +0200 @@ -2111,6 +2111,228 @@ patches.kernel.org/5.12.10-159-xen-netback-take-a-reference-to-the-RX-task-t.patch patches.kernel.org/5.12.10-160-neighbour-allow-NUD_NOARP-entries-to-be-force.patch patches.kernel.org/5.12.10-161-Linux-5.12.10.patch + patches.kernel.org/5.12.11-001-proc-Track-proc-pid-attr-opener-mm_struct.patch + patches.kernel.org/5.12.11-002-ASoC-max98088-fix-ni-clock-divider-calculatio.patch + patches.kernel.org/5.12.11-003-ASoC-amd-fix-for-pcm_read-error.patch + patches.kernel.org/5.12.11-004-spi-Fix-spi-device-unregister-flow.patch + patches.kernel.org/5.12.11-005-spi-spi-zynq-qspi-Fix-stack-violation-bug.patch + patches.kernel.org/5.12.11-006-bpf-Forbid-trampoline-attach-for-functions-wi.patch + patches.kernel.org/5.12.11-007-ASoC-codecs-lpass-rx-macro-add-missing-MODULE.patch + patches.kernel.org/5.12.11-008-ASoC-codecs-lpass-tx-macro-add-missing-MODULE.patch + patches.kernel.org/5.12.11-009-net-nfc-rawsock.c-fix-a-permission-check-bug.patch + patches.kernel.org/5.12.11-010-usb-cdns3-Fix-runtime-PM-imbalance-on-error.patch + patches.kernel.org/5.12.11-011-ASoC-Intel-bytcr_rt5640-Add-quirk-for-the-Gla.patch + patches.kernel.org/5.12.11-012-ASoC-Intel-bytcr_rt5640-Add-quirk-for-the-Len.patch + patches.kernel.org/5.12.11-013-bpf-Add-deny-list-of-btf-ids-check-for-tracin.patch + patches.kernel.org/5.12.11-014-vfio-ccw-Reset-FSM-state-to-IDLE-inside-FSM.patch + patches.kernel.org/5.12.11-015-vfio-ccw-Serialize-FSM-IDLE-state-with-I-O-co.patch + patches.kernel.org/5.12.11-016-ASoC-sti-sas-add-missing-MODULE_DEVICE_TABLE.patch + patches.kernel.org/5.12.11-017-spi-sprd-Add-missing-MODULE_DEVICE_TABLE.patch + patches.kernel.org/5.12.11-018-usb-chipidea-udc-assign-interrupt-number-to-U.patch + patches.kernel.org/5.12.11-019-isdn-mISDN-netjet-Fix-crash-in-nj_probe.patch + patches.kernel.org/5.12.11-020-bonding-init-notify_work-earlier-to-avoid-uni.patch + patches.kernel.org/5.12.11-021-netlink-disable-IRQs-for-netlink_lock_table.patch + patches.kernel.org/5.12.11-022-net-mdiobus-get-rid-of-a-BUG_ON.patch + patches.kernel.org/5.12.11-023-cgroup-disable-controllers-at-parse-time.patch + patches.kernel.org/5.12.11-024-wq-handle-VM-suspension-in-stall-detection.patch + patches.kernel.org/5.12.11-025-net-qla3xxx-fix-schedule-while-atomic-in-ql_s.patch + patches.kernel.org/5.12.11-026-RDS-tcp-loopback-connection-can-hang.patch + patches.kernel.org/5.12.11-027-net-sfc-fix-non-freed-irq-in-legacy-irq-mode.patch + patches.kernel.org/5.12.11-028-scsi-bnx2fc-Return-failure-if-io_req-is-alrea.patch + patches.kernel.org/5.12.11-029-scsi-vmw_pvscsi-Set-correct-residual-data-len.patch + patches.kernel.org/5.12.11-030-scsi-hisi_sas-Drop-free_irq-of-devm_request_i.patch + patches.kernel.org/5.12.11-031-scsi-target-qla2xxx-Wait-for-stop_phase1-at-W.patch + patches.kernel.org/5.12.11-032-net-macb-ensure-the-device-is-available-befor.patch + patches.kernel.org/5.12.11-033-net-appletalk-cops-Fix-data-race-in-cops_prob.patch + patches.kernel.org/5.12.11-034-net-dsa-microchip-enable-phy-errata-workaroun.patch + patches.kernel.org/5.12.11-035-Makefile-LTO-have-linker-check-Wframe-larger-.patch + patches.kernel.org/5.12.11-036-nvme-fabrics-decode-host-pathing-error-for-co.patch + patches.kernel.org/5.12.11-037-MIPS-Fix-kernel-hang-under-FUNCTION_GRAPH_TRA.patch + patches.kernel.org/5.12.11-038-bpf-selftests-Adjust-few-selftest-result_unpr.patch + patches.kernel.org/5.12.11-039-dm-verity-fix-require_signatures-module_param.patch + patches.kernel.org/5.12.11-040-bnx2x-Fix-missing-error-code-in-bnx2x_iov_ini.patch + patches.kernel.org/5.12.11-041-nvme-tcp-remove-incorrect-Kconfig-dep-in-BLK_.patch + patches.kernel.org/5.12.11-042-nvmet-fix-false-keep-alive-timeout-when-a-con.patch + patches.kernel.org/5.12.11-043-powerpc-fsl-set-fsl-i2c-erratum-a004447-flag-.patch + patches.kernel.org/5.12.11-044-powerpc-fsl-set-fsl-i2c-erratum-a004447-flag-.patch + patches.kernel.org/5.12.11-045-spi-Don-t-have-controller-clean-up-spi-device.patch + patches.kernel.org/5.12.11-046-spi-Cleanup-on-failure-of-initial-setup.patch + patches.kernel.org/5.12.11-047-i2c-mpc-Make-use-of-i2c_recover_bus.patch + patches.kernel.org/5.12.11-048-i2c-mpc-implement-erratum-A-004447-workaround.patch + patches.kernel.org/5.12.11-049-ALSA-seq-Fix-race-of-snd_seq_timer_open.patch + patches.kernel.org/5.12.11-050-ALSA-firewire-lib-fix-the-context-to-call-snd.patch + patches.kernel.org/5.12.11-051-ALSA-hda-realtek-headphone-and-mic-don-t-work.patch + patches.kernel.org/5.12.11-052-ALSA-hda-realtek-fix-mute-micmute-LEDs-and-sp.patch + patches.kernel.org/5.12.11-053-ALSA-hda-realtek-fix-mute-micmute-LEDs-and-sp.patch + patches.kernel.org/5.12.11-054-ALSA-hda-realtek-fix-mute-micmute-LEDs-for-HP.patch + patches.kernel.org/5.12.11-055-ALSA-hda-realtek-fix-mute-micmute-LEDs-for-HP.patch + patches.kernel.org/5.12.11-056-spi-bcm2835-Fix-out-of-bounds-access-with-mor.patch + patches.kernel.org/5.12.11-057-Revert-ACPI-sleep-Put-the-FACS-table-after-us.patch + patches.kernel.org/5.12.11-058-ACPI-Pass-the-same-capabilities-to-the-_OSC-r.patch + patches.kernel.org/5.12.11-059-drm-Fix-use-after-free-read-in-drm_getunique.patch + patches.kernel.org/5.12.11-060-drm-Lock-pointer-access-in-drm_master_release.patch + patches.kernel.org/5.12.11-061-x86-lto-Pass-stack-alignment-only-on-LLD-13.0.patch + patches.kernel.org/5.12.11-062-perf-x86-intel-uncore-Fix-M2M-event-umask-for.patch + patches.kernel.org/5.12.11-063-KVM-x86-Unload-MMU-on-guest-TLB-flush-if-TDP-.patch + patches.kernel.org/5.12.11-064-KVM-X86-MMU-Use-the-correct-inherited-permiss.patch + patches.kernel.org/5.12.11-065-kvm-avoid-speculation-based-attacks-from-out-.patch + patches.kernel.org/5.12.11-066-staging-rtl8723bs-Fix-uninitialized-variables.patch + patches.kernel.org/5.12.11-067-usb-misc-brcmstb-usb-pinmap-check-return-valu.patch + patches.kernel.org/5.12.11-068-misc-rtsx-separate-aspm-mode-into-MODE_REG-an.patch + patches.kernel.org/5.12.11-069-bus-mhi-pci_generic-Fix-possible-use-after-fr.patch + patches.kernel.org/5.12.11-070-tick-nohz-Only-check-for-RCU-deferred-wakeup-.patch + patches.kernel.org/5.12.11-071-bcache-remove-bcache-device-self-defined-read.patch + patches.kernel.org/5.12.11-072-bcache-avoid-oversized-read-request-in-cache-.patch + patches.kernel.org/5.12.11-073-async_xor-check-src_offs-is-not-NULL-before-u.patch + patches.kernel.org/5.12.11-074-btrfs-do-not-write-supers-if-we-have-an-fs-er.patch + patches.kernel.org/5.12.11-075-btrfs-zoned-fix-zone-number-to-sector-physica.patch + patches.kernel.org/5.12.11-076-btrfs-return-value-from-btrfs_mark_extent_wri.patch + patches.kernel.org/5.12.11-077-btrfs-promote-debugging-asserts-to-full-fledg.patch + patches.kernel.org/5.12.11-078-coredump-Limit-what-can-interrupt-coredumps.patch + patches.kernel.org/5.12.11-079-cgroup1-don-t-allow-n-in-renaming.patch + patches.kernel.org/5.12.11-080-ftrace-Do-not-blindly-read-the-ip-address-in-.patch + patches.kernel.org/5.12.11-081-tracing-Correct-the-length-check-which-causes.patch + patches.kernel.org/5.12.11-082-tools-bootconfig-Fix-a-build-error-accroding-.patch + patches.kernel.org/5.12.11-083-mmc-renesas_sdhi-abort-tuning-when-timeout-de.patch + patches.kernel.org/5.12.11-084-mmc-renesas_sdhi-Fix-HS400-on-R-Car-M3-W.patch + patches.kernel.org/5.12.11-085-USB-f_ncm-ncm_bitrate-speed-is-unsigned.patch + patches.kernel.org/5.12.11-086-usb-f_ncm-only-first-packet-of-aggregate-need.patch + patches.kernel.org/5.12.11-087-usb-pd-Set-PD_T_SINK_WAIT_CAP-to-310ms.patch + patches.kernel.org/5.12.11-088-usb-dwc3-meson-g12a-fix-usb2-PHY-glue-init-wh.patch + patches.kernel.org/5.12.11-089-usb-dwc3-meson-g12a-Disable-the-regulator-in-.patch + patches.kernel.org/5.12.11-090-usb-dwc3-gadget-Bail-from-dwc3_gadget_exit-if.patch + patches.kernel.org/5.12.11-091-usb-dwc3-ep0-fix-NULL-pointer-exception.patch + patches.kernel.org/5.12.11-092-usb-pci-quirks-disable-D3cold-on-xhci-suspend.patch + patches.kernel.org/5.12.11-093-usb-musb-fix-MUSB_QUIRK_B_DISCONNECT_99-handl.patch + patches.kernel.org/5.12.11-094-usb-typec-wcove-Use-LE-to-CPU-conversion-when.patch + patches.kernel.org/5.12.11-095-usb-typec-ucsi-Clear-PPM-capability-data-in-u.patch + patches.kernel.org/5.12.11-096-usb-typec-intel_pmc_mux-Put-fwnode-in-error-c.patch + patches.kernel.org/5.12.11-097-usb-typec-intel_pmc_mux-Add-missed-error-chec.patch + patches.kernel.org/5.12.11-098-usb-gadget-f_fs-Ensure-io_completion_wq-is-id.patch + patches.kernel.org/5.12.11-099-USB-serial-ftdi_sio-add-NovaTech-OrionMX-prod.patch + patches.kernel.org/5.12.11-100-USB-serial-omninet-add-device-id-for-Zyxel-Om.patch + patches.kernel.org/5.12.11-101-USB-serial-quatech2-fix-control-request-direc.patch + patches.kernel.org/5.12.11-102-USB-serial-cp210x-fix-alternate-function-for-.patch + patches.kernel.org/5.12.11-103-USB-serial-cp210x-fix-CP2102N-A01-modem-contr.patch + patches.kernel.org/5.12.11-104-usb-cdnsp-Fix-deadlock-issue-in-cdnsp_thread_.patch + patches.kernel.org/5.12.11-105-usb-gadget-eem-fix-wrong-eem-header-operation.patch + patches.kernel.org/5.12.11-106-usb-fix-various-gadgets-null-ptr-deref-on-10g.patch + patches.kernel.org/5.12.11-107-usb-fix-various-gadget-panics-on-10gbps-cabli.patch + patches.kernel.org/5.12.11-108-usb-typec-tcpm-Properly-handle-Alert-and-Stat.patch + patches.kernel.org/5.12.11-109-usb-typec-tcpm-cancel-vdm-and-state-machine-h.patch + patches.kernel.org/5.12.11-110-usb-typec-tcpm-cancel-frs-hrtimer-when-unregi.patch + patches.kernel.org/5.12.11-111-usb-typec-tcpm-Do-not-finish-VDM-AMS-for-retr.patch + patches.kernel.org/5.12.11-112-regulator-core-resolve-supply-for-boot-on-alw.patch + patches.kernel.org/5.12.11-113-regulator-max77620-Use-device_set_of_node_fro.patch + patches.kernel.org/5.12.11-114-regulator-bd718x7-Fix-the-BUCK7-voltage-setti.patch + patches.kernel.org/5.12.11-115-regulator-da9121-Return-REGULATOR_MODE_INVALI.patch + patches.kernel.org/5.12.11-116-regulator-fan53880-Fix-missing-n_voltages-set.patch + patches.kernel.org/5.12.11-117-regulator-fixed-Ensure-enable_counter-is-corr.patch + patches.kernel.org/5.12.11-118-regulator-scmi-Fix-off-by-one-for-linear-regu.patch + patches.kernel.org/5.12.11-119-regulator-bd71828-Fix-.n_voltages-settings.patch + patches.kernel.org/5.12.11-120-regulator-atc260x-Fix-n_voltages-and-min_sel-.patch + patches.kernel.org/5.12.11-121-regulator-rtmv20-Fix-.set_current_limit-.get_.patch + patches.kernel.org/5.12.11-122-phy-usb-Fix-misuse-of-IS_ENABLED.patch + patches.kernel.org/5.12.11-123-usb-cdns3-Enable-TDL_CHK-only-for-OUT-ep.patch + patches.kernel.org/5.12.11-124-usb-dwc3-gadget-Disable-gadget-IRQ-during-pul.patch + patches.kernel.org/5.12.11-125-usb-typec-tcpm-Correct-the-responses-in-SVDM-.patch + patches.kernel.org/5.12.11-126-usb-typec-tcpm-Fix-misuses-of-AMS-invocation.patch + patches.kernel.org/5.12.11-127-usb-typec-mux-Fix-copy-paste-mistake-in-typec.patch + patches.kernel.org/5.12.11-128-drm-mcde-Fix-off-by-10-3-in-calculation.patch + patches.kernel.org/5.12.11-129-drm-msm-a6xx-fix-incorrectly-set-uavflagprd_i.patch + patches.kernel.org/5.12.11-130-drm-msm-a6xx-update-fix-CP_PROTECT-initializa.patch + patches.kernel.org/5.12.11-131-drm-msm-a6xx-avoid-shadow-NULL-reference-in-f.patch + patches.kernel.org/5.12.11-132-hwmon-corsair-psu-fix-suspend-behavior.patch + patches.kernel.org/5.12.11-133-hwmon-tps23861-define-regmap-max-register.patch + patches.kernel.org/5.12.11-134-hwmon-tps23861-set-current-shunt-value.patch + patches.kernel.org/5.12.11-135-hwmon-tps23861-correct-shunt-LSB-values.patch + patches.kernel.org/5.12.11-136-RDMA-ipoib-Fix-warning-caused-by-destroying-n.patch + patches.kernel.org/5.12.11-137-RDMA-mlx5-Use-different-doorbell-memory-for-d.patch + patches.kernel.org/5.12.11-138-RDMA-mlx4-Do-not-map-the-core_clock-page-to-u.patch + patches.kernel.org/5.12.11-139-RDMA-mlx5-Block-FDB-rules-when-not-in-switchd.patch + patches.kernel.org/5.12.11-140-RDMA-Verify-port-when-creating-flow-rule.patch + patches.kernel.org/5.12.11-141-ARM-cpuidle-Avoid-orphan-section-warning.patch + patches.kernel.org/5.12.11-142-vmlinux.lds.h-Avoid-orphan-section-with-SMP.patch + patches.kernel.org/5.12.11-143-tools-bootconfig-Fix-error-return-code-in-app.patch + patches.kernel.org/5.12.11-144-phy-cadence-Sierra-Fix-error-return-code-in-c.patch + patches.kernel.org/5.12.11-145-ASoC-core-Fix-Null-point-dereference-in-fmt_s.patch + patches.kernel.org/5.12.11-146-ASoC-meson-gx-card-fix-sound-dai-dt-schema.patch + patches.kernel.org/5.12.11-147-phy-ti-Fix-an-error-code-in-wiz_probe.patch + patches.kernel.org/5.12.11-148-gpio-wcd934x-Fix-shift-out-of-bounds-error.patch + patches.kernel.org/5.12.11-149-pinctrl-qcom-Fix-duplication-in-gpio_groups.patch + patches.kernel.org/5.12.11-150-perf-x86-intel-uncore-Fix-a-kernel-WARNING-tr.patch + patches.kernel.org/5.12.11-151-perf-Fix-data-race-between-pin_count-incremen.patch + patches.kernel.org/5.12.11-152-dt-bindings-connector-Replace-BIT-macro-with-.patch + patches.kernel.org/5.12.11-153-sched-fair-Keep-load_avg-and-load_sum-synced.patch + patches.kernel.org/5.12.11-154-sched-fair-Make-sure-to-update-tg-contrib-for.patch + patches.kernel.org/5.12.11-155-ASoC-SOF-reset-enabled_cores-state-at-suspend.patch + patches.kernel.org/5.12.11-156-sched-fair-Fix-util_est-UTIL_AVG_UNCHANGED-ha.patch + patches.kernel.org/5.12.11-157-platform-surface-aggregator-Fix-event-disable.patch + patches.kernel.org/5.12.11-158-x86-nmi_watchdog-Fix-old-style-NMI-watchdog-r.patch + patches.kernel.org/5.12.11-159-KVM-x86-Ensure-liveliness-of-nested-VM-Enter-.patch + patches.kernel.org/5.12.11-160-IB-mlx5-Fix-initializing-CQ-fragments-buffer.patch + patches.kernel.org/5.12.11-161-NFS-Fix-a-potential-NULL-dereference-in-nfs_g.patch + patches.kernel.org/5.12.11-162-NFSv4-Fix-deadlock-between-nfs4_evict_inode-a.patch + patches.kernel.org/5.12.11-163-pinctrl-qcom-Make-it-possible-to-select-SC818.patch + patches.kernel.org/5.12.11-164-perf-session-Correct-buffer-copying-when-peek.patch + patches.kernel.org/5.12.11-165-kvm-fix-previous-commit-for-32-bit-builds.patch + patches.kernel.org/5.12.11-166-NFS-Fix-use-after-free-in-nfs4_init_client.patch + patches.kernel.org/5.12.11-167-NFSv4-Fix-second-deadlock-in-nfs4_evict_inode.patch + patches.kernel.org/5.12.11-168-NFSv4-nfs4_proc_set_acl-needs-to-restore-NFS_.patch + patches.kernel.org/5.12.11-169-scsi-core-Fix-error-handling-of-scsi_host_all.patch + patches.kernel.org/5.12.11-170-scsi-core-Fix-failure-handling-of-scsi_add_ho.patch + patches.kernel.org/5.12.11-171-scsi-core-Put-.shost_dev-in-failure-path-if-h.patch + patches.kernel.org/5.12.11-172-scsi-core-Only-put-parent-device-if-host-stat.patch + patches.kernel.org/5.12.11-173-proc-only-require-mm_struct-for-writing.patch + patches.kernel.org/5.12.11-174-Linux-5.12.11.patch + patches.kernel.org/5.12.12-001-net-ieee802154-fix-null-deref-in-parse-dev-ad.patch + patches.kernel.org/5.12.12-002-HID-asus-Filter-keyboard-EC-for-old-ROG-keybo.patch + patches.kernel.org/5.12.12-003-HID-quirks-Set-INCREMENT_USAGE_ON_DUPLICATE-f.patch + patches.kernel.org/5.12.12-004-HID-quirks-Add-HID_QUIRK_NO_INIT_REPORTS-quir.patch + patches.kernel.org/5.12.12-005-HID-a4tech-use-A4_2WHEEL_MOUSE_HACK_B8-for-A4.patch + patches.kernel.org/5.12.12-006-HID-hid-input-add-mapping-for-emoji-picker-ke.patch + patches.kernel.org/5.12.12-007-HID-hid-sensor-hub-Return-error-for-hid_set_f.patch + patches.kernel.org/5.12.12-008-HID-asus-filter-G713-G733-key-event-to-preven.patch + patches.kernel.org/5.12.12-009-HID-quirks-Add-quirk-for-Lenovo-optical-mouse.patch + patches.kernel.org/5.12.12-010-HID-multitouch-set-Stylus-suffix-for-Stylus-a.patch + patches.kernel.org/5.12.12-011-HID-Add-BUS_VIRTUAL-to-hid_connect-logging.patch + patches.kernel.org/5.12.12-012-HID-usbhid-fix-info-leak-in-hid_submit_ctrl.patch + patches.kernel.org/5.12.12-013-mt76-mt7921-fix-max-aggregation-subframes-set.patch + patches.kernel.org/5.12.12-014-drm-tegra-sor-Do-not-leak-runtime-PM-referenc.patch + patches.kernel.org/5.12.12-015-gpu-host1x-Split-up-client-initalization-and-.patch + patches.kernel.org/5.12.12-016-drm-tegra-sor-Fully-initialize-SOR-before-reg.patch + patches.kernel.org/5.12.12-017-hwmon-pmbus-q54sj108a2-The-PMBUS_MFR_ID-is-ac.patch + patches.kernel.org/5.12.12-018-ARM-OMAP1-Fix-use-of-possibly-uninitialized-i.patch + patches.kernel.org/5.12.12-019-ARM-OMAP2-Fix-build-warning-when-mmc_omap-is-.patch + patches.kernel.org/5.12.12-020-gfs2-Prevent-direct-I-O-write-fallback-errors.patch + patches.kernel.org/5.12.12-021-gfs2-fix-a-deadlock-on-withdraw-during-mount.patch + patches.kernel.org/5.12.12-022-gfs2-Clean-up-revokes-on-normal-withdraws.patch + patches.kernel.org/5.12.12-023-HID-multitouch-Disable-event-reporting-on-sus.patch + patches.kernel.org/5.12.12-024-HID-gt683r-add-missing-MODULE_DEVICE_TABLE.patch + patches.kernel.org/5.12.12-025-HID-intel-ish-hid-ipc-Add-Alder-Lake-device-I.patch + patches.kernel.org/5.12.12-026-riscv-Use-mno-relax-when-using-lld-linker.patch + patches.kernel.org/5.12.12-027-ALSA-hda-Add-AlderLake-M-PCI-ID.patch + patches.kernel.org/5.12.12-028-mt76-mt7921-remove-leftover-80-80-HE-capabili.patch + patches.kernel.org/5.12.12-029-gfs2-Fix-use-after-free-in-gfs2_glock_shrink_.patch + patches.kernel.org/5.12.12-030-scsi-target-core-Fix-warning-on-realtime-kern.patch + patches.kernel.org/5.12.12-031-ethernet-myri10ge-Fix-missing-error-code-in-m.patch + patches.kernel.org/5.12.12-032-scsi-qedf-Do-not-put-host-in-qedf_vport_creat.patch + patches.kernel.org/5.12.12-033-Bluetooth-Add-a-new-USB-ID-for-RTL8822CE.patch + patches.kernel.org/5.12.12-034-scsi-scsi_devinfo-Add-blacklist-entry-for-HPE.patch + patches.kernel.org/5.12.12-035-nvme-loop-reset-queue-count-to-1-in-nvme_loop.patch + patches.kernel.org/5.12.12-036-nvme-loop-clear-NVME_LOOP_Q_LIVE-when-nvme_lo.patch + patches.kernel.org/5.12.12-037-nvme-loop-check-for-NVME_LOOP_Q_LIVE-in-nvme_.patch + patches.kernel.org/5.12.12-038-nvme-loop-do-not-warn-for-deleted-controllers.patch + patches.kernel.org/5.12.12-039-net-ipconfig-Don-t-override-command-line-host.patch + patches.kernel.org/5.12.12-040-drm-amd-display-Allow-bandwidth-validation-fo.patch + patches.kernel.org/5.12.12-041-drm-amdgpu-refine-amdgpu_fru_get_product_info.patch + patches.kernel.org/5.12.12-042-drm-amd-display-Fix-potential-memory-leak-in-.patch + patches.kernel.org/5.12.12-043-drm-amd-amdgpu-save-psp-ring-wptr-to-avoid-at.patch + patches.kernel.org/5.12.12-044-rtnetlink-Fix-missing-error-code-in-rtnl_brid.patch + patches.kernel.org/5.12.12-045-net-x25-Return-the-correct-errno-code.patch + patches.kernel.org/5.12.12-046-net-Return-the-correct-errno-code.patch + patches.kernel.org/5.12.12-047-fib-Return-the-correct-errno-code.patch + patches.kernel.org/5.12.12-048-Linux-5.12.12.patch ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -2286,7 +2508,6 @@ ######################################################## # USB ######################################################## - patches.suse/usb-pci-quirks-disable-D3cold-on-xhci-suspend-for-s2.patch ######################################################## # Input ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:54.342640703 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:54.342640703 +0200 @@ -1,3 +1,3 @@ -2021-06-11 05:05:06 +0000 -GIT Revision: b92eaf7cf30a84428cfe019308359a10f12d8e4c +2021-06-18 11:07:46 +0000 +GIT Revision: 0e46a2c644754074b091f728831994304f5dbff0 GIT Branch: stable ++++++ split-modules ++++++ --- /var/tmp/diff_new_pack.nk2vZd/_old 2021-06-21 20:35:54.354640718 +0200 +++ /var/tmp/diff_new_pack.nk2vZd/_new 2021-06-21 20:35:54.358640723 +0200 @@ -110,7 +110,11 @@ } # base -sed 'y/-/_/' <"$opt_builddir/Module.base" | add_dependent_modules >"$tmp/base" +if test -f "$opt_builddir/Module.base"; then + sed 'y/-/_/' <"$opt_builddir/Module.base" | add_dependent_modules >"$tmp/base" +else + touch "$tmp/base" +fi join -j 1 -o 2.2 "$tmp/base" "$tmp/all" >"$opt_out/base-modules" # base firmware @@ -123,6 +127,7 @@ # kmps for f in "$opt_builddir"/Module.*-kmp; do + test -f "$f" || continue kmp=${f##*/Module.} sed 'y/-/_/' <"$f" >"$tmp/$kmp" join -j 1 -o 2.2 "$tmp/$kmp" "$tmp/all" >"$opt_out/$kmp-modules" @@ -146,8 +151,63 @@ join -j 1 -o 2.2 "$tmp/supp-all" "$tmp/all" >"$opt_out/main-modules" # unsupported -join -j 1 -v 2 -o 2.2 <(sort -u "$tmp/supp-all" "$tmp/kmp-all") "$tmp/all" >"$opt_out/unsupported-modules" +join -j 1 -v 2 -o 2.2 <(sort -u "$tmp/supp-all" "$tmp/kmp-all") "$tmp/all" | sort -u > "$opt_out/unsupported-modules" -exit 0 +# split again to extra and optional +if $opt_extra && test -f "$opt_builddir/Module.optional"; then + declare -A modmarks wcmarks + wcpaths=() + while read mark path; do + path=${path%.xz} + path=${path%.ko} + mod=${path##*/} + modmarks["$mod"]="$mark" + # paths with wildcards need to be verified sequentially, so we keep + # the paths in the array wcpaths and each mark in wcmarks[] + case "$path" in + *[\*\?\[]*) + wcpaths[${#wcpaths[@]}]="$path" + wcmarks["$path"]="$mark";; + esac + done < "$opt_builddir/Module.optional" + + while read xpath; do + path=${xpath%.xz} + path=${path%.ko} + mod=${path##*/} + x=${modmarks["$mod"]} + if [ -n "$x" ]; then + test x"$x" = x"-" && echo "$xpath" + continue + fi + # unmatched modules must be handled via wildcard + path=${path#/lib/modules/*/kernel/} + for m in "${wcpaths[@]}"; do + case "$path" in + ($m) + test x${wcmarks["$m"]} = x"-" && echo "$xpath" + break;; + esac + done + done < "$opt_out/unsupported-modules" | sort > "$tmp/unsupp-extra" + + cat "$tmp/supp-all" "$tmp/kmp-all" "$tmp/unsupp-extra" | \ + sed -r 's:[^ ]*/([^/]*)\.ko(.xz)?\>:\1:g; y/-/_/' | sort -u > "$tmp/unsupp-extra-all" + add_dependent_modules "$tmp/unsupp-explain" <"$tmp/unsupp-extra-all" >"$tmp/unsupp-extra-dep" + if ! cmp -s "$tmp/unsupp-extra-all" "$tmp/unsupp-extra-dep"; then + echo "The following optional modules are used by extra modules:" >&2 + join -j1 -a2 <(sort "$tmp/unsupp-explain") \ + <(join -v2 "$tmp/unsupp-extra-all" "$tmp/unsupp-extra-dep") >&2 + echo "Please fix supported.conf." >&2 + if ! $opt_ignore_errors; then + exit 1 + fi + fi + + join -j 1 -v 2 "$tmp/unsupp-extra" "$opt_out/unsupported-modules" > "$opt_out/optional-modules" + mv "$tmp/unsupp-extra" "$opt_out/unsupported-modules" +fi + +exit 0