Commit Graph

18 Commits

Author SHA1 Message Date
Roland Clobus 246556b123
Firmwarelist: use POSIX commandline option for awk
Use `-v` instead of `--assign`, which is only supported by gawk
2024-12-16 13:53:21 +01:00
Roland Clobus 137b8e2eed Generate /firmware/Contents-firmware
This file is also present in the netinst image and is used by hw-detect
for efficient lookup of firmware files
2024-12-14 14:32:16 +00:00
Roland Clobus 6374459ad3
Workaround for #1084791 removed.
Source package `rtl8723bt-firmware` was removed from trixie 2024-11-12.
The workaround is no longer required.
2024-11-12 09:34:02 +01:00
Roland Clobus e6efd799fc
Workaround for #1084791 part 3
Package realtek-firmware 20240909-2 migrated to testing/trixie. The
removal of firmware-realtek-rtl8723cs-bt in #1085075 has not taken place
yet, so the workaround needs to be applied to trixie too.
2024-11-06 19:51:10 +01:00
Roland Clobus 399393565c
Workaround for #1084791 part 2
The previous commit did not work properly.
Now output is generated that shows whether the workaround has been
applied or needs to be removed again.
2024-10-28 11:36:06 +01:00
Roland Clobus bb7e9e6368 Workaround for #1084791
There is a file conflict in the non-free-firmware realtek packages,
which prevent the sid live images from being built.

This workaround will be removed a soon as the bug is resolved.
2024-10-26 10:21:55 +00:00
Roland Clobus 22c48e92be
Fixed: select the package name for firmware packages
When the firmware package contains file names with spaces (e.g.
firmware-brcm80211, 20240610-1), pick the correct column for the package
section
2024-07-17 20:31:48 +02:00
Unit 193 e9dd83edf8 firmwarelists.sh: Account for usrmerged firmware packages. 2023-12-22 00:04:31 +00:00
Roland Clobus 8eaf20daf1
Filter the firmware list (Closes: 1035382)
The firmware packages that do not match the requested architecture(s)
are filtered out.
2023-07-09 11:59:00 +02:00
Roland Clobus fd1505414b
Clean up the cache directory, if no files are present.
The folder 'cache/contents.chroot' in the build directory can be removed
if no firmware is installed.
2022-01-22 17:56:39 +01:00
Luca Boccassi 93ab49f927 Firmware download: skip architecture if not found
Contents-all.gz does not seem to exist on Buster, so don't fail if
wget doesn't find the file.

Closes: #986278
2021-04-02 16:57:33 +01:00
Unit 193 21eff20ea3 firmwarelists.sh: Search Contents-all for firmware too. 2021-02-22 20:25:55 -05:00
Lyndon Brown 6cc7250954 rename LB_ARCHITECTURES to LB_ARCHITECTURE
this was previously not done in 8b109ffb96
to keep the renaming simple, but leaving the variable plural is a cause
for confusion.

since this property is stored in the INI style config/build config file
rather than a shell script based one, at the property there is already
singular, there was no need for a backwards compatibility hack.

Gbp-Dch: Short
2020-04-23 15:54:19 +02:00
Lyndon Brown c55eb8a0c3 use local scope for private function vars
all vars affected have been carefully checked to be quite certain
that they are definitely local

where variable is assigned the return value of a function/command, the
local "declaration" is deliberately done on a separate line, since
`local FOO` is actually treated itself as a command rather than a
declaration; will thus always cause $? to be zero, and thus if done on
the same line as such an assignment can not only clobber $? but in doing
so unintentionally blocks failure of a command from triggering the
expected exit from having `set -e`.

also, from testing, i have found that when assigning "${@}" this must be
done on a separate line confusingly as otherwise an error occurs.

Gbp-Dch: Short
2020-03-16 22:10:03 +00:00
Lyndon Brown 7a4a9f94b8 amend copyright & licensing blocks
Current versions of the project files are built upon versions published
and licensed by Daniel Baumann, but are modified copies of those files and
thus need to be marked as such per licensing requirements (afaik he did
not pass along ownership / licensing rights to anyone when he left the
project). We should also be careful to not be misrepresenting such
modified copies as being attributed to Daniel.

Adding a new copyright line referring to "The Debian Live team" should
suffice for this.

The authorship block in man pages has also similarly been updated.

Notes:
 - tweaked a copy of daniel copyright lines stating 2014 instead of 2015.
   both of these cases were in files that i had personally introduced in
   some of my past merged commits that moved some code around. i don't know
   why they stated 2014.
 - binary_onie was introduced in 2018, so that has a 2018 date instead of
   2016 unlike the rest.
 - 'efi-image' is a 3rd-party (Canonical Ltd) work that we bundle, but it
   has been modified by 674794a8f4 and
   36a3ba7634 so I similarly added a
   debian live copyright line.
 - 'grub-cpmodules' is similar. it was only changed by the indentation fix
   of 36a3ba7634 but modification is
   modification, and this does help cover any possible future changes that
   might be made.
2020-03-11 13:51:19 +00:00
Lyndon Brown 4d0c3a1169 firmware: enable caching for archive content file with firmware lists
the existing logic for obtaining a list of firmware packages always
downloaded a fresh copy of the archive content file, deleting the file
already in the cache. here we move to actually making use of the cache.

this helps when building multiple times, at least for the same distro. the
package list obtained is rarely going to change after all. it could of
course differ between distros, but the cache is per-distro, as it has
always been.

we of course here switch to caching each of the archive-area files
individually rather than having one file that gets overwritten (or
appended to in the case of when we kept the decompressed file).

Gbp-Dch: Short
Closes: #952911
2020-03-05 22:13:57 +00:00
Lyndon Brown 7867641fd0 firmware: save the compressed contents file to disk instead of decompressed
the existing logic was to decompress the contents file from the downloaded
archive to disk, then process it to obtain a package list. the largest
one by far is for 'main'; 'non-free' and 'contrib' are tiny in comparison.
for sid-amd64 currently, the archive file is 37 MB, while the decompressed
file it contains is 592.3 MB.

we always delete the files and download afresh (currently), and a previous
commit optimised by deleting the files once we're done with them to avoid
wasting disk space leaving them behind.

here we switch to storing the downloaded compressed file to disk instead,
reducing disk space usage (and IO) by hundreds of megabytes; piping the
decompression directly into awk instead of having awk read from the stored
file.

this moves the appending of new items into the list back within the archive
area loop, which is fine since we're replacing the file for each loop now
so the previous issue relating to appending is of no concern.

Gbp-Dch: Short
Closes: #952910
2020-03-05 22:13:57 +00:00
Lyndon Brown aa745de0bb firmware: de-dup firmware list parsing
Edit: There were four copies of the same logic to keep in sync;
Originally this patch deduplicated each file, but leaving a copy of
the new function in each, thus reducing the duplication but not
eliminating it. A later patch moved it into a shared function file
following further enhancements to the code in question. This has
since been revised to have the function moved to a shared file here,
which simplifies and gives a cleaner diff.

Gbp-Dch: Short
Closes: #952908
2020-03-05 22:13:57 +00:00