Mini Shell
3
Z��e[L � @ s� d dl mZ d dlmZ d dlmZmZmZ d dlm Z d dl
mZ d dlm
Z
d dlmZmZ d dlmZ d d lmZ d d
lmZ d dlmZmZ d dlmZ d d
lmZ d dlmZ d dl m!Z!m"Z" d dl#m$Z$ d dl%m&Z&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 d dl3Z3d dl4Z4d dl5Z5d dl6m7Z7 d dl8m9Z9 e9e:�Z;dddgZ<d-dd�Z=d d!� Z>d"d#� Z?G d$d%� d%e7�Z@G d&d'� d'eA�ZBG d(d� de�ZCG d)d� de�ZDG d*d� de�ZEd+d,� ZFdS ).� )�util)�conf)�ANACONDA_CLEANUP�THREAD_STORAGE�QUIT_MESSAGE)�DEVICE_TREE)�STORAGE)�MountFilesystemError)�OSData�DeviceFormatData)�
sync_run_task)� threadMgr)�flags)�_�N_)�runPostScripts)�tui_quit_callback)�NormalTUISpoke)� KS_REBOOT�KS_SHUTDOWN)�App)�YesNoDialog�PasswordDialog)�ListColumnContainer)�Prompt)�
InputState)�
ScreenHandler)�
TextWidget�CheckboxWidgetN)�Enum)�get_module_logger�RescueModeSpoke�RootSelectionSpoke�RescueStatusAndShellSpoke� c C s� t jdt j�r*tdd�}|j� }|j� nd}y(t| d d�}|rL|j|� |j� W n. tk
r� } ztj d|� W Y dd}~X nX dS )zMake the fs tab.z/proc/mounts�rr$ z
/etc/fstab�azfailed to write /etc/fstab: %sN)
�os�access�R_OK�open�read�close�write�IOError�log�info)�instPath�f�buf�e� r5 �/usr/lib64/python3.6/rescue.py� makeFStab7 s
r7 c C s� t jjrdS tjdtj�sdS tjd| f tj�rTtd| f d�}|j� }|j� nd}|j d�d
krjdS tdd�}|j� }|j� |j d�dkr�dS t
jd| f d| f � td| f d �}|j|� |j� dS )z(Make the resolv.conf file in the chroot.Nz/etc/resolv.confz%s/etc/resolv.confr% r$ Z
nameserver� z%s/etc/resolv.conf.bakzw+���r9 )
r �target�is_imager'