| Server IP : 192.241.186.36 / Your IP : 216.73.216.164 Web Server : Apache/2.4.29 (Ubuntu) System : Linux webserver7 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 UTC 2022 x86_64 User : root ( 0) PHP Version : 7.4.32 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /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