%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 14.207.165.8 / Your IP : 216.73.216.101 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/usr/share/apport/general-hooks/ |
Upload File : |
'''
Determine rudimentary package and version information for click packages to
enable bucketing on the Error Tracker.
Copyright (C) 2014 Canonical Ltd.
Author: Brian Murray <brian@canonical.com>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See http://www.gnu.org/copyleft/gpl.html for
the full text of the license.
'''
import subprocess
def add_info(report, ui):
exec_path = report.get('ExecutablePath')
if not exec_path:
return
if not exec_path.startswith('/opt/click.ubuntu.com') and \
not exec_path.startswith('/usr/share/click/preinstalled'):
return
# indicate that the crash is from a click package so the Error Tracker
# will not ask for a core dump
report['ClickPackage'] = "True"
click_info = subprocess.Popen(['click', 'info', exec_path],
stdout=subprocess.PIPE,
universal_newlines=True)
out = click_info.communicate()[0]
for line in out.splitlines():
if 'name' in line:
package = line.strip(' ,').split(': ')[1]
package = package.replace('"', '')
if 'version' in line:
version = line.strip(' ,').split(': ')[1]
version = version.replace('"', '')
if 'architecture' in line:
pkg_arch = line.strip(' ,').split(': ')[1]
pkg_arch = pkg_arch.replace('"', '')
report['Package'] = '%s %s' % (package, version)
report['SourcePackage'] = package
report['PackageArchitecture'] = pkg_arch