ó
    x[h‚  ã                   ó®   • S SK r S SKJrJrJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  \ R                  " \5      r " S S\R"                  5      rS	 rS
 rg)é    N)ÚdistrosÚhelpersÚsubpÚutil)ÚPackageList)ÚHostnameConf)ÚSysConf)ÚPER_INSTANCEc                   óž   • \ rS rSrSrS/rSrSrSrSr	Sr
S	S
SSSS.S.0rSrS rSS jrS rSS jrS rS rSS jrS\4S jrSS.S jrSrg) ÚDistroé   z/etc/locale.confÚ	systemctlz/etc/sysconfig/networkz/etc/systemd/resolved.confz/etc/localtimez/var/lib/NetworkManagerzdhclient-[\w-]+\.leaseÚ	sysconfigzetc/sysconfig/networkz'%(base)s/network-scripts/ifcfg-%(name)sz'%(base)s/network-scripts/route-%(name)sz(%(base)s/network-scripts/route6-%(name)s)Úipv4Úipv6)ÚcontrolÚiface_templatesÚroute_templatesFc                 ó    • [         R                  R                  XX#5        [        R                  " U5      U l        SU l        SU l        SUS'   g )NÚaosczen_US.UTF-8ÚsshdÚssh_svcname)r   r   Ú__init__r   ÚRunnersÚ_runnerÚosfamilyÚdefault_locale)ÚselfÚnameÚcfgÚpathss       Ú8/usr/lib/python3/dist-packages/cloudinit/distros/aosc.pyr   ÚDistro.__init__(   s?   € Ü�‰×Ñ ¨CÔ7Ü—’ uÓ-ˆŒØˆŒØ+ˆÔØ#ˆˆMÒó    Nc                 óH   • U(       d  U R                   nSU0n[        X#5        g )NÚLANG)Úsystemd_locale_conf_fnÚupdate_locale_conf)r   ÚlocaleÚout_fnÚ
locale_cfgs       r"   Úapply_localeÚDistro.apply_locale/   s&   € ÞØ×0Ñ0ˆFà�Fð
ˆ
ô 	˜6Õ.r$   c                 ó²  • UR                  S5      (       a=  [        S5      nUR                  U5        [        R                  " U[        U5      S5        [        R                  " U R                  SS5      nU(       a#  [        R                  " SS[        U5      /5        g [        R                  " SSS[        U5      /5        [        R                  S	5        g )
Nú/previous-hostnameÚ é¤  Úcreate_hostname_fileTÚhostnamectlzset-hostnamez--transientz7create_hostname_file is False; hostname set transiently)Úendswithr   Úset_hostnamer   Ú
write_fileÚstrÚget_cfg_option_boolÚ_cfgr   ÚLOGÚinfo)r   ÚhostnameÚfilenameÚconfr2   s        r"   Ú_write_hostnameÚDistro._write_hostname7   s©   € Ø×ÑÐ1×2Ñ2Ü Ó#ˆDØ×Ñ˜hÔ'Ü�OŠO˜H¤c¨$£i°Ô7Ü#×7Ò7Ø�I‰IÐ-¨tó 
Ðö  Ü�IŠI�} n´c¸(³mÐDÕEä�IŠIà!Ø"Ø!Ü˜“Mð	ôô �H‰HÐNÕOr$   c                 óð   • UR                  S5      (       a$  [        R                  " U5      R                  5       $ [        R                  " S/5      u  p4UR                  5       n[        U5      (       a  U$ U$ )Nr/   r<   )r4   r   Úload_text_fileÚstripr   Úlen)r   r=   ÚdefaultÚoutÚ_errs        r"   Ú_read_hostnameÚDistro._read_hostnameL   s^   € Ø×ÑÐ1×2Ñ2Ü×&Ò& xÓ0×6Ñ6Ó8Ð8Ü—i’i  Ó-‰ˆØ�i‰i‹kˆÜˆs�8‰8ØˆJàˆNr$   c                 óT   • U R                  U R                  5      nU R                  U4$ ©N)rH   Úhostname_conf_fn)r   Úsys_hostnames     r"   Ú_read_system_hostnameÚDistro._read_system_hostnameV   s)   € Ø×*Ñ*¨4×+@Ñ+@ÓAˆØ×%Ñ% |Ð4Ð4r$   c                 ó¦   • U R                  U5      n[        R                  " U R                  5        [        R                  " X R                  5        g rK   )Ú_find_tz_filer   Údel_fileÚtz_local_fnÚsym_link)r   ÚtzÚtz_files      r"   Úset_timezoneÚDistro.set_timezoneZ   s6   € Ø×$Ñ$ RÓ(ˆÜ�Š�d×&Ñ&Ô'Ü�Š�g×/Ñ/Õ0r$   c                 ó²   • Uc  / nS/nU(       a  UR                  U5        UR                  S5        UR                  U5        [        R                  " USS9  g )NÚomaz-yF)Úcapture)ÚappendÚextendr   )r   ÚcommandÚargsÚpkgsÚcmds        r"   Úpackage_commandÚDistro.package_command_   sH   € Ø‰<ØˆDàˆgˆÞØ�J‰J�wÔØ�
‰
�4ÔØ�
‰
�4Ôä�	Š	�#˜uÓ%r$   Úpkglistc                 ó$   • U R                  SUS9  g )NÚinstall)r`   )rb   )r   rd   s     r"   Úinstall_packagesÚDistro.install_packagesk   s   € Ø×Ñ˜Y¨WÐÒ5r$   )Úforcec                óX   • U R                   R                  SU R                  S[        S9  g )Nzupdate-sourcesÚrefresh)Úfreq)r   Úrunrb   r
   )r   ri   s     r"   Úupdate_package_sourcesÚDistro.update_package_sourcesn   s+   € Ø�‰×ÑØØ× Ñ ØÜð	 	ò 	
r$   )r   r   r   rK   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r'   Úinit_cmdÚnetwork_conf_dirÚresolve_conf_fnrS   Údhclient_lease_directoryÚdhclient_lease_file_regexÚrenderer_configsÚprefer_fqdnr   r,   r?   rH   rN   rW   rb   r   rg   rn   Ú__static_attributes__© r$   r"   r   r      s”   † Ø/ÐØˆ}€HØ/ÐØ2€OØ"€Kà8ÐØ 9Ðð 	Ø.ØHàAØBñ ñ
ð	Ðð €Kò$ô/òPô*ò5ò1ô

&ð6¨ô 6ð /4÷ 
ð 
r$   r   c                 ó’   • Sn [         R                  " U 5      R                  5       nSnU[	        U5      4$ ! [         a    / n Nf = f)NFT)r   rB   Ú
splitlinesÚIOErrorr	   )Úsys_pathÚexistsÚcontentss      r"   Úread_locale_confrƒ   w   sR   € Ø€FðÜ×&Ò& xÓ0×;Ñ;Ó=ˆØˆð ”G˜HÓ%Ð&Ð&øô ó ØŠðús   „&7 ·AÁAc                 ó|  • U(       d  g [        U 5      u  p#SnUR                  5        H'  u  pVUc  M
  [        U5      nU(       d  M  XcU'   US-  nM)     U(       ac  [        U5      /nU(       d%  UR                  S[        R
                  " 5       5        [        R                  " U SR                  U5      S-   S5        g g )Nr   é   Ú
r1   )rƒ   Úitemsr7   Úinsertr   Úmake_headerr6   Újoin)r€   r+   r�   r‚   Ú
updated_amÚkÚvÚliness           r"   r(   r(   �   s¨   € ÞØÜ)¨(Ó3Ñ€VØ€JØ× Ñ Ö"‰ˆØ‰9ÙÜ�‹FˆÞÙØ�‰Ø�a‰Š
ñ #ö ä�‹Mð
ˆö Ø�L‰L˜œD×,Ò,Ó.Ô/Ü�Š˜ $§)¡)¨EÓ"2°TÑ"9¸5ÕAð r$   )ÚloggingÚ	cloudinitr   r   r   r   Úcloudinit.distrosr   Ú"cloudinit.distros.parsers.hostnamer   Ú"cloudinit.distros.parsers.sys_confr	   Úcloudinit.settingsr
   Ú	getLoggerrp   r:   r   rƒ   r(   r|   r$   r"   Ú<module>r–      sJ   ðó ç 2Ó 2Ý )Ý ;Ý 6Ý +à×Ò˜Ó!€ôc
ˆW�^‰^ô c
òL'óBr$   