'KXc@sddlmZddlZddlmZddlmZddlmZddlmZddlmZej e Z dej fd YZ dS( i(tStringION(tdistros(thelpers(tlog(tssh_util(tutiltDistrocBseZdZdZdZdZdZdZdZdZ ddZ d Z d Z d Zd Zed ZdZddZdZdZddZdZdddZdZdZRS(s /etc/rc.confs/etc/login.confs/etc/login.conf.origcCs8tjj||||tj||_d|_dS(Ntfreebsd(RRt__init__RtRunnerst_runnertosfamily(tselftnametcfgtpaths((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyR%scCstjd|||j}t}xP|D]H}||kr,|||kr,||| %ss2[rc.conf]: Value %s for key %s needs to be changedsWriting new %s files%s=%s ( tLOGtdebugt loadrcconftFalsetTruet rc_conf_fnRtitemstwriteRt write_filetgetvalue(R tkeytvaluetconftconfig_changedtitemtbuftkeyval((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt updatercconf.s       cCsZi}tj|jj}x5|D]-}|jd}|dj||dR?( R R tkwargst adduser_cmdtlog_adduser_cmdt adduser_optst adduser_flagst redact_optsRR,RD((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pytadd_usersP   !    cCstS(N(R(R tuserRLthashed((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt set_passwdscCsSy tjdd|ddgWn,tk rN}tjtd||nXdS(NR8R9s-ht-sFailed to lock user %s(RR<R>R?R(R R RD((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt lock_passwds  cCstjd|dS(Nsrite_sudo_rules] Name: %s(RR(R R trulest sudo_file((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pytwrite_sudo_rulesscKs|j||d|kr=|dr=|j||dn|jdtr_|j|nd|kr|j||dnd|krt|dpg}tj||ddndS(Ntplain_text_passwdRetsudotssh_authorized_keystoptions( R`RctgetRReRhtsetRtsetup_user_keysR+(R R RZtkeys((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt create_users  cCsdS(N((R tsettings((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt_write_networkscCs$t}xMtj|jjD]3}|jtjdd|||jdq"Wtj|j|j tj |j|j y*t j d|tjd|jgWnktjk rtjt d|ytj|j |jWq tk rtjt d|jq XnXdS(Ns ^default:sdefault:lang=%s:s sRunning cap_mkdb for %stcap_mkdbsFailed to apply locale %ssFailed to restore %s backup(RRR#t login_conf_fnR$Rtretsubtcopytlogin_conf_fn_bakRRRRR<tProcessExecutionErrorR?R3(R tlocaletout_fntnewconfR(((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt apply_locales"   cCsdS(N((R tpkglist((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pytinstall_packagesscCsdS(N((R tcmdtargstpkgs((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pytpackage_commandscCsdS(N((R ttz((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyt set_timezonescCsdS(N((R ((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pytupdate_package_sourcessN(t__name__t __module__RRuRyRR!RR-R1R+R/R6R7RFR`RRcReRhRqRsR~RRRR(((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyR s.        9        ( RRvt cloudinitRRRtloggingRRt getLoggerRRR(((sF/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/freebsd.pyts