+
    5‹œi"#  ã                   ó¢   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt . ROt^RIHt R tR tR tR	 tR
 tR tR# )é    N)Údatetime)ÚOptionParser)Úgettext)ÚDistUpgradeConfigc            	     ó¢  € \        4       p V P                  RRR\        R4      R7       V P                  RRR\        R	4      R7       V P                  R
RRR\        R4      R7       V P                  RRR\        R4      R7       V P                  RRR\        R4      R7       V P                  RRRR\        R4      R7       V P                  4       # )z.setup option parser and parse the commandline z
--frontendÚfrontendNz_Use frontend. Currently available: 
DistUpgradeViewText, DistUpgradeViewGtk, DistUpgradeViewKDE)ÚdestÚdefaultÚhelpz--modeÚmodeÚdesktopz(*DEPRECATED* this option will be ignoredz	--partialÚpartialFÚ
store_truez:Perform a partial upgrade only (no sources.list rewriting))r	   r
   Úactionr   z--disable-gnu-screenzDisable GNU screen support)r   r
   r   z	--datadirÚdatadirÚ.zSet datadirz--devel-releaseÚdevel_releasez"Upgrade to the development release)r   r	   r
   r   )r   Ú
add_optionÚ_Ú
parse_args)Úparsers    Ú=/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeMain.pyÚdo_commandliner   5   sþ   € ä‹^€FØ
×Ñ�l¨¸DÜð [ó \ð ô ]ð ×Ñ�h V°IÜÐGÓHð ô Jà
×Ñ�k¨	¸5Ø)ÜÐYÓZð ô \ð ×ÑÐ,°\Ø#ÜÐ9Ó:ð ô <ð ×Ñ�k¨	¸3Ü˜]Ó+ð ô -à
×ÑÐ'°Ø*°EÜÐAÓBð ô Dð ×ÑÓÐó    c           
     ó  € VP                  RRR4      p\        P                  P                  V4      '       g   \        P                  ! V4       \
        P
                  ! VR,           4      '       Ed   \        P                  ! 4       pVRVP                  VP                  VP                  VP                  VP                  3,          ,           p\        P                  P                  V4      '       g   \        P                  ! V4       \
        P
                  ! VR,           4       FU  p\        P                  ! V\        P                  P                  V\        P                  P!                  V4      4      4       KW  	  \        P                  P                  VR4      pV P"                  '       d
   VR,          p\%        VR4      ;_uu_ 4         R	R	R	4       \&        P(                  ! \&        P*                  VR
RR7       \&        P,                  ! RVP.                  ,          4       \&        P,                  ! RRP                  \        P0                  ! 4       4      ,          4       \2        P4                  P7                  R	4      pVR,          P8                  P:                  p\&        P,                  ! RV,          4       \&        P,                  ! R\<        P>                  ,          4       V#   + '       g   i     EL%; i)zsetup the logging ÚFilesÚLogDirz/var/log/dist-upgrade/z/*.logz/%04i%02i%02i-%02i%02izmain.logz.partialÚaNz%%(asctime)s %(levelname)s %(message)sÚw)ÚlevelÚfilenameÚformatÚfilemodezUsing config files '%s'zuname information: '%s'Ú Úaptzapt version: '%s'zpython version: '%s') ÚgetWithDefaultÚosÚpathÚexistsÚmkdirÚglobr   ÚnowÚyearÚmonthÚdayÚhourÚminuteÚshutilÚmoveÚjoinÚbasenamer   ÚopenÚloggingÚbasicConfigÚDEBUGÚinfoÚconfig_filesÚunamer%   Úapt_pkgÚCacheÚcurrent_verÚver_strÚsysÚversion)	ÚoptionsÚconfigÚlogdirr,   Ú
backup_dirÚfÚfnameÚcacheÚapt_versions	   &&       r   Úsetup_loggingrK   J   sá  € à×"Ñ" 7¨8Ð4LÓM€FÜ�7‰7�>‰>˜&×!Ò!Ü
�Š�Ôä‡y‚y�˜•×!Ó!Ü�lŠl‹nˆØÐ4¸¿¹ÀÇÁÈ3Ï7É7ÐSV×S[ÑS[Ð\_×\fÑ\fÐ7gÕgÕgˆ
Ü�w‰w�~‰~˜j×)Ò)Ü�HŠH�ZÔ Ü—’˜6 (�?Ö+ˆAÜ�KŠK˜œ2Ÿ7™7Ÿ<™<¨
´2·7±7×3CÑ3CÀAÓ3FÓGÖHñ ,ä�G‰G�L‰L˜ 
Ó+€Eà‡‡€Ø�ÕˆÜ	ˆe�S×	Õ	Ø÷ 
ä×ÒœgŸm™mØ!&ØFØ!$õ&ô ‡L‚LÐ*¨V×-@Ñ-@Õ@ÔAÜ‡L‚LÐ*¨S¯X©X´b·h²h³jÓ-AÕAÔBÜ�K‰K×Ñ˜dÓ#€EØ˜•,×*Ñ*×2Ñ2€KÜ‡L‚LÐ$ {Õ2Ô3Ü‡L‚LÐ'¬#¯+©+Õ5Ô6Ø€M÷ 
×	Ð	ús   ÇK-Ë-K>	c                 ó  €  ^ RI Hp \
        P                  P                  T R4      p\        P                  ! RT,          4       \
        P                  ! ^64      pT! 4       pTP                  RTRRR7       \
        P                  ! T4        \        P                  ! R	R
.\        P                  RR7      P                  4       ^ ,          p\        \
        P                  P                  T R4      R4      ;_uu_ 4       pTP!                  T4       RRR4       R#   \         d    \        P                  ! R4        R# i ; i  + '       g   i     R# ; i  \"         d)   p\        P                  ! RT,          4        Rp?R# Rp?ii ; i)r   )ÚAptClonezfailed to import AptCloneNzapt-clone_system_state.tar.gzzcreating statefile: '%s'Ú/T)Ú	sourcedirÚtargetÚwith_dpkg_statusÚscrub_sourcesÚlspciz-nn©ÚstdoutÚuniversal_newlinesz	lspci.txtr   zlspci failed: %s)Ú	apt_clonerM   ÚImportErrorr7   Úerrorr'   r(   r4   ÚdebugÚumaskÚ
save_stateÚ
subprocessÚPopenÚPIPEÚcommunicater6   ÚwriteÚOSError)rE   rM   rP   Ú	old_umaskÚcloneÚsrG   Úes   &       r   Úsave_system_staterg   k   s)  € ðÝ&ô �W‰W�\‰\˜&Ð"AÓB€FÜ‡M‚MÐ,¨vÕ5Ô6ô —’˜Ó €IÙ‹J€EØ	×Ñ˜s¨6ÀDØð ô ô ‡H‚HˆYÔð.Ü
×
Ò
˜G E˜?´:·?±?Ø.2ô4ß4?±K³MÀ!õEˆä”"—'‘'—,‘,˜v {Ó3°S×9Ô9¸QØ�G‰G�AŒJ÷ :Ñ9øô# ô Ü�ŠÐ1Ô2Úðú÷" :×9Ð9ûäô .Ü�ŠÐ(¨1Õ,×-Ò-ûð.úsH   ‚D ÂA0E Ã>EÄE Ä!D?Ä>D?ÅE	ÅE ÅE ÅF	Å!FÆF	c           	     óâ  € V P                   .VP                  RR4      ,            FC  pV'       g   K   ^ RIHp V! RV,           R4      p\	        WS4      pV! W P
                  R7      p V# 	  \        P                  ! R4       \        R4       \        P                  ! ^4       X#   \         d?   p\        P                  ! RT: RT: R24       \        R	T: R
T: R24        Rp?KÄ  Rp?ii ; i)z/setup view based on the config and commandline ÚView)Úimport_moduler   ÚDistUpgrade)rE   r   zcan't import view 'z' (Ú)zcan't load z (Nz!No view can be imported, aborting)r   ÚgetlistÚ	importlibrj   Úgetattrr   Ú	Exceptionr7   ÚwarningÚprintrY   rA   Úexit)	rC   rD   rE   Úrequested_viewrj   Ú
view_modulÚ
view_classÚinstancerf   s	   &&&      r   Ú
setup_viewrx   …   sÉ   € ð #×+Ñ+Ð,¨V¯^©^¸FÀ6Ó-J×JÐJˆßÙð	>å/á& s¨>Õ'9¸=ÓIˆJô ! Ó<ˆJÙ!¨¿¹ÔIˆHØð €Oñ) Kô" 	�ŠÐ9Ô:ÜÐ1Ô2Ü�Š�ŒØ€Oøô ô 	>Ü�O‹O»^ËAÐNÔOÝ«.»!Ð<×=Ò=ûð	>ús   ³4B%Â%C.Â03C)Ã)C.c                 óL  € Rp  \         P                  ! RR.\         P                  RR7      P                  4       ^ ,          p\        P
                  ! RV,          4       Y9   d3   \        P                  ! R	4       \        P                  ! R
RRRRT .4       R\        P                  R&   RRRRRRT .\        P                  ,           p\        P                  ! RT,          4       \        P                  ! R
T4       R#   \         d    \        P                  ! R4        R# i ; i)zpcheck if there is a upgrade already running inside gnu screen,
if so, reattach
if not, create new screen window
z$ubuntu-release-upgrade-screen-windowÚscreenz-lsTrT   zscreen returned: '%s'zscreen could not be runNz)found active screen session, re-attachingz/usr/bin/screenz-dz-rz-pÚ1ÚRELEASE_UPGRADER_NO_SCREENz-ez\0\0z-cÚscreenrcz-Szre-exec inside screen: '%s')r]   r^   r_   r`   r7   rZ   rb   r:   r'   ÚexecvÚenvironrA   Úargv)Ú
SCREENNAMEÚoutÚcmds      r   Ú%run_new_gnu_screen_window_or_reattachr„   Ÿ   sü   € ð
 8€JðÜ×ÒØ�eÐ¤Z§_¡_Ø#ô%ç%0¡[£]°1õ6ˆô 	�ŠÐ-°Õ3Ô4ð
 ÔÜ�ŠÐ@ÔAä
�ŠÐ" h°°d¸DÀ*Ð%MÔNà-0„B‡J�JÐ+Ñ,ð Ø�Ø�Ø�ðô !ŸX™Xõ&€Cô ‡L‚LÐ.°Õ4Ô5Ü‡H‚HÐ Ö$øô% ô Ü�ŠÐ.Ô/Úðús   „AC> Ã>!D#Ä"D#c                 óÀ  € \        4       w  r\        V P                  4      p\        W4      p^RIHp \        P                  ! RV,          4       \        P                  ! R4       V P                  e   V P                  R8X  dK   \        P                  P                  \        P                  ! 4       R4      p\        P                  ! RV4       \        WV4      pVP                   '       d2   R\        P"                  9   g   V P$                  '       g   \'        4        \        P(                  ! R4      '       g   R\        P"                  R&   ^R	IHp V! W`V P                  R
7      pV P,                  '       dC   VP/                  4       '       g   \0        P2                  ! ^4       \0        P2                  ! ^ 4       \5        V4       VP7                  4       '       d   ^ # ^# )zmain method )ÚVERSIONz%release-upgrader version '%s' startedzubuntu-release-upgraderr   Úmor|   ÚNEEDRESTART_SUSPENDÚy)ÚDistUpgradeController)r   )r   r   r   rK   ÚDistUpgradeVersionr†   r7   r:   r   Ú
textdomainr'   r(   r4   ÚgetcwdÚbindtextdomainrx   Úneeds_screenr   Údisable_gnu_screenr„   ÚgetenvrŠ   r   ÚdoPartialUpgraderA   rs   rg   Úrun)	rC   ÚargsrD   rE   r†   Ú	localedirÚviewrŠ   Úapps	            r   Úmainr˜   À   sE  € ô %Ó&�O€WÜ˜wŸ™Ó/€FÜ˜7Ó+€Få+Ü‡L‚LÐ8¸7ÕBÔCä×ÒÐ0Ô1Ø‡�Ò '§/¡/°SÔ"8Ü—G‘G—L‘L¤§¢£¨dÓ3ˆ	Ü×ÒÐ8¸)ÔDô �g vÓ.€Dð 	××ÐØ(¬B¯J©JÔ6Ø×&×&Ð&Ü-Ô/ô �9Š9Ð*×+Ò+Ø,/Œ�
‰
Ð(Ñ)å<Ù
 °w·±Ô
G€Cð ‡‡€Ø×#Ñ#×%Ò%Ü�HŠH�QŒKÜ�Š�Œô �fÔð ‡w�w‡y‚yÙÙr   )
z/binz/bootz/etcz/initrdz/libz/lib32z/lib64z/sbinz/usrz/var)r%   r   r+   r7   r'   r2   r]   rA   r   Úoptparser   r   ÚSYSTEM_DIRSÚDistUpgradeConfigParserr   r   rK   rg   rx   r„   r˜   © r   r   Ú<module>r�      sT   ðó, Û Û Û Û 	Û Û Û 
å Ý !Ý  ò
€õ 7òò*òB.ò4ò4%ôB-r   