/usr/share/apport/package-hooks/udisks.py is in udisks 1.0.4-5ubuntu2.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | '''apport package hook for udisks
(c) 2009 Canonical Ltd.
Author: Martin Pitt <martin.pitt@ubuntu.com>
'''
import os
import os.path
import apport.hookutils
import dbus
UDISKS = 'org.freedesktop.UDisks'
def add_info(report):
apport.hookutils.attach_hardware(report)
user_rules = []
for f in os.listdir('/etc/udev/rules.d'):
if not f.startswith('70-persistent-') and f != 'README':
user_rules.append(f)
if user_rules:
report['CustomUdevRuleFiles'] = ' '.join(user_rules)
report['UDisksDump'] = apport.hookutils.command_output(['udisks', '--dump'])
report['Mounts'] = apport.hookutils.command_output(['mount'])
# grab SMART blobs
dkd = dbus.Interface(dbus.SystemBus().get_object(UDISKS,
'/org/freedesktop/UDisks'), UDISKS)
for d in dkd.EnumerateDevices():
dev_props = dbus.Interface(dbus.SystemBus().get_object(UDISKS, d),
dbus.PROPERTIES_IFACE)
blob = dev_props.Get(UDISKS, 'DriveAtaSmartBlob')
if len(blob) > 0:
report['AtaSmartBlob_' + os.path.basename(d)] = ''.join(map(chr, blob))
if __name__ == '__main__':
r = {}
add_info(r)
for k, v in r.iteritems():
print '%s: "%s"' % (k, v)
|