o
    >I¼có  ã                   @   sÜ  d dl Z d dlZd dlZd dlZd dlZdZefdd„Zefdd„Zedkrêe 	¡ d ks5e
dƒ e  d	¡ d
e jd < ejejddd e de jd   ¡ ej e¡s]e d¡ e  d ¡ ej e¡d krte d¡ e e¡ e  d ¡ ed e d¡ Ze de ¡ e ee¡ dZzdd„ edƒD ƒZW n eyª   e d¡ e  d ¡ Y nw eD ]
Zedkr·dZ nq­esìeeƒ"Zde ¡ v rØe de ¡ edƒ W d  ƒ dS W d  ƒ dS 1 sãw   Y  dS dS dS )é    Nz/etc/X11/xorg.confc              	   C   sd  t j |¡st d| ¡ dS g }t|ƒ?}|D ]4}| d¡d  ¡ }| ¡  	d¡rG| 
d|  ¡rGt d| ¡  ¡ d| }t d	| ¡  ¡ | |¡ qW d  ƒ n1 sWw   Y  t|ƒH}| ¡ |kr t d
|| |f ¡ t|d dƒ}| d |¡¡ W d  ƒ n1 s‹w   Y  t  |d |¡ W d  ƒ dS W d  ƒ dS 1 s«w   Y  dS )zf
    this removes old_driver driver from the xorg.conf and substitutes it with
    the new_driver
    úfile %s not foundNú#r   Údriverú"%s"úline '%s' foundz	Driver	"%s"
úreplacing with '%s'zsaving new %s (%s -> %s)ú	.xorg_fixÚwÚ ©ÚosÚpathÚexistsÚloggingÚwarningÚopenÚsplitÚstripÚlowerÚ
startswithÚendswithÚdebugÚrstripÚappendÚ	readlinesÚinfoÚwriteÚjoinÚrename)Ú
old_driverÚ
new_driverÚxorgÚcontentÚ	xorg_fileÚlineÚsÚxorg_fix_file© r'   úB/usr/lib/python3/dist-packages/DistUpgrade/xorg_fix_proprietary.pyÚreplace_driver_from_xorg   s8   
ÿ÷ÿ
ÿÿú"ÿr)   c              	   C   sb  t j |¡st d| ¡ dS g }t|ƒ?}|D ]4}| d¡d  ¡ }| ¡  	d¡rG| 
d|  ¡rGt d| ¡  ¡ d| }t d	| ¡  ¡ | |¡ qW d  ƒ n1 sWw   Y  t|ƒG}| ¡ |krŸt d
|| f ¡ t|d dƒ}| d |¡¡ W d  ƒ n1 sŠw   Y  t  |d |¡ W d  ƒ dS W d  ƒ dS 1 sªw   Y  dS )z3
    this comments out a driver from xorg.conf
    r   Nr   r   r   r   r   z#%sr   zsaving new %s (commenting %s)r   r	   r
   r   )r   r!   r"   r#   r$   r%   r&   r'   r'   r(   Úcomment_out_driver_from_xorg.   s8   
ÿ÷ÿ
ÿÿú"ÿr*   Ú__main__zNeed to run as rooté   z/usr/bin/do-release-upgradez$/var/log/dist-upgrade/xorg_fixup.logr	   )ÚlevelÚfilenameÚfilemodez
%s runningzNo xorg.conf, exitingz xorg.conf is zero size, removingz.dist-upgrade-z
%Y%m%d%H%Mzcreating backup '%s'Fc                 C   s   g | ]}|  ¡ d  ‘qS )r   )r   )Ú.0r$   r'   r'   r(   Ú
<listcomp>l   s    r1   z/proc/moduleszCan't read /proc/modulesÚnvidiaTzRemoving nvidia from %s)Úsysr   r   ÚtimeÚshutilÚ	XORG_CONFr)   r*   Ú__name__ÚgetuidÚprintÚexitÚargvÚbasicConfigÚDEBUGr   r   r   ÚgetsizeÚremoveÚstrftimeÚbackupr   Úcopyr2   r   ÚmodsÚIOErrorÚmÚxorg_conf_fileÚreadr'   r'   r'   r(   Ú<module>   sd   

þ





þþ

ý"ÿÕ*