x[h~ddlZddlmZmZmZmZddlmZddlm Z ddl m Z m Z ejeZGddej Zy)N)distroshelperssubputil) PackageList) HostnameConf) PER_ALWAYS PER_INSTANCEcteZdZdZdZddgZdZddZdefd Z d Z d Z e d Z dd ZdZddZdddZy)Distroz/etc/locale.genz en_US.UTF-8z C.UTF8 UTF-8zen_US.UTF-8 UTF-8ctjj||||tjrd|_nd|_t j ||_d|_y)Nz /etc/hostnamez/etc/conf.d/hostnamegentoo) rr __init__ uses_systemdhostname_conf_fnrRunners_runnerosfamily)selfnamecfgpathss :/usr/lib/python3/dist-packages/cloudinit/distros/gentoo.pyrzDistro.__init__sOdC7    !$3D !$:D ! u-   Nctj|jdj|jdt j dgdt j ddd |j gdy ) zLocales need to be added to /etc/locale.gen and generated prior to selection. Default to en_US.UTF-8 for simplicity.  i)modez locale-genFcaptureeselectlocalesetN)r write_file locale_gen_fnjoinlocalesrdefault_locale)r_out_fns r apply_localezDistro.apply_locale+s[ **DIIdll,C#N <.%0 %)<)< =u rpkglistcJ|j|jd|y)N)pkgs)update_package_sourcespackage_command)rr+s rinstall_packageszDistro.install_packages9s! ##% Rg.rcd} |j|}|s td}tjr|j|n|jd|ztj|t|dy#t$r>tj|jdd}|rnt j dYyYwxYw)Ncreate_hostname_fileTz8create_hostname_file is False; hostname file not createdr-z hostname="%s"i) _read_hostname_confIOErrorrget_cfg_option_bool_cfgLOGinforrr set_hostnamer#str)rhostnamefilenameconfr3s r_write_hostnamezDistro._write_hostname=s ++H5D#D    !   h '   o8 9 #d)U33 #'#;#; 14$ $N  sA==ACCcT|j|j}|j|fSN)_read_hostnamer)r sys_hostnames r_read_system_hostnamezDistro._read_system_hostname^s)**4+@+@A $$l22rcbttj|}|j|SrA)rrload_text_fileparse)r=r>s rr4zDistro._read_hostname_confbs%D//9:  rcld} |j|}|j}|s|S|S#t$rYwxYwrA)r4r<r5)rr=defaultr<r>s rrBzDistro._read_hostnamehsH ++H5D}}HN    s ' 33cPtj||j|y)N)tztz_file)rset_etc_timezone _find_tz_file)rrKs r set_timezonezDistro.set_timezoness  B0B0B20FGrcdg}|jd|dk(r|jddgn|g}|r"t|tr|j|n#|r!t|tr|j||r|j|t j d|}|j|tj|dy) Nemergez--quietupgradez--updateworldz%s-%sFr)appendextend isinstancer;listrexpand_package_listr)rcommandargsr.cmdr+s rr0zDistro.package_commandvsj 9 i  JJ G, -| 4- 4 *T40 4  7#..w=G JJw  #u%rF)forcec||jjd|jdg|r tyty)Nzupdate-sourcesz--sync)freq)rrunr0r r )rr\s rr/zDistro.update_package_sourcess>    J$  +7  rrA)NN)__name__ __module__ __qualname__r$r'r&rr*rr1r?rD staticmethodr4rBrOr0r/rrr r sh%M"N23G !  / /4B3 H&2/4 rr )logging cloudinitrrrrcloudinit.distrosr"cloudinit.distros.parsers.hostnamercloudinit.settingsr r getLoggerr`r8r rdrrrks=22);7g!@ W^^@ r