�
\�e�� � �� � d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl
Z
ddlZddlmZ
ddlZ G d� de� Z G d � d
� Z G d� de� Zdd
�Zedk( r e� yy)z;Classes for working with locally available Debian packages.� N)�Iterable)�BytesIO)�cast)�gettextc � � e Zd ZdZy)�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 � �Cr r c � � e Zd ZdZ ed� \ ZZZZdZ d9de
dz dej dz ddfd�Z
de
ddfd �Zd
e
de
fd�Zd
e
defd�Zedee
fd
�� Zedee
fd�� Z d:de
dede
fd�Zdeee
e
e
f defd�Zdeee
e
e
f defd�Zde
de
de
defd�Zdeee
e
e
f defd�Zedeeee
e
e
f fd�� Zedeeee
e
e
f fd�� Zedeeee
e
e
f fd�� Zedeeee
e
e
f fd�� Zde
de
de
defd�Z defd�Z!defd�Z"d;d ede#fd!�Z$d:d"edefd#�Z%d$e
defd%�Z&d&eeee
e
e
f defd'�Z'edee
fd(�� Z(edeee
ee
ee
f fd)�� Z)e*d*e
de
fd+�� Z+e*d*e
e,e# z de
fd,�� Z- d<d-e.j^ d.e
d/ed0ede
f
d1�Z0d.e
de
fd2�Z1d.e
de
fd3�Z2d4e#d5e
ddfd6�Z3 d=d7ejh jj jl dz de#fd8�Z7y)>�
DebPackagezA Debian Package (.deb file).� r N�filename�cache�returnc � � |�t j � }|| _ t t j
d � | _ d| _ d | _ i | _ g | _
d| _ d| _ d | _
|r| j |� y y )N� F)�apt�Cache�_cacher �apt_inst�DebFile�_debfile�pkgnamer � _sections�
_need_pkgs�_check_was_run�_failure_string�
_multiarch�open��selfr r s r �__init__zDebPackage.__init__0 sv � � �=��I�I�K�E�����X�-�-�t�4��
����$(��
�CE���%'���#���!���&*�����I�I�h�� r c �r � | j dd|z � g | _ t � | _ d| _ || _ t
j | j
� | _ | j j j d� }t j |� | _
| j d | _ d| _ y)zopen given debfile� z open '%s'r �control�PackageFN)�_dbgr �set�_installed_conflictsr" |