=== modified file 'debian/changelog' --- debian/changelog 2010-02-24 01:14:11 +0000 +++ debian/changelog 2010-02-25 15:42:17 +0000 @@ -1,3 +1,12 @@ +rhythmbox (0.12.6git20100223-0ubuntu2) lucid; urgency=low + + * debian/source_rhythmbox.py: + - apport hook for rhythmbox (lp: #525888) + * debian/rhythmbox.install: + - update to install apport hook + + -- Nigel Babu Thu, 25 Feb 2010 09:49:44 +0530 + rhythmbox (0.12.6git20100223-0ubuntu1) lucid; urgency=low * New git snapshot: === modified file 'debian/rhythmbox.install' --- debian/rhythmbox.install 2010-02-16 17:22:09 +0000 +++ debian/rhythmbox.install 2010-02-25 15:42:17 +0000 @@ -1,4 +1,5 @@ debian/rhythmbox-small.xpm usr/share/pixmaps +debian/source_rhythmbox.py usr/share/apport/package-hooks debian/tmp/usr/share debian/tmp/usr/bin debian/tmp/usr/lib/rhythmbox/rhythmbox-metadata === added file 'debian/source_rhythmbox.py' --- debian/source_rhythmbox.py 1970-01-01 00:00:00 +0000 +++ debian/source_rhythmbox.py 2010-02-25 15:42:17 +0000 @@ -0,0 +1,38 @@ +import os +import re + +import apport.packaging +import apport.hookutils + +def mask_string (str): + MASK = '##MASKED##' + return str.group(1) + MASK + +def mask_values(gconfinfo): + """ strip personal/private information from the GConf entries """ + pattrn = re.compile ('((add_dir|library_locations|download_prefix|share_password|share_name|username|password)=)(.*)$', + re.IGNORECASE) + newReport = "" + for line in gconfinfo.splitlines(): + line = pattrn.sub (mask_string, line) + newReport += line + '\n' + return newReport + +def add_info(report, ui): + + response = ui.choice("How would you describe the issue?", ["The rhythmbox interface is not working correctly", "No sound is being played", "Some audio files are not being played correctly"], False) + + if response == None: # user cancelled + raise StopIteration + if response[0] == 0: # an issue about rhythmbox interface + apport.hookutils.attach_gconf(report, 'rhythmbox') + report['GConfNonDefault'] = mask_values(report['GConfNonDefault']) + if response[0] == 1: # the issue is a sound one + os.execlp('apport-bug', 'apport-bug', 'audio') + if response[0] == 2: # the issue is a codec one + report.add_package_info("libgstreamer0.10-0") + return + + report["LogAlsaMixer"] = apport.hookutils.command_output(["/usr/bin/amixer"]) + report["GstreamerVersions"] = apport.hookutils.package_versions("gstreamer*") + report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log")