File: //usr/lib/python3/dist-packages/apport/__pycache__/report.cpython-312.pyc
�
j�8d� � � � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZ e
j. dkD rdZddlmZ ddlmZ ddlmZ eef nd ZddlmZ ddlmZ e Zddl!Z!ddl"Z"ddl#Z"dd
l$m%Z& ddl'm(Z( ejR jU dd
� Z+de+z Z,de+z Z-dZ.dZ/dZ0dZ1g d�Z2d� Z3d!d�Z4d!d�Z5d� Z6d!d�Z7d� Z8d� Z9d� Z:d� Z;d� Z< G d� d e!jz � Z>y)"z;Representation of and data collection for a problem report.� N)�
ExpatError�3F)�URLError)�urlopen)�unquoteT)�impl)�kill_pkttyagent�APPORT_DATA_DIRz/usr/share/apportz%s/package-hooks/z%s/general-hooks/z/optz~/.apport-ignore.xmlz/etc/apport/blacklist.dz/etc/apport/whitelist.d)�sh�bash�dash�csh�tcshzpython*zruby*�phpzperl*zmono*�awkc �� � t j | � t j | � D ]$ }||vs�|j |� t ||� �& y# t $ r Y yw xY w)z7Recursively add dependencies of package to depends_set.N)� packaging�get_version�
ValueError�get_dependencies�add�_transitive_dependencies)�package�depends_set�ds �//usr/lib/python3/dist-packages/apport/report.pyr r 9 s^ � �����g�&� �
'�
'��
0���K���O�O�A��$�Q��4� 1�� � ���s �A � A �A c �v � t s|�t j | |�� S t j d|�d| ��� S )zrUse readlink() to resolve link.
Return a string representing the path to which the symbolic link points.
��dir_fd�/proc/�/)�_python2�os�readlink)�path�pidr s r �_read_proc_linkr'