122 lines
3.6 KiB
Plaintext
122 lines
3.6 KiB
Plaintext
|
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).
|