ó
    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Jr  \ R                  " \5      r " S S\R$                  5      rg)	é    N)ÚdistrosÚhelpersÚsubpÚutil)ÚPackageList)ÚHostnameConf)ÚCLOUDINIT_NETPLAN_FILE)Ú
PER_ALWAYSÚPER_INSTANCEc                   óŒ   • \ rS rSrSrS/rS\SSS.0rS rSS
 jr	S\
4S jrS rS rS rSS jrS rS rSS jrSS.S jrSrg	)ÚDistroé   z/etc/locale.genÚ	systemctlÚnetplanz# generated by cloud-init
T)Únetplan_pathÚnetplan_headerÚpostcmdsc                 ó’   • [         R                  R                  XX#5        [        R                  " U5      U l        SU l        SUS'   g )NÚarchÚsshdÚssh_svcname)r   r   Ú__init__r   ÚRunnersÚ_runnerÚosfamily)ÚselfÚnameÚcfgÚpathss       Ú8/usr/lib/python3/dist-packages/cloudinit/distros/arch.pyr   ÚDistro.__init__   s9   € Ü�‰×Ñ ¨CÔ7ô —’ uÓ-ˆŒØˆŒØ#ˆˆMÒó    Nc                 ó4  • Ub  US:w  a  [         R                  SU5        [        R                  " 5       SU-  S/n[        R                  " U R
                  SR                  U5      5        [        R                  " S/SS9  [        R                  " S	S
U/SS9  g )Nz/etc/locale.confzFInvalid locale_configfile %s, only supported value is /etc/locale.confz%s UTF-8Ú Ú
z
locale-genF©ÚcaptureÚ	localectlz
set-locale)ÚLOGÚwarningr   Úmake_headerÚ
write_fileÚlocale_gen_fnÚjoinr   )r   ÚlocaleÚout_fnÚliness       r    Úapply_localeÚDistro.apply_locale&   sŠ   € ØÑ &Ð,>Ó">Ü�K‰Kð,àôô ×ÒÓà˜&Ñ!Øð	
ˆô 	�Š˜×*Ñ*¨D¯I©I°eÓ,<Ô=Ü�	Š	�<�.¨%Ò0ô 	�	Š	�; ¨fÐ5¸uÓEr"   Úpkglistc                 óD   • U R                  5         U R                  SUS9  g )Nr$   )Úpkgs)Úupdate_package_sourcesÚpackage_command)r   r4   s     r    Úinstall_packagesÚDistro.install_packages9   s!   € Ø×#Ñ#Ô%Ø×Ñ˜R gÐÒ.r"   c                 óR  • S n U R                  U5      nU(       d  [        S5      nUR                  U5        [        R                  " U[        U5      SSS9  g ! [         aC    [        R                  " U R                  SS5      nU(       a   Ny[
        R                  S5         g f = f)NÚcreate_hostname_fileTz8create_hostname_file is False; hostname file not createdr$   Úwi¤  )ÚomodeÚmode)Ú_read_hostname_confÚIOErrorr   Úget_cfg_option_boolÚ_cfgr)   Úinfor   Úset_hostnamer,   Ústr)r   ÚhostnameÚfilenameÚconfr<   s        r    Ú_write_hostnameÚDistro._write_hostname=   s›   € Øˆð	ð ×+Ñ+¨HÓ5ˆDö Ü Ó#ˆDØ×Ñ˜(Ô#Ü�Š˜¤# d£)°3¸UÓCøô ó 
	Ü#'×#;Ò#;Ø—	‘	Ð1°4ó$Ð ö $Ùä—‘ØNôñ ð
	ús   „A Á3B&ÂB&Â%B&c                 óT   • U R                  U R                  5      nU R                  U4$ ©N)Ú_read_hostnameÚhostname_conf_fn)r   Úsys_hostnames     r    Ú_read_system_hostnameÚDistro._read_system_hostnameS   s)   € Ø×*Ñ*¨4×+@Ñ+@ÓAˆØ×%Ñ% |Ð4Ð4r"   c                 ód   • [        [        R                  " U5      5      nUR                  5         U$ rM   )r   r   Úload_text_fileÚparse)r   rH   rI   s      r    r@   ÚDistro._read_hostname_confW   s%   € ÜœD×/Ò/°Ó9Ó:ˆØ�
‰
ŒØˆr"   c                 óx   • S n U R                  U5      nUR                  nU(       d  U$ U$ ! [         a     Nf = frM   )r@   rG   rA   )r   rH   ÚdefaultrG   rI   s        r    rN   ÚDistro._read_hostname\   sH   € Øˆð	Ø×+Ñ+¨HÓ5ˆDØ—}‘}ˆHö ØˆNØˆøô	 ó 	Ùð	ús   „, ¬
9¸9c                 óÒ   • [         R                  SU5         [        R                  " SSSU/5        g ! [        R                   a    [        R
                  " [         SU5         g f = f)Nz2Non-persistently setting the system hostname to %sÚhostnamectlz--transientzset-hostnamez;Failed to non-persistently adjust the system hostname to %s)r)   Údebugr   ÚProcessExecutionErrorr   Úlogexc)r   rG   s     r    Ú_apply_hostnameÚDistro._apply_hostnamei   sW   € Ü�	‰	Ø@À(ô	
ð	Ü�IŠI�} m°^ÀXÐNÕOøÜ×)Ñ)ó 	Ü�KŠKÜØMØöð	ús   ˜3 ³0A&Á%A&c                 óJ   • [         R                  " XR                  U5      S9  g )N)ÚtzÚtz_file)r   Úset_etc_timezoneÚ_find_tz_file)r   rb   s     r    Úset_timezoneÚDistro.set_timezonev   s   € Ü× Ò  B×0BÑ0BÀ2Ó0FÓGr"   c                 ó†  • Uc  / n/ SQnU(       a'  [        U[        5      (       a  UR                  U5        O-U(       a&  [        U[        5      (       a  UR	                  U5        US:X  a  SnU(       a  UR                  U5        [
        R                  " SU5      nUR	                  U5        [        R                  " USS9  g )N)Úpacmanz-Syz--quietz--noconfirmÚupgradez-uz%s-%sFr&   )Ú
isinstancerF   ÚappendÚlistÚextendr   Úexpand_package_listr   )r   ÚcommandÚargsr6   Úcmdr4   s         r    r8   ÚDistro.package_commandy   s“   € Ø‰<ØˆDâ9ˆö ”J˜t¤S×)Ñ)Ø�J‰J�tÕÞ”j ¤t×,Ñ,Ø�J‰J�tÔà�iÓØˆGÞØ�J‰J�wÔä×*Ò*¨7°DÓ9ˆØ�
‰
�7Ôô 	�	Š	�#˜uÓ%r"   F)Úforcec                ót   • U R                   R                  SU R                  S/U(       a  [        O[        S9  g )Nzupdate-sourcesz-y)Úfreq)r   Úrunr8   r
   r   )r   rt   s     r    r7   ÚDistro.update_package_sources�   s1   € Ø�‰×ÑØØ× Ñ ØˆFÞ$•¬,ð	 	ò 	
r"   )r   r   rM   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r-   Úinit_cmdr	   Úrenderer_configsr   r2   r   r9   rJ   rQ   r@   rN   r_   rf   r8   r7   Ú__static_attributes__© r"   r    r   r      sr   † Ø%€MØˆ}€HàØ2Ø;Øñ
ðÐò$ôFð&/¨ô /òDò,5òô
	òòHô&ð. /4÷ 
ð 
r"   r   )ÚloggingÚ	cloudinitr   r   r   r   Úcloudinit.distrosr   Ú"cloudinit.distros.parsers.hostnamer   Úcloudinit.net.netplanr	   Úcloudinit.settingsr
   r   Ú	getLoggerry   r)   r   r€   r"   r    Ú<module>rˆ      s>   ðó ç 2Ó 2Ý )Ý ;Ý 8ß 7à×Ò˜Ó!€ôD
ˆW�^‰^õ D
r"   