�
)uyc�K � �: � d Z ddlZddlZddlZddlZddlZddlmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZ ddlmZ n# e$ r
dZesd� ZY nw xY wddlmZmZmZ dd lmZ dd
lm Z dZ!dZ"g d
�Z#dZ$g d�Z%dZ&dZ'dZ(dZ) G d� de� � Z* G d� de+� � Z, G d� de,� � Z- G d� de,� � Z. G d� de� � Z/e0dk rP e/ej1 d � � � Z2e2j3 �4 � � Z4 e5e4�6 d� � � � dS dS )!zX Representation of Debian binary package (.deb) files
Debfile Classes
===============
� N)�Path)�Any�BinaryIO�Dict�IO�Iterator�List�Optional�Text�TypeVar�Union�overload�
TYPE_CHECKING)�LiteralFc � � d S �N� )�fs �0/usr/lib/python3/dist-packages/debian/debfile.py�<lambda>r 9 s � �T� � )�ArFile�ArError�ArMember)� Changelog)�Deb822zdata.tarzcontrol.tar)�gz�bz2�xz�lzma�zstz
debian-binary)�preinst�postinst�prerm�postrm�config�controlzusr/share/doc/%s/changelog.gzz$usr/share/doc/%s/changelog.Debian.gz�md5sumsc � � e Zd ZdS )�DebErrorN��__name__�
__module__�__qualname__r r r r* r* M s � � � � � ��Dr r* c �� � e Zd ZdZd� Zd� Zed� � � Zd� Zdd�Z e
dd �� � Ze
dd
�� � Zdd�Ze
dd�� � Ze
dd
�� � Z dd�Zd� Z
d� Zd� Zd� ZdS )�DebParta� 'Part' of a .deb binary package.
A .deb package is considered as made of 2 parts: a 'data' part
(corresponding to the possibly compressed 'data.tar' archive embedded
in a .deb) and a 'control' part (the 'control.tar.gz' archive). Each of
them is represented by an instance of this class. Each archive should
be a compressed tar archive although an uncompressed data.tar is permitted;
supported compression formats are: .tar.gz, .tar.bz2, .tar.xz .
When referring to file members of the underlying .tar.gz archive, file
names can be specified in one of 3 formats "file", "./file", "/file". In
all cases the file is considered relative to the root of the archive. For
the control part the preferred mechanism is the first one (as in
deb.control.get_content('control') ); for the data part the preferred
mechanism is the third one (as in deb.data.get_file('/etc/vim/vimrc') ).
c �" |