�
�xkd� � � � d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl m
Z
mZmZm
Z
mZmZmZmZ ddlmZ ddlmZ G d� de� � Z G d � d
e� � Z G d� de� � Zd
� Zedk r e� � dS dS )z;Classes for working with locally available Debian packages.� )�print_functionN)�Dict�Iterable�List�Optional�Set�Tuple�Union�cast)�gettext)�BytesIOc � � e Zd ZdZdS )�NoDebArchiveExceptionz9Exception which is raised if a file is no Debian archive.N)�__name__�
__module__�__qualname__�__doc__� � �-/usr/lib/python3/dist-packages/apt/debfile.pyr r # s � � � � � �C�C�C�Cr r c � � e Zd ZdZ ed� � \ ZZZZdZ d&d�Z
d� Zd� Zd� Z
ed � � � Zed
� � � Zd'd�Zd
� Zd� Zd� Zd� Zed� � � Zed� � � Zed� � � Zed� � � Zd� Zd� Zd� Zd(d�Zd'd�Zd� Zd� Z ed� � � Z!ed� � � Z"e#d� � � Z$e#d � � � Z%d)d!�Z&d"� Z'd#� Z(d$� Z)d*d%�Z*dS )+�
DebPackagezA Debian Package (.deb file).� r Nc � � |�t j � � }|| _ t t j d � � | _ d| _ d | _ i | _ g | _
d| _ d| _ d | _
|r| � |� � d S d S )N� F)�apt�Cache�_cacher �apt_inst�DebFile�_debfile�pkgname�filename� _sections�
_need_pkgs�_check_was_run�_failure_string�
_multiarch�open��selfr# �caches r �__init__zDebPackage.__init__0 s� � ��=��I�K�K�E�����X�-�t�4�4��
������
��
�� ���#���!������� ��I�I�h������ � r c �f � | � dd|z � � g | _ t � � | _ d| _ || _ t
j | j � � | _ | j j �
d� � }t j |� � | _
| j
d | _ d| _ dS )zopen given debfile� z open '%s'r �control�PackageFN)�_dbgr% �set�_installed_conflictsr' |