Current File : //usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/gentoo.cpython-312.pyc
�

x[h~���ddlZddlmZmZmZmZddlmZddlm	Z	ddl
mZmZeje�ZGd�dej �Zy)�N)�distros�helpers�subp�util)�PackageList)�HostnameConf)�
PER_ALWAYS�PER_INSTANCEc�t�eZdZdZdZddgZd�Zdd�Zdefd	�Z	d
�Z
d�Zed��Z
dd
�Zd�Zdd�Zdd�d�Zy)�Distroz/etc/locale.genzen_US.UTF-8zC.UTF8 UTF-8zen_US.UTF-8 UTF-8c���tjj||||�tj�rd|_nd|_tj|�|_d|_y)Nz
/etc/hostnamez/etc/conf.d/hostname�gentoo)	rr�__init__�uses_systemd�hostname_conf_fnr�Runners�_runner�osfamily)�self�name�cfg�pathss    �:/usr/lib/python3/dist-packages/cloudinit/distros/gentoo.pyrzDistro.__init__sO��������d�C��7����!�$3�D�!�$:�D�!�
���u�-��� ��
�Nc���tj|jdj|j�d��tj
dgd��tj
ddd	|jgd��y
)z�Locales need to be added to /etc/locale.gen and generated prior
        to selection. Default to en_US.UTF-8 for simplicity.
        �
i�)�modez
locale-genF��capture�eselect�locale�setN)r�
write_file�
locale_gen_fn�join�localesr�default_locale)r�_�out_fns   r�apply_localezDistro.apply_locale+s[��	
����*�*�D�I�I�d�l�l�,C�#�N�	
�	�	�<�.�%�0�	
�	�	�
��%��)<�)<�=�u�	
r�pkglistc�J�|j�|jd|��y)N�)�pkgs)�update_package_sources�package_command)rr+s  r�install_packageszDistro.install_packages9s!���#�#�%����R�g��.rc��d}	|j|�}|std�}tj�r|j|�n|jd|z�tj|t|�d�y#t$r>tj|jdd�}|rnt
j
d�YyY��wxYw)N�create_hostname_fileTz8create_hostname_file is False; hostname file not createdr-z
hostname="%s"i�)
�_read_hostname_conf�IOErrorr�get_cfg_option_bool�_cfg�LOG�inforrr�set_hostnamer#�str)r�hostname�filename�confr3s     r�_write_hostnamezDistro._write_hostname=s�����	��+�+�H�5�D����#�D����!�
���h�'�

���o��8�9�����#�d�)�U�3��3�
	�#'�#;�#;��	�	�1�4�$� �$�����N����
	�s�A=�=AC�Cc�T�|j|j�}|j|fS�N)�_read_hostnamer)r�sys_hostnames  r�_read_system_hostnamezDistro._read_system_hostname^s)���*�*�4�+@�+@�A���$�$�l�2�2rc�b�ttj|��}|j�|SrA)rr�load_text_file�parse)r=r>s  rr4zDistro._read_hostname_confbs%���D�/�/��9�:���
�
���rc�l�d}	|j|�}|j}|s|S|S#t$rY�wxYwrA)r4r<r5)rr=�defaultr<r>s     rrBzDistro._read_hostnamehsH����	��+�+�H�5�D��}�}�H���N����	�	��	�s�'�	3�3c�P�tj||j|���y)N)�tz�tz_file)r�set_etc_timezone�
_find_tz_file)rrKs  r�set_timezonezDistro.set_timezoness��� � �B��0B�0B�2�0F�Grc��dg}|jd�|dk(r|jddg�n�|�g}|r"t|t�r|j|�n#|r!t|t�r|j|�|r|j|�tjd|�}|j|�tj|d��y)	N�emergez--quiet�upgradez--update�worldz%s-%sFr)�append�extend�
isinstancer;�listr�expand_package_listr)r�command�argsr.�cmdr+s      rr0zDistro.package_commandvs����j���
�
�9���i���J�J�
�G�,�-��|����
�4��-��
�
�4� ��*�T�4�0��
�
�4� ���
�
�7�#��.�.�w��=�G��J�J�w��	
�	�	�#�u�%rF)�forcec�|�|jjd|jdg|rt��yt��y)Nzupdate-sourcesz--sync)�freq)r�runr0r	r
)rr\s  rr/zDistro.update_package_sources�s>��������� � �
�J�$��		�	
�+7�		�	
rrA)NN)�__name__�
__module__�__qualname__r$r'r&rr*rr1r?rD�staticmethodr4rBrOr0r/�rrrrsh��%�M�"�N��2�3�G�!�
�/��/�4�B3�����
	�H�&�2/4�
rr)�logging�	cloudinitrrrr�cloudinit.distrosr�"cloudinit.distros.parsers.hostnamer�cloudinit.settingsr	r
�	getLoggerr`r8rrdrr�<module>rks=���2�2�)�;�7��g����!��@
�W�^�^�@
r