Merge pull request #96008 from baloo/baloo/bugfixes/make-modules-closure_firmware

makeModulesClosure: fixup firmware extraction
This commit is contained in:
Linus Heckemann 2020-08-28 14:04:10 +02:00 committed by GitHub
commit 86fa61033a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -68,7 +68,17 @@ done
mkdir -p $out/lib/firmware
for module in $(cat closure); do
for i in $(modinfo -F firmware $module); do
# for builtin modules, modinfo will reply with a wrong output looking like:
# $ modinfo -F firmware unix
# name: unix
#
# There is a pending attempt to fix this:
# https://github.com/NixOS/nixpkgs/pull/96153
# https://lore.kernel.org/linux-modules/20200823215433.j5gc5rnsmahpf43v@blumerang/T/#u
#
# For now, the workaround is just to filter out the extraneous lines out
# of its output.
for i in $(modinfo -b $kernel --set-version "$version" -F firmware $module | grep -v '^name:'); do
mkdir -p "$out/lib/firmware/$(dirname "$i")"
echo "firmware for $module: $i"
cp "$firmware/lib/firmware/$i" "$out/lib/firmware/$i" 2>/dev/null || if test -z "$allowMissing"; then exit 1; fi