--- /dev/null
+#!/usr/bin/python
+
+import sys
+import re
+import guestfs
+
+assert (len (sys.argv) == 2)
+disk = sys.argv[1]
+
+g = guestfs.GuestFS ()
+g.add_drive_opts (disk, readonly=1)
+g.launch ()
+
+roots = g.inspect_os ()
+if len (roots) == 0:
+ raise (Error ("inspect_vm: no operating systems found"))
+
+for root in roots:
+ mps = g.inspect_get_mountpoints (root)
+ def compare (a, b):
+ if len(a[0]) > len(b[0]):
+ return 1
+ elif len(a[0]) == len(b[0]):
+ return 0
+ else:
+ return -1
+ mps.sort (compare)
+ for mp_dev in mps:
+ try:
+ g.mount_ro (mp_dev[1], mp_dev[0])
+ except RuntimeError as msg:
+ print "%s (ignored)" % msg
+
+ apps = g.inspect_list_applications (root)
+ for app in apps:
+ if re.search ('firefox', app['app_name'], re.I):
+ print ("'%s' version: %s" % (app['app_name'], app['app_version']))
+
+ g.umount_all ()