fddlZddlmZmZmZmZddlmZddlm Z ddl m Z eje ZGddejZy)N)distroshelperssubputil) PackageList) HostnameConf) PER_INSTANCEcreZdZdZdZdZddgZdZddZd e fd Z d Z d Z e d ZddZdZddZdZy)Distroz/etc/locale.genz/etc/conf.d/hostnamez en_US.UTF-8z C.UTF8 UTF-8zen_US.UTF-8 UTF-8ctjj||||tj||_d|_d|d<tjrtjdyy)Ngentooz/etc/init.d/sshd ssh_svcnamez/Cloud-init does not support systemd with gentoo) rr __init__rRunners_runnerosfamily uses_systemdLOGerror)selfnamecfgpathss :/usr/lib/python3/dist-packages/cloudinit/distros/gentoo.pyrzDistro.__init__s[dC7u-   /M    ! IIG H "Nctj|jdj|jdt j dgdt j ddd |j gdy ) zrc-only - not compatible with systemd 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-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_packages8s! ##% Rg.rcBd} |j|}|s td}|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_cfgrinfor set_hostnamer$str)rhostnamefilenameconfr4s r_write_hostnamezDistro._write_hostname<s ++H5D#D /H45 #d)U3% #'#;#; 14$ $N  sAABBcT|j|j}|j|fSN)_read_hostnamehostname_conf_fn)r sys_hostnames r_read_system_hostnamezDistro._read_system_hostnameVs)**4+@+@A $$l22rcbttj|}|j|SrA)rrload_text_fileparse)r=r>s rr5zDistro._read_hostname_confZs%D//9:  rcld} |j|}|j}|s|S|S#t$rYwxYwrA)r5r<r6)rr=defaultr<r>s rrBzDistro._read_hostname`sH ++H5D}}HN    s ' 33cPtj||j|y)N)tztz_file)rset_etc_timezone _find_tz_file)rrLs r set_timezonezDistro.set_timezoneks  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 rr1zDistro.package_commandnsj 9 i  JJ G, -| 4- 4 *T40 4  7#..w=G JJw  #u%rc`|jjd|jdgty)Nzupdate-sourcesz--sync)freq)rrunr1r )rs rr0zDistro.update_package_sourcess-    J  rrA)NN)__name__ __module__ __qualname__r%rCr(r'rr+rr2r?rE staticmethodr5rBrPr1r0rrr r si%M-"N23G I / /443 H&2 rr )logging cloudinitrrrrcloudinit.distrosr"cloudinit.distros.parsers.hostnamercloudinit.settingsr getLoggerr`rr rdrrrks=22);+g!z W^^z r