Index: autodeps/linux.prov
===================================================================
--- autodeps/linux.prov.orig	2011-06-08 13:28:10.000000000 +0200
+++ autodeps/linux.prov	2011-06-08 13:28:51.755445342 +0200
@@ -11,6 +11,7 @@ solist=($(printf "%s\n" "${filelist[@]}"
 pythonlist=
 tcllist=
 monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
+firmwarelist=($(printf "%s\n" "${filelist[@]}" | grep "/lib/firmware/"))
 
 #
 # --- Alpha does not mark 64bit dependencies
@@ -59,6 +60,11 @@ done | sort -u
     printf "%s\n" "${tcllist[@]}" | /usr/lib/rpm/tcl.prov | sort -u
 
 #
+# --- firmware files
+[ -x /usr/lib/rpm/firmware.prov -a -n "$firmwarelist" ] &&
+     printf "%s\n" "${firmwarelist[@]}" | /usr/lib/rpm/firmware.prov | sort -u
+
+#
 # --- Mono exes/dlls
 : ${MONO_PREFIX=/usr}
 if [ -x $MONO_PREFIX/bin/mono -a -n "$monolist" ] ; then
Index: scripts/firmware.prov
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ scripts/firmware.prov	2011-06-08 13:28:33.117204009 +0200
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Add firmware files in /lib/firmware into RPM provides
+
+while read instfile ; do
+  case $instfile in
+    */lib/firmware/*) test -f "$instfile" && echo "firmware(${instfile##*/lib/firmware/})" ;;
+  esac
+done