diff --git a/.gitattributes b/.gitattributes index ad4a8fc..77e163e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -23,6 +23,18 @@ *.zst filter=lfs diff=lfs merge=lfs -text ## Specific LFS patterns ast_dp501_fw.bin filter=lfs diff=lfs merge=lfs -text +iwlwifi-Qu-b0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-Qu-b0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-Qu-c0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-Qu-c0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-QuZ-a0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-QuZ-a0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-cc-a0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-so-a0-gf-a0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-so-a0-gf4-a0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-so-a0-hr-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-so-a0-jf-b0-71.ucode filter=lfs diff=lfs merge=lfs -text +iwlwifi-ty-a0-gf-a0-71.ucode filter=lfs diff=lfs merge=lfs -text ql2600_fw.bin filter=lfs diff=lfs merge=lfs -text ql2700_fw.bin filter=lfs diff=lfs merge=lfs -text ql8300_fw.bin filter=lfs diff=lfs merge=lfs -text diff --git a/_servicedata b/_servicedata index ff48f8c..7acba03 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git - 49f9e3479fb564ab96ebbfef327743b0ec2a7620 \ No newline at end of file + 389575a8a1773b857bd7176cc42143471226f982 \ No newline at end of file diff --git a/aliases.list b/aliases.list index 67b5589..d6ebbb0 100644 --- a/aliases.list +++ b/aliases.list @@ -24,6 +24,9 @@ advansys: pci:v000010CDd00002500sv*sd*bc*sc*i* advansys: pci:v000010CDd00002700sv*sd*bc*sc*i* ambassador: pci:v000010B6d00001001sv*sd*bc*sc*i* ambassador: pci:v000010B6d00001002sv*sd*bc*sc*i* +amd_pmf: acpi*:AMDI0100%3A* +amd_pmf: acpi*:AMDI0102%3A* +amd_pmf: acpi*:AMDI0103%3A* amdgpu: pci:v00001002d*sv*sd*bc03sc00i00* amdgpu: pci:v00001002d*sv*sd*bc03sc80i00* amdgpu: pci:v00001002d*sv*sd*bc12sc00i00* @@ -3523,6 +3526,7 @@ r8152: usb:v17EFp721Ed*dc*dsc*dp*icFFisc*ip*in* r8152: usb:v17EFpA387d*dc*dsc*dp*ic*isc*ip*in* r8152: usb:v17EFpA387d*dc*dsc*dp*ic02isc06ip00in* r8152: usb:v17EFpA387d*dc*dsc*dp*icFFisc*ip*in* +r8152: usb:v2001pB301d*dc*dsc*dp*ic*isc*ip*in* r8152: usb:v2357p0601d*dc*dsc*dp*ic*isc*ip*in* r8152: usb:v2357p0601d*dc*dsc*dp*ic02isc06ip00in* r8152: usb:v2357p0601d*dc*dsc*dp*icFFisc*ip*in* diff --git a/amd-ucode-rawfile.patch b/amd-ucode-rawfile.patch deleted file mode 100644 index ea5f960..0000000 --- a/amd-ucode-rawfile.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/WHENCE b/WHENCE -index 390a5689408e..852e88f55341 100644 ---- a/WHENCE -+++ b/WHENCE -@@ -3912,20 +3912,15 @@ License: Redistributable. See LICENSE.amd-sev for details - - Driver: microcode_amd - AMD CPU Microcode Update Driver for Linux - --File: amd-ucode/microcode_amd.bin --Raw: amd-ucode/microcode_amd.bin -+RawFile: amd-ucode/microcode_amd.bin - Version: 2013-07-10 --File: amd-ucode/microcode_amd_fam15h.bin --Raw: amd-ucode/microcode_amd_fam15h.bin -+RawFile: amd-ucode/microcode_amd_fam15h.bin - Version: 2018-05-24 --File: amd-ucode/microcode_amd_fam16h.bin --Raw: amd-ucode/microcode_amd_fam16h.bin -+RawFile: amd-ucode/microcode_amd_fam16h.bin - Version: 2014-10-28 --File: amd-ucode/microcode_amd_fam17h.bin --Raw: amd-ucode/microcode_amd_fam17h.bin -+RawFile: amd-ucode/microcode_amd_fam17h.bin - Version: 2023-07-19 --File: amd-ucode/microcode_amd_fam19h.bin --Raw: amd-ucode/microcode_amd_fam19h.bin -+RawFile: amd-ucode/microcode_amd_fam19h.bin - Version: 2023-08-08 - File: amd-ucode/README - diff --git a/iwlwifi-Qu-b0-hr-b0-71.ucode b/iwlwifi-Qu-b0-hr-b0-71.ucode new file mode 100644 index 0000000..9aff729 --- /dev/null +++ b/iwlwifi-Qu-b0-hr-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7ddabe9cc308de0f618ff208313e7180fdf7178d3ba70814664d6fc2f9c9324 +size 1364312 diff --git a/iwlwifi-Qu-b0-jf-b0-71.ucode b/iwlwifi-Qu-b0-jf-b0-71.ucode new file mode 100644 index 0000000..7b89323 --- /dev/null +++ b/iwlwifi-Qu-b0-jf-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:696fff84535d276f1645a4510f06bbc1469a5d73b2ca9513b77d2602311a937e +size 1285192 diff --git a/iwlwifi-Qu-c0-hr-b0-71.ucode b/iwlwifi-Qu-c0-hr-b0-71.ucode new file mode 100644 index 0000000..be33154 --- /dev/null +++ b/iwlwifi-Qu-c0-hr-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3522b528a52dafe68ffdcc9dc07593267a1a956d689c9e23d93110e3fc6599ce +size 1364328 diff --git a/iwlwifi-Qu-c0-jf-b0-71.ucode b/iwlwifi-Qu-c0-jf-b0-71.ucode new file mode 100644 index 0000000..79e7c5f --- /dev/null +++ b/iwlwifi-Qu-c0-jf-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cce1c557372d8177f6a3363604a59c205c52285448c2e624974d02eb0b75bdd +size 1285208 diff --git a/iwlwifi-QuZ-a0-hr-b0-71.ucode b/iwlwifi-QuZ-a0-hr-b0-71.ucode new file mode 100644 index 0000000..9282489 --- /dev/null +++ b/iwlwifi-QuZ-a0-hr-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11fd8d891a6bea770dc9a2c1c7cc728745cfd470b8c0e5a57f0c5d50312a1743 +size 1364308 diff --git a/iwlwifi-QuZ-a0-jf-b0-71.ucode b/iwlwifi-QuZ-a0-jf-b0-71.ucode new file mode 100644 index 0000000..e135efe --- /dev/null +++ b/iwlwifi-QuZ-a0-jf-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:995bf8c424472a86940014792b7c1c85b27f666742539ae36b3959bb53d445ce +size 1285188 diff --git a/iwlwifi-WHENCE-fix.patch b/iwlwifi-WHENCE-fix.patch new file mode 100644 index 0000000..03e44b0 --- /dev/null +++ b/iwlwifi-WHENCE-fix.patch @@ -0,0 +1,47 @@ +diff --git a/WHENCE b/WHENCE +index cf805e28f5a7..16a9f1d78d57 100644 +--- a/WHENCE ++++ b/WHENCE +@@ -908,6 +908,42 @@ Version: 66.f1c864e0.0 + File: iwlwifi-ty-a0-gf-a0-66.ucode + Version: 66.f1c864e0.0 + ++File: iwlwifi-cc-a0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-Qu-b0-hr-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-Qu-b0-jf-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-Qu-c0-hr-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-Qu-c0-jf-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-QuZ-a0-hr-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-QuZ-a0-jf-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-ty-a0-gf-a0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-so-a0-gf4-a0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-so-a0-gf-a0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-so-a0-hr-b0-71.ucode ++Version: 71.058653f6.0 ++ ++File: iwlwifi-so-a0-jf-b0-71.ucode ++Version: 71.058653f6.0 ++ + File: iwlwifi-cc-a0-72.ucode + Version: 72.daa05125.0 + diff --git a/iwlwifi-cc-a0-71.ucode b/iwlwifi-cc-a0-71.ucode new file mode 100644 index 0000000..47fa511 --- /dev/null +++ b/iwlwifi-cc-a0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1561efa63710678be1392b0a572b9b5d021b529e71463346a7a05129294ddfa6 +size 1322288 diff --git a/iwlwifi-so-a0-gf-a0-71.ucode b/iwlwifi-so-a0-gf-a0-71.ucode new file mode 100644 index 0000000..e00ef68 --- /dev/null +++ b/iwlwifi-so-a0-gf-a0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5d7cc6a6c7748e570e0094032045122d7a5a76f6fde2e7b2f1ad1048575896a +size 1550124 diff --git a/iwlwifi-so-a0-gf4-a0-71.ucode b/iwlwifi-so-a0-gf4-a0-71.ucode new file mode 100644 index 0000000..a3bf7f3 --- /dev/null +++ b/iwlwifi-so-a0-gf4-a0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b1f8c1d22ae4df4f44e5e81c5ed5a45591526c07f9e2a1b13ec7c8ee2d16dc +size 1566352 diff --git a/iwlwifi-so-a0-hr-b0-71.ucode b/iwlwifi-so-a0-hr-b0-71.ucode new file mode 100644 index 0000000..1f573af --- /dev/null +++ b/iwlwifi-so-a0-hr-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8f5feac1b1db256da2c6c0739ec6ea7bdbe8e78ed19944b4c9a39b7fc61a5aa +size 1456960 diff --git a/iwlwifi-so-a0-jf-b0-71.ucode b/iwlwifi-so-a0-jf-b0-71.ucode new file mode 100644 index 0000000..48ccd86 --- /dev/null +++ b/iwlwifi-so-a0-jf-b0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:169de0f9f49d5dbcc59d7d1432890b7f153c3864d8d72ff5f47549f281b6b41e +size 1400056 diff --git a/iwlwifi-ty-a0-gf-a0-71.ucode b/iwlwifi-ty-a0-gf-a0-71.ucode new file mode 100644 index 0000000..7d5df12 --- /dev/null +++ b/iwlwifi-ty-a0-gf-a0-71.ucode @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4a0c77a84f9bb279c5b4e83a8949073f4a93f248fcfff90ff2147ac658eba95 +size 1494024 diff --git a/kernel-firmware-20230829.tar.xz b/kernel-firmware-20230829.tar.xz deleted file mode 100644 index 5bdffc3..0000000 --- a/kernel-firmware-20230829.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39956b7c9b6316211f68d70e45933ef26cea132f7f3214f4636abda1425565d9 -size 288932500 diff --git a/kernel-firmware-20231006.tar.xz b/kernel-firmware-20231006.tar.xz new file mode 100644 index 0000000..c6837e5 --- /dev/null +++ b/kernel-firmware-20231006.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36bb702257f37c5912853bd376339285e4565cd9584a2b2835efd921ab2f29d0 +size 308333084 diff --git a/kernel-firmware.changes b/kernel-firmware.changes index 2fad2f1..7dc87e7 100644 --- a/kernel-firmware.changes +++ b/kernel-firmware.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Thu Oct 12 09:53:05 UTC 2023 - Takashi Iwai + +- Add Provides to sub-packages from kernel-firmware (bsc#1214789); + this will work around the potential conflicts of compressed vs + uncompressed installations + +------------------------------------------------------------------- +Mon Oct 09 07:10:37 UTC 2023 - tiwai@suse.com + +- Update to version 20231006 (git commit 389575a8a177) (jsc#PED-6130, jsc#PED-6081): + * WHENCE: add symlink for BananaPi M64 + * linux-firmware: Add firmware file for Intel Bluetooth AX211 + * linux-firmware: Update firmware file for Intel Bluetooth AX201 + * linux-firmware: Update firmware file for Intel Bluetooth AX201 + * linux-firmware: Update firmware file for Intel Bluetooth AX211 + * linux-firmware: Update firmware file for Intel Bluetooth AX211 + * linux-firmware: Update firmware file for Intel Bluetooth AX210 + * linux-firmware: Update firmware file for Intel Bluetooth 9560 + * linux-firmware: Update firmware file for Intel Bluetooth 9260 + * Build debian and fedora images + * Add new Makefile target to build a deb and rpm package + * i915: Update MTL DMC to v2.17 + * iwlwifi: add FWs for new GL and MA device types with multiple RF modules + * amd_pmf: Add initial PMF TA for Smart PC Solution Builder + * linux-firmware: Update FW files for MRVL PCIE 8997 chipsets + * rtl_bt: Update RTL8851B BT USB firmware to 0x048A_D230 + * iwlwifi: add new FWs from core81-65 release + * iwlwifi: update cc/Qu/QuZ firmwares for core81-65 release +- Drop fdupes to avoid missing files for split packages (bsc#1215464) +- Add conflicts to each split subpk against uncompressed raw package; + the contents may conflict and the compressed files won't be effective + unless the raw files get removed +- Update aliases + +------------------------------------------------------------------- +Fri Sep 22 12:53:05 UTC 2023 - tiwai@suse.com + +- Update to version 20230918 (commit f48da6da5507): + * Run merge request pipelines for pre-commit. + * linux-firmware: amd-ucode: Add note on fam19h warnings + * i915: update MTL HuC to version 8.5.4 + * amdgpu: update DMCUB to 0.0.183.0 for various AMDGPU ASICs + +------------------------------------------------------------------- +Thu Sep 14 12:44:20 UTC 2023 - tiwai@suse.com + +- Update to version 20230907 (git commit c801b3b807d2): + * Turn off textwidth check + * linux-firmware: add link to sc8280xp audioreach firmware + * qcom: sm8250: add RB5 sensors DSP firmware + * qcom: Update vpu-1.0 firmware + * qcom: sm8250: update DSP firmware + * qcom: add firmware for the onboard WiFi on qcm2290 / qrb4210 + * qcom: add venus firmware files for v6.0 + * qcom: add firmware for QRB4210 platforms + * qcom: add firmware for QCM2290 platforms + * qcom: add GPU firmware for QCM2290 / QRB2210 + * ath10k/WCN3990: move wlanmdsp to qcom/sdm845 + * WHENCE: Don't compress qcom json files + * WHENCE: amd-ucode: Use new RawFile keyword + * check_whence: Recognize RawFile keyword + * Only run ci-fairy on merge requests + * Capture artifacts from `make dist` to save at release time. + * Add new toplevel 'make dist' target. + * Create symlinks for all firmware that is duplicate using rdfind + * QCA: Update Bluetooth WCN685x 2.1 firmware to 2.1.0-00605 + * Add shellcheck pre-commit target + * Fix carl9170fw shell scripts for shellcheck errors + * Add a rule for automatic tagging releases by pipeline schedule + * Add gitlab ci for calling pre-commit and ci-fairy + * Add Dockerfile used to build CI image + * Rewrite README in markdown + * Wire up pre-commit to `make check` + * Add pre-commit hooks and codespell template + * check_whence: reformat using python black +- Drop obsoleted amd-ucode-rawfile.patch +- Fix make-files.sh to handle RawFile tag correctly +- Update aliases from 6.6-rc1 + ------------------------------------------------------------------- Tue Aug 29 15:09:31 UTC 2023 - tiwai@suse.com @@ -280,6 +360,13 @@ Mon Apr 17 08:13:49 UTC 2023 - tiwai@suse.com * amdgpu: Add GC 11.0.4 firmware * rtw88: 8822c: Update normal firmware to v9.9.15 +------------------------------------------------------------------- +Fri Mar 24 16:08:17 UTC 2023 - Takashi Iwai + +- Revive the old iwlwifi-*-71 ucode for compatibility with + SLE15-SP4 kernel (bsc#1209681): + WHENCE updated by iwlwifi-WHENCE-fix.patch + ------------------------------------------------------------------- Fri Mar 24 08:22:16 UTC 2023 - tiwai@suse.com diff --git a/kernel-firmware.spec b/kernel-firmware.spec index eddf73b..7ad6d88 100644 --- a/kernel-firmware.spec +++ b/kernel-firmware.spec @@ -21,11 +21,11 @@ %define _firmwaredir /lib/firmware %endif %define __ksyms_path ^%{_firmwaredir} -%define version_unconverted 20230829 +%define version_unconverted 20231006 # Force bzip2 instead of lzma compression (bsc#1176981) %define _binary_payload w9.bzdio Name: kernel-firmware -Version: 20230829 +Version: 20231006 Release: 0 Summary: Linux kernel firmware files License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT @@ -39,6 +39,19 @@ Source8: ql2600_fw.bin Source9: ql2700_fw.bin Source10: ql8300_fw.bin Source99: kernel-firmware-rpmlintrc +# for compatibility with SLE15-SP4 kernel (bsc#1209681) +Source200: iwlwifi-cc-a0-71.ucode +Source201: iwlwifi-Qu-b0-hr-b0-71.ucode +Source202: iwlwifi-Qu-b0-jf-b0-71.ucode +Source203: iwlwifi-Qu-c0-hr-b0-71.ucode +Source204: iwlwifi-Qu-c0-jf-b0-71.ucode +Source205: iwlwifi-QuZ-a0-hr-b0-71.ucode +Source206: iwlwifi-QuZ-a0-jf-b0-71.ucode +Source207: iwlwifi-so-a0-gf4-a0-71.ucode +Source208: iwlwifi-so-a0-gf-a0-71.ucode +Source209: iwlwifi-so-a0-hr-b0-71.ucode +Source210: iwlwifi-so-a0-jf-b0-71.ucode +Source211: iwlwifi-ty-a0-gf-a0-71.ucode # install / build infrastructure Source1001: make-files.sh Source1002: list-license.sh @@ -59,8 +72,8 @@ Source1100: qcom-post Source1101: uncompressed-post # workarounds Patch1: copy-file-ignore-README.patch -Patch2: amd-ucode-rawfile.patch -BuildRequires: fdupes +# for compatibility with SLE15-SP4 kernel (bsc#1209681) +Patch200: iwlwifi-WHENCE-fix.patch BuildRequires: suse-module-tools Requires(post): %{_bindir}/mkdir Requires(post): %{_bindir}/touch @@ -100,6 +113,41 @@ Obsoletes: qlogic-firmware < %{version} # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 %endif +%if "%{flavor}" == "uncompressed" +Provides: %{name}-amdgpu = %{version} +Provides: %{name}-ath10k = %{version} +Provides: %{name}-ath11k = %{version} +Provides: %{name}-atheros = %{version} +Provides: %{name}-bluetooth = %{version} +Provides: %{name}-bnx2 = %{version} +Provides: %{name}-brcm = %{version} +Provides: %{name}-chelsio = %{version} +Provides: %{name}-dpaa2 = %{version} +Provides: %{name}-i915 = %{version} +Provides: %{name}-intel = %{version} +Provides: %{name}-iwlwifi = %{version} +Provides: %{name}-liquidio = %{version} +Provides: %{name}-marvell = %{version} +Provides: %{name}-media = %{version} +Provides: %{name}-mediatek = %{version} +Provides: %{name}-mellanox = %{version} +Provides: %{name}-mwifiex = %{version} +Provides: %{name}-network = %{version} +Provides: %{name}-nfp = %{version} +Provides: %{name}-nvidia = %{version} +Provides: %{name}-platform = %{version} +Provides: %{name}-prestera = %{version} +Provides: %{name}-qcom = %{version} +Provides: %{name}-qlogic = %{version} +Provides: %{name}-radeon = %{version} +Provides: %{name}-realtek = %{version} +Provides: %{name}-serial = %{version} +Provides: %{name}-sound = %{version} +Provides: %{name}-ti = %{version} +Provides: %{name}-ueagle = %{version} +Provides: %{name}-usb-network = %{version} +Provides: kernel-firmware-uncompressed = %{version} +%endif %description This package contains the raw uncompressed firmware files for Linux kernel @@ -182,6 +230,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -505,6 +555,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -535,6 +587,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -554,6 +608,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -759,6 +815,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -813,6 +871,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -864,6 +924,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -944,6 +1006,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -1335,6 +1399,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -1351,6 +1417,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -1740,6 +1808,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -1774,6 +1844,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -2720,6 +2792,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -2739,6 +2813,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -2781,6 +2857,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -2972,6 +3050,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3073,6 +3153,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3093,6 +3175,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3140,6 +3224,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3367,6 +3453,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3395,6 +3483,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -3515,10 +3605,15 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 %endif +Supplements: modalias(acpi*:AMDI0100%3A*) +Supplements: modalias(acpi*:AMDI0102%3A*) +Supplements: modalias(acpi*:AMDI0103%3A*) Supplements: modalias(acpi*:AMDI0C00%3A*) Supplements: modalias(eisa:sABP7401*) Supplements: modalias(eisa:sABP7501*) @@ -4025,6 +4120,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -4041,6 +4138,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -4237,6 +4336,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -4313,6 +4414,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -5186,6 +5289,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -5849,6 +5954,7 @@ Supplements: modalias(usb:v2001p3C21d*dc*dsc*dp*ic*isc*ip*in*) Supplements: modalias(usb:v2001p3C22d*dc*dsc*dp*ic*isc*ip*in*) Supplements: modalias(usb:v2001p3C23d*dc*dsc*dp*ic*isc*ip*in*) Supplements: modalias(usb:v2001p3C25d*dc*dsc*dp*ic*isc*ip*in*) +Supplements: modalias(usb:v2001pB301d*dc*dsc*dp*ic*isc*ip*in*) Supplements: modalias(usb:v2019p1201d*dc*dsc*dp*ic*isc*ip*in*) Supplements: modalias(usb:v2019p1201d*dc*dsc*dp*icFFiscFFipFFin*) Supplements: modalias(usb:v2019p4901d*dc*dsc*dp*ic*isc*ip*in*) @@ -5949,6 +6055,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -6123,6 +6231,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -6194,6 +6304,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -6212,6 +6324,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -6262,6 +6376,8 @@ Requires(post): /usr/bin/mkdir /usr/bin/touch Requires(postun):/usr/bin/mkdir /usr/bin/touch Requires(post): dracut >= 049 Conflicts: kernel < 5.3 +Conflicts: kernel-firmware < %{version} +Conflicts: kernel-firmware-uncompressed %if 0%{?suse_version} >= 1550 # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 @@ -6389,11 +6505,27 @@ various USB WiFi / Ethernet drivers. %prep %setup -q -n kernel-firmware-%{version} %patch1 -p1 -%patch2 -p1 # additional firmwares cat %{SOURCE1} >> WHENCE cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} . +%if 0%{?suse_version} < 1599 +# revive old iwlwifi firmware for compatibility (bsc#1209681) +%patch200 -p1 +cp %{SOURCE200} . +cp %{SOURCE201} . +cp %{SOURCE202} . +cp %{SOURCE203} . +cp %{SOURCE204} . +cp %{SOURCE205} . +cp %{SOURCE206} . +cp %{SOURCE207} . +cp %{SOURCE208} . +cp %{SOURCE209} . +cp %{SOURCE210} . +cp %{SOURCE211} . +%endif + %build # nothing to do @@ -6406,7 +6538,6 @@ sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir} sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %endif -%fdupes -s %{buildroot} %if "%{flavor}" == "uncompressed" %pre @@ -6766,7 +6897,7 @@ fi %if "%{flavor}" == "uncompressed" %files -%doc WHENCE README +%doc WHENCE README.md %license GPL-2 GPL-3 LICEN[CS]E.* %{_firmwaredir} %exclude %{_firmwaredir}/amd-ucode @@ -6775,7 +6906,7 @@ fi %else %files all -%doc WHENCE README +%doc WHENCE README.md %files -n ucode-amd %doc amd-ucode/README diff --git a/kernel-firmware.spec.in b/kernel-firmware.spec.in index d71d67d..52831bb 100644 --- a/kernel-firmware.spec.in +++ b/kernel-firmware.spec.in @@ -39,6 +39,19 @@ Source8: ql2600_fw.bin Source9: ql2700_fw.bin Source10: ql8300_fw.bin Source99: kernel-firmware-rpmlintrc +# for compatibility with SLE15-SP4 kernel (bsc#1209681) +Source200: iwlwifi-cc-a0-71.ucode +Source201: iwlwifi-Qu-b0-hr-b0-71.ucode +Source202: iwlwifi-Qu-b0-jf-b0-71.ucode +Source203: iwlwifi-Qu-c0-hr-b0-71.ucode +Source204: iwlwifi-Qu-c0-jf-b0-71.ucode +Source205: iwlwifi-QuZ-a0-hr-b0-71.ucode +Source206: iwlwifi-QuZ-a0-jf-b0-71.ucode +Source207: iwlwifi-so-a0-gf4-a0-71.ucode +Source208: iwlwifi-so-a0-gf-a0-71.ucode +Source209: iwlwifi-so-a0-hr-b0-71.ucode +Source210: iwlwifi-so-a0-jf-b0-71.ucode +Source211: iwlwifi-ty-a0-gf-a0-71.ucode # install / build infrastructure Source1001: make-files.sh Source1002: list-license.sh @@ -59,8 +72,8 @@ Source1100: qcom-post Source1101: uncompressed-post # workarounds Patch1: copy-file-ignore-README.patch -Patch2: amd-ucode-rawfile.patch -BuildRequires: fdupes +# for compatibility with SLE15-SP4 kernel (bsc#1209681) +Patch200: iwlwifi-WHENCE-fix.patch BuildRequires: suse-module-tools Requires(post): %{_bindir}/mkdir Requires(post): %{_bindir}/touch @@ -74,6 +87,10 @@ BuildArch: noarch # make sure we have post-usrmerge filesystem package on TW Conflicts: filesystem < 84 %endif +%if "%{flavor}" == "uncompressed" +Provides: kernel-firmware-uncompressed = %{version} +@@SUBPKGPROVS@@ +%endif %description This package contains the raw uncompressed firmware files for Linux kernel @@ -123,11 +140,27 @@ all files that have been provided by kernel-firmware package. %prep %setup -q -n kernel-firmware-%{version} %patch1 -p1 -%patch2 -p1 # additional firmwares cat %{SOURCE1} >> WHENCE cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} . +%if 0%{?suse_version} < 1599 +# revive old iwlwifi firmware for compatibility (bsc#1209681) +%patch200 -p1 +cp %{SOURCE200} . +cp %{SOURCE201} . +cp %{SOURCE202} . +cp %{SOURCE203} . +cp %{SOURCE204} . +cp %{SOURCE205} . +cp %{SOURCE206} . +cp %{SOURCE207} . +cp %{SOURCE208} . +cp %{SOURCE209} . +cp %{SOURCE210} . +cp %{SOURCE211} . +%endif + %build # nothing to do @@ -140,7 +173,6 @@ sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir} sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %endif -%fdupes -s %{buildroot} %if "%{flavor}" == "uncompressed" @@POST@@ @@ -153,7 +185,7 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %if "%{flavor}" == "uncompressed" %files -%doc WHENCE README +%doc WHENCE README.md %license GPL-2 GPL-3 LICEN[CS]E.* %{_firmwaredir} %exclude %{_firmwaredir}/amd-ucode @@ -161,7 +193,7 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %else %files all -%doc WHENCE README +%doc WHENCE README.md %files -n ucode-amd %doc amd-ucode/README diff --git a/make-files.sh b/make-files.sh index 008189a..46076a1 100644 --- a/make-files.sh +++ b/make-files.sh @@ -41,17 +41,10 @@ make_dirs () { fi } -copy_link () { +add_file () { local f="$1" - local lf="$2" - local src="${f%/*}" - if [ "$src" = "$f" ]; then - src="$lf" - else - src="$src/$lf" - fi make_dirs "$f" - if [ -d "$dest/$src" ]; then + if [ -f "$dest/$f" ]; then echo "\"$fwdir/$f\"" >> files-$topic else echo "\"$fwdir/$f$cext\"" >> files-$topic @@ -89,13 +82,12 @@ while read l; do echo "ERROR: no topic found for $l" exit 1 fi - f=$(echo "$l" | sed -e's/^File: *//' -e's/"//g' -e's/\\//g') + f=$(echo "$l" | sed -e's/^File: *//' -e's/^RawFile: *//' -e's/"//g' -e's/\\//g') case "$f" in - */README) + */README*) continue;; esac - make_dirs "$f" - echo "\"$fwdir/$f$cext\"" >> files-$topic + add_file "$f" ;; Link:*) test "$topic" = "SKIP" && continue @@ -104,8 +96,7 @@ while read l; do exit 1 fi f=$(echo "$l" | sed -e's/^Link: *//' -e's/ *->.*$//' -es'/\\//g') - d=$(echo "$l" | sed -e's/^.*-> *//' -e's/\\//g') - copy_link "$f" "$d" + add_file "$f" ;; esac done diff --git a/makespec.sh b/makespec.sh index 643f82c..3f05329 100644 --- a/makespec.sh +++ b/makespec.sh @@ -18,6 +18,8 @@ define_subpackage () { echo "Requires(postun):/usr/bin/mkdir /usr/bin/touch" echo "Requires(post): dracut >= 049" echo "Conflicts: kernel < 5.3" + echo "Conflicts: kernel-firmware-uncompressed" + echo "Conflicts: kernel-firmware < %{version}" echo "%if 0%{?suse_version} >= 1550" echo "# make sure we have post-usrmerge filesystem package on TW" echo "Conflicts: filesystem < 84" @@ -63,6 +65,12 @@ sed -e"s/@@VERSION@@/$version/g" | while read line; do done continue fi + if [ "$line" = "@@SUBPKGPROVS@@" ]; then + for t in $topics; do + echo "Provides: %{name}-$t = %{version}" + done + continue + fi if [ "$line" = "@@SUBPACKAGES@@" ]; then for t in $topics; do define_subpackage $t diff --git a/topics.list b/topics.list index bab3c61..9e7630d 100644 --- a/topics.list +++ b/topics.list @@ -73,6 +73,7 @@ mga: platform r128: platform radeon: radeon radeon amdgpu amdgpu: amdgpu +amd_pmf: platform s2255drv: platform rtl8192e: realtek r8192e_pci lgs8gxx: media