Go to file
Takashi Iwai c7df5ef979 Accepting request 900601 from home:tiwai:branches:Kernel:HEAD
- Update to version 20210609 (git commit 0f66b74b6267):
  * cypress: update firmware for cyw54591 pcie
  * cypress: update firmware for cyw4373 sdio
  * cypress: update firmware for cyw43570 pcie
  * cypress: update firmware for cyw4356 sdio
  * cypress: update firmware for cyw4354 sdio
  * cypress: update firmware for cyw43455 sdio
  * cypress: update firmware for cyw43430 sdio
  * cypress: update firmware for cyw43340 sdio
  * cypress: update firmware for cyw43012 sdio
  * rtl_bt: Add rtl8761bu firmware
  * rtl_bt: Add rtl8761b firmware
  * Mellanox: Add new mlxsw_spectrum firmware xx.2008.2946
  * mediatek: update MT7915 firmware to 20201105
  * rtl_bt: Update RTL8822C BT(UART I/F) FW to 0x05A8_A0CB
  * rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x09A8_A0CB
  * linux-firmware: update firmware for MT7921 WiFi device
  * QCA: Add Bluetooth firmware for WCN685x
  * QCA: Update Bluetooth firmware for QCA6174
  * QCA: Update Bluetooth firmware for QCA6390
  * cxgb4: Update firmware to revision 1.25.6.0

- Update to version 20210518 (git commit f8462923ed8f):
  * nvidia: fix symlinks for tu104/tu106 acr unload firmware
  * rtw88: 8822c: Update normal firmware to v9.9.10
  * iwlwifi: update 8000 family firmwares
  * iwlwifi: update 9000-family firmwares to core60-51
  * iwlwifi: add new FWs from core60-51 release
  * nvidia: Update Tegra194 XUSB firmware to v60.09
  * nvidia: Update Tegra186 XUSB firmware to v55.18

OBS-URL: https://build.opensuse.org/request/show/900601
OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-firmware?expand=0&rev=355
2021-06-17 14:46:02 +00:00
_constraints Accepting request 844784 from home:tiwai:branches:Kernel:HEAD 2020-10-29 09:12:14 +00:00
_multibuild Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
_service Accepting request 405423 from home:pluskalm:branches:Kernel:HEAD 2016-06-29 12:29:11 +00:00
_servicedata Accepting request 900601 from home:tiwai:branches:Kernel:HEAD 2021-06-17 14:46:02 +00:00
.gitattributes Accepting request 724951 from home:tiwai:branches:Kernel:HEAD 2019-08-21 07:50:46 +00:00
.gitignore OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-firmware?expand=0&rev=1 2009-05-05 02:38:08 +00:00
aliases.list Accepting request 900601 from home:tiwai:branches:Kernel:HEAD 2021-06-17 14:46:02 +00:00
ast_dp501_fw.bin Accepting request 248124 from home:eeich:branches:Kernel:HEAD 2014-09-09 09:04:11 +00:00
check-topic.py Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
extrawhence Accepting request 858999 from home:tiwai:branches:Kernel:HEAD 2020-12-28 12:02:18 +00:00
fwtopics.py Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
get_supplements.sh Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
install-split.sh Accepting request 867109 from home:tiwai:branches:Kernel:HEAD 2021-01-27 10:02:43 +00:00
kernel-firmware-20210609.tar.xz Accepting request 900601 from home:tiwai:branches:Kernel:HEAD 2021-06-17 14:46:02 +00:00
kernel-firmware-rpmlintrc Accepting request 485849 from home:pluskalm:branches:Kernel:HEAD 2017-04-05 16:23:02 +00:00
kernel-firmware.changes Accepting request 900601 from home:tiwai:branches:Kernel:HEAD 2021-06-17 14:46:02 +00:00
kernel-firmware.spec Accepting request 900601 from home:tiwai:branches:Kernel:HEAD 2021-06-17 14:46:02 +00:00
kernel-firmware.spec.in Accepting request 867109 from home:tiwai:branches:Kernel:HEAD 2021-01-27 10:02:43 +00:00
licenses.list Accepting request 891439 from home:tiwai:branches:Kernel:HEAD 2021-05-08 07:45:32 +00:00
list-license.sh Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
makespec.sh Accepting request 811522 from home:kukuk:branches:Kernel:HEAD 2020-06-04 15:27:43 +00:00
ql2600_fw.bin Accepting request 500382 from home:tiwai:branches:Kernel:HEAD 2017-06-02 08:35:30 +00:00
ql2700_fw.bin Accepting request 500382 from home:tiwai:branches:Kernel:HEAD 2017-06-02 08:35:30 +00:00
ql8300_fw.bin Accepting request 500382 from home:tiwai:branches:Kernel:HEAD 2017-06-02 08:35:30 +00:00
README.build Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
topicdefs Accepting request 891439 from home:tiwai:branches:Kernel:HEAD 2021-05-08 07:45:32 +00:00
topicprovs Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00
topics.list Accepting request 891439 from home:tiwai:branches:Kernel:HEAD 2021-05-08 07:45:32 +00:00
update-aliases.py Accepting request 723804 from home:tiwai:fw-compress3 2019-08-15 17:52:36 +00:00

FILES
=====

topicdefs:
	Definitions of each flavor (topic) and description;
	the description is filled into spec file

topicprovs:
	Additional Provides and Obsoletes of each topic

topics.list:
	Mapping between WHENCE entries and topics.
	Each line consists of two or more items.  The first column is
	the first word of the WHENCE "Driver:" entry line to match.
	The second column is the topic/flavor, and the rest columns
	are the module names.  If no module name is provided, the same
	word as the first column is used as the module name.

	The validity with the latest kernel binary packages can be
	checked with check-topic.py script below.

licenses.list:
	List of license files for each WHENCE entry.

aliases.list:
	List of module aliases for each module.
	This is updated by update-alises.py script below.

extrawhence:
	Additional WHENCE entries for the own firmware files.

kernel-firmware.spec.in:
	The spec file template.  Edit this and generate
	kernel-firmware.spec dynamically via makespec.sh script.

makespec.sh:
	A script to combine the spec template and other info into the
	final kernel-firmware.spec.

check-topic.py:
	A program to check the validity of topics.list.  Pass the
	latest WHENCE file and the kernel RPM files to verify.

update-aliases.py:
	A program to update aliases.list from the latest kernel	RPM
	files.  Pass kernel RPM files as arguments.

copy-firmware.sh:
	A helper script to copy the all listed files in WHENCE to the
	destination directory.  Used for raw catch-all installation.

install-split.sh:
	A helper script to copy the files based on WHENCE like the
	above, but also to create a file list for each topic in
	files-$TOPIC file.  The installed files are compressed with
	xz, as well as symlinks.

list-license.sh:
	A helper script to add file list entries for the corresponding
	license files for each topic.  It parses licenses.list.

get_supplements.sh:
	A helper script to create Supplements entries for each topic
	from aliases.list above.


MAINTENANCE WORKS
=================

Upon the update of linux-firmware.git
-------------------------------------

update the kernel-firmware tarball as usual:

% cd linux-firmware
% git archive --format=tar --prefix=kernel-firmware-$version/ -v master ./ \
  | xz -9 -M 4G --check=crc32 -T 4 > /tmp/kernel-firmware-$version.tar.xz

Run check-topic.py to verify whether new entries are added:

% python3 ./check-topic.py /somewhere/WHENCE /rpms/kernel-default-*.rpm

Update topics.list accordingly if new entry was added or updated in
WHENCE:

If new modules are added, update aliases.list as well:

% python3 ./update-aliases.py /rpms/kernel-default-*.rpm

After the update of these files, recreate kernel-firmware.spec by
makespec.sh script:

% sh ./makespec.sh 20190712 < kernel-firmware.spec.in > kernel-firmware.spec

where the argument is the version of the kernel firmware package.

And, don't forget to update kernel-firmware.changes accordingly.


Upon the update of kernel binary rpms
-------------------------------------

Again, run check-topic.py and update-aliases.py for the new kernel RPM
files, and rebuild kernel-firmware.spec.


Adding own firmware binaries
----------------------------

The new packaging relies purely on WHENCE file for counting the
installed files.  You have to either patch WHENCE file or put your own
stuff into extrawhence file, at least with "Driver:" and "File"
entries.  The extrawhence file is concatenated to WHENCE file at
building a package.


Creating a new kernel-firmware subpackage flavor
------------------------------------------------

Edit topicdefs file and add the new entry, and update topics.list and
licenses.list accordingly (these have to be updated manually).