Package: appstream
Version: 0.16.1-2

In <URL: https://bugs.debian.org/841160 >, appstreamcli was adjusted to
use wildcard matching / fnmatch() to locate relevant modalias entries,
similar to how isenkram look up packages based on modalias hardware
descriptions.

It would allow the following shell script fragment to list packages
matching the current machine hardware:

  for a in $(find /sys/ -name modalias -print0 | xargs -0 cat | \
             cut -d: -f1- | sort); do \
     appstreamcli what-provides modalias $a \
       | grep -v 'Could not find component providing'; \
  done

The lookup now only work for exact string matches, like this one:

  % appstreamcli what-provides modalias lkmodule:thinkpad_acpi
  Identifier: com.github.vmatare.thinkfan [generic]
  Name: thinkfan
  Summary: simple and lightweight fan control program
  Package: thinkfan
  %

But not for those requiring wildcard matching, like this one (should
match firmware-iwlwifi):

  % appstreamcli what-provides modalias 
pci:v00008086d00000085sv00008086sd00001311bc02sc80i00
  Could not find component providing 
'modalias::pci:v00008086d00000085sv00008086sd00001311bc02sc80i00'.
  %

I had a look at the source, and it look like the fix made in
<URL: https://bugs.debian.org/841160 > is no longer active, causing
'appstreamcli what-provides modalias' to no longer call
as_provided_has_item(), but instead depend on a xpath search in
as_cache_query_components(), and the latter do not use wildcard
matching.

Please bring back the very useful wildcard matching for 'what-provides
modalias'.

-- 
Happy hacking
Petter Reinholdtsen

Reply via email to