[Matthias Klumpp]
>> Thanks.  What kind of versioned dependency should the package get?
>
> gir1.2-appstream >= 0.10
> That should do it :-)

Hm, perhaps better to make sure the code work both with new and old API,
to ease backporting?  What do you think about this approach:

diff --git a/isenkram/lookup.py b/isenkram/lookup.py
index d56bacc..9702b04 100644
--- a/isenkram/lookup.py
+++ b/isenkram/lookup.py
@@ -94,10 +94,15 @@ def pkgs_handling_appstream_modaliases(modaliaslist):
     thepkgs = {}
     gi.require_version('AppStream', '1.0')
     from gi.repository import AppStream
-    db = AppStream.Database()
-    db.open()
-
-    cpts = db.get_all_components()
+    try:
+        pool = AppStream.Pool()
+        pool.load()
+        cpts = pool.get_components()
+    except AttributeError:
+        # Handle old API too (before version 0.10)
+        db = AppStream.Database()
+        db.open()
+        cpts = db.get_all_components()
     ma_cpts = list()
     for cpt in cpts:
         provided = cpt.get_provided_for_kind(AppStream.ProvidedKind.MODALIAS)

When I run it in unstable I do not quite get the result I hoped for:

% python ./isenkram/lookup.py 
Locating packages supporting this hardware (AppStream):
./isenkram/lookup.py:181: Warning: g_object_unref: assertion 'G_IS_OBJECT 
(object)' failed
  for pkg in sorted(pkgs_handling_appstream_modaliases(hwaliases)):
./isenkram/lookup.py:181: Warning: g_object_get_qdata: assertion 'G_IS_OBJECT 
(object)' failed
  for pkg in sorted(pkgs_handling_appstream_modaliases(hwaliases)):
./isenkram/lookup.py:181: Warning: g_object_set_qdata_full: assertion 
'G_IS_OBJECT (object)' failed
  for pkg in sorted(pkgs_handling_appstream_modaliases(hwaliases)):
Locating packages supporting this hardware (extra, svn/local):
  bluez
  cheese
  fprintd
  fprintd-demo
  gkrellm-thinkbat
  hdapsd
  libpam-fprintd
  pidgin-blinklight
  thinkfan
  tleds
  tp-smapi-dkms
  tp-smapi-source
  tpb
Locating packages supporting this hardware (APT control field):
%

Any ideas what is wrong here?

PS: Please remember cc to bts.

-- 
Happy hacking
Petter Reinholdtsen

Reply via email to