File: //usr/lib/python3/dist-packages/DistUpgrade/__pycache__/apt_clone.cpython-310.pyc
o
\�Ha�� � @ s� d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZd dlmZmZ dejv rgej�dd� ej�dd� G d d
� d
e�ZG dd� de�ZdS )
� )�print_functionN)�FetchFailedException)�BytesIO�open�APT_CLONE_DEBUG_RESOLVERzDebug::pkgProblemResolver�1zDebug::pkgDepCache::AutoInstallc @ sF e Zd ZdZdZdd� Zdd� Zddd �Zd
d� Zdd
� Z dd� Z
dS )�LowLevelCommandszN calls to the lowlevel operations to install debs
or repack a deb
z/usr/bin/dpkg-repackc C sF |sdS ddg}|dkr|� dd� |� d|� t�|| �}|dkS )NT�dpkgz-i�/r �chroot� )�insert�
subprocess�call)�self�debfiles� targetdir�install_cmd�ret� r �7/usr/lib/python3/dist-packages/DistUpgrade/apt_clone.py�install_debs3 s zLowLevelCommands.install_debsc C sh t j�| j�std| j ��| jg}t �� dks&t j�d�s dS ddg| }tj||g |d�}|dkS )z$ dpkg-repack pkgname into targetdir z
no '%s' foundr z/usr/bin/fakerootN�fakerootz-u)�cwd)�os�path�exists�dpkg_repack�IOError�getuidr r )r �pkgnamer �
repack_cmdr r r r �
repack_deb= s zLowLevelCommands.repack_debNc C s, |d u r
t �� d }t�d||g�}|dkS )N�CODENAME�debootstrapr )�lsb_release�get_distro_informationr r )r r �distror r r r r$ I s zLowLevelCommands.debootstrapc C s t �dd|d|g�}|dkS )Nzapt-keyz --keyring�addr �r r )r �fromkeyfile�intokeyfiler r r r �
merge_keysO s
�zLowLevelCommands.merge_keysc C s t �dd||g�}|dkS )N�mountz--bindr r) )r �olddir�newdirr r r r �
bind_mountT s zLowLevelCommands.bind_mountc C s t �d|g�}|dkS )N�umountr r) )r �binddirr r r r �bind_umountX s zLowLevelCommands.bind_umount�N)�__name__�
__module__�__qualname__�__doc__r r r"