HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/DistUpgrade/__pycache__/DistUpgradeMain.cpython-38.pyc
U

٪zce$�
@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m	Z	ddl
mZddlmZddddd	d
ddd
dg
Z
ddlmZdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�N)�datetime)�OptionParser)�gettextz/binz/bootz/etcz/initrdz/libz/lib32z/lib64z/sbinz/usrz/var�)�DistUpgradeConfigcCs�t�}|jddddtd�d�|jddd	d
d�|jdd
d	d�|jdd
dd�|jdddtd�d�|jdddtd�d�|jddd
d	td�d�|jdd	d
td�d�|jdd d!td"�d�|jd#d	d$d
td%�d&�|��S)'z/ setup option parser and parse the commandline �-cz--cdromZ	cdromPathNzAUse the given path to search for a cdrom with upgradable packages)�dest�default�helpz--have-prerequistsZhavePrerequists�
store_trueF)r�actionr	z--with-networkZwithNetwork)rrz--without-networkZstore_falsez
--frontend�frontendz_Use frontend. Currently available: 
DistUpgradeViewText, DistUpgradeViewGtk, DistUpgradeViewKDEz--mode�modeZdesktopz(*DEPRECATED* this option will be ignoredz	--partial�partialz:Perform a partial upgrade only (no sources.list rewriting))rr	rr
z--disable-gnu-screenzDisable GNU screen support)rr	r
z	--datadir�datadir�.zSet datadirz--devel-releaseZ
devel_releasez"Upgrade to the development release)rrr	r
)rZ
add_option�_�
parse_args)�parser�r�=/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeMain.py�do_commandline6sB��
�
�
��
��rc	
CsJ|�ddd�}tj�|�s$t�|�t�|d�r�t��}|d|j|j	|j
|j|jf}tj�|�spt�|�t�|d�D]"}t
�|tj�|tj�|���q~tj�|d�}|jr�|d7}t|d��W5QRXtjtj|d	d
d�t�d|j�t�d
d�t����tj�d�}|djj}t�d|�t�dtj�|S)z setup the logging ZFilesZLogDirz/var/log/dist-upgrade/z/*.logz/%04i%02i%02i-%02i%02izmain.logz.partial�az%%(asctime)s %(levelname)s %(message)s�w)�level�filename�format�filemodezUsing config files '%s'zuname information: '%s'� N�aptzapt version: '%s'zpython version: '%s') ZgetWithDefault�os�path�exists�mkdir�globr�nowZyearZmonthZdayZhourZminute�shutilZmove�join�basenamer�open�loggingZbasicConfig�DEBUG�infoZconfig_files�unamer�apt_pkgZCacheZcurrent_verZver_str�sys�version)	�options�config�logdirr%Z
backup_dir�f�fname�cacheZapt_versionrrr�
setup_loggingQs6
 
 
�r7c
Cs�zddlm}Wn tk
r0t�d�YdSXtj�|d�}t�d|�t�	d�}|�}|j
d|ddd	�t�	|�zLtjd
dgtj
dd���d
}ttj�|d�d��}|�|�W5QRXWn0tk
r�}zt�d|�W5d}~XYnXdS)Nr)�AptClonezfailed to import AptClonezapt-clone_system_state.tar.gzzcreating statefile: '%s'�6�/T)Z	sourcedir�targetZwith_dpkg_statusZ
scrub_sourcesZlspciz-nn��stdoutZuniversal_newlinesrz	lspci.txtrzlspci failed: %s)Z	apt_cloner8�ImportErrorr*�errorr r!r'�debug�umaskZ
save_state�
subprocess�Popen�PIPE�communicater)�write�OSError)r3r8r;Z	old_umaskZclone�sr4�errr�save_system_staters.


�
��rJc	Cs�|jg|�dd�D]�}|sqz<ddlm}|d|d�}t||�}|||jd�}Wq�Wqtk
r�}z&t�d||f�t	d||f�W5d	}~XYqXqt�
d
�t	d
�t�d�|S)z0 setup view based on the config and commandline ZViewr)�
import_modulerZDistUpgrade)r3rzcan't import view '%s' (%s)zcan't load %s (%s)Nz!No view can be imported, abortingr)
r
Zgetlist�	importlibrK�getattrr�	Exceptionr*Zwarning�printr?r/�exit)	r1r2r3Zrequested_viewrKZ
view_modulZ
view_class�instancerIrrr�
setup_view�s 

$

rRcCs�d}z0tjddgtjdd���d}t�d|�Wn tk
rTt�d�Yd	SX||kr~t�d
�t�	dddd
d|g�dtj
d<dddddd|gtj}t�d|�t�	d|�d	S)z� check if there is a upgrade already running inside gnu screen,
        if so, reattach
        if not, create new screen window
    z$ubuntu-release-upgrade-screen-windowZscreenz-lsTr<rzscreen returned: '%s'zscreen could not be runNz)found active screen session, re-attachingz/usr/bin/screenz-dz-rz-p�1�RELEASE_UPGRADER_NO_SCREENz-ez\0\0rZscreenrcz-Szre-exec inside screen: '%s')
rBrCrDrEr*r@rGr,r �execv�environr/�argv)Z
SCREENNAME�out�cmdrrr�%run_new_gnu_screen_window_or_reattach�s:��


��rZc	Cs�t�\}}t|j�}t||�}ddlm}t�d|�t�	d�|jdksV|jdkrtt
j�t
�
�d�}t�d|�t|||�}|jr�dt
jkr�|js�t�dd	lm}||||jd
�}t�|j�|jr�|��s�t�d�t�d�t|�|��r�dSdS)z
 main method r)�VERSIONz%release-upgrader version '%s' startedzubuntu-release-upgraderNrZmorT)�DistUpgradeController)rr)rrrr7ZDistUpgradeVersionr[r*r,r�
textdomainr r!r'�getcwd�bindtextdomainrRZneeds_screenrVZdisable_gnu_screenrZr\�atexit�registerZ_enableAptCronJobrZdoPartialUpgrader/rPrJ�run)	r1�argsr2r3r[Z	localedirZviewr\Zapprrr�main�s6



��

rd)rr`rr$r*r r&rBr/rZoptparserrZSYSTEM_DIRSZDistUpgradeConfigParserrrr7rJrRrZrdrrrr�<module>s:�
!!