܍~cddlZddlZddlZddlZddlmZddlmZmZej e Z Gddej j jZGddeZdS)N)log)subputilcfeZdZdZdZdgZfdZdZdZddZ d Z d Z d Z dd Z dZdZxZS)NetBSDzS Distro subclass for NetBSD. (N.B. OpenBSD inherits from this class.) z*/usr/pkg/etc/sudoers.d/90-cloud-init-usersgroupaddct|||tjdr&gd|_gd|_gd|_gd|_dSddg|_dg|_dS) Nz/usr/pkg/bin/pkgin)pkgin-yinstall)r r remove)r r update)r r z full-upgradepkg_addz-U pkg_delete) super__init__ospathexistspkg_cmd_install_prefixpkg_cmd_remove_prefixpkg_cmd_update_prefixpkg_cmd_upgrade_prefix)selfnamecfgpaths __class__s :/usr/lib/python3/dist-packages/cloudinit/distros/netbsd.pyrzNetBSD.__init__s sE*** 7>>. / / 8*D*D*DD ')B)B)BD &)B)B)BD &*I*I*ID ' ' '+4d*;D '*6D & & &cdd||gS)Nusermod-G)r member_name group_names r_get_add_member_to_group_cmdz#NetBSD._get_add_member_to_group_cmd%s4[99r c tj|rtd|dSdg}dg}dddddd }d d d d }|D]z\}}||vr5|r3t |t r||||g>||vr8|r6||||||{d|vsd|vr |dgz }|dgz }||gz }||gz }td| tj ||n*#t$rtj td|wxYw| dd} | | || ddSdS)Nz!User %s already exists, skipping.Fuseraddz-dz-cz-gr#z-s)homedirgecos primary_groupgroupsshellz--no-user-groupz--systemz --no-log-init) no_user_groupsystem no_log_initno_create_homer0z-mzAdding user %s) logstringzFailed to create user %spasswdT)hashed)ris_userLOGinfoitems isinstancestrextendappendr Exceptionlogexcget set_passwd) rrkwargs adduser_cmdlog_adduser_cmd adduser_opts adduser_flagskeyval passwd_vals radd_userzNetBSD.add_user(s <    HH8$ ? ? ?5 k $+!   / *    ; ;HCl""s"z#s/C/C"""L$5s#;<<<< %%#%""=#5666&&}S'9::: 6 ) )XV-C-C D6 !K v %Ov D6! !4(((  Ik_ = = = = =    K7 > > >   ZZ$//  ! OOD*TO : : : : : " !s D(('EFc(|r|}n3tj}tj|tj|} tjdd||gn*#t$rt jtd|wxYw||dS)Nr"z-pzFailed to set password for %s) cryptMETHOD_BLOWFISHmksaltrr>rr?r7 unlock_passwd)ruserr4r5 hashed_pwmethods rrAzNetBSD.set_passwdYs  BII*F FEL,@,@AAI  Iy$ 48 9 9 9 9    Krr?r7)rrPs rforce_passwd_changezNetBSD.force_passwd_changegsW  Iy$- . . . . .    KA4 H H H  s 'Ac tjddd|gdS#t$rtjtd|wxYw)Nr"-CyeszFailed to lock user %srTrrs r lock_passwdzNetBSD.lock_passwdnsY  Iy$t4 5 5 5 5 5    K5t < < <   'Ac tjddd|gdS#t$rtjtd|wxYw)Nr"rWnozFailed to unlock user %srTrYs rrOzNetBSD.unlock_passwdusY  Iy$d3 4 4 4 4 4    K7 > > >  r[Nc:tddS)NzCannot set the locale.)r7debug)rlocaleout_fns r apply_localezNetBSD.apply_locale|s *+++++r ctj}tj}tj}d|d|d|d<|S)z9Return env vars used in NetBSD package_command operationsz1http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD//z/AllPKG_PATH)platformreleasemachinerenvironcopy)r os_releaseos_arches r_get_pkg_cmd_environzNetBSD._get_pkg_cmd_environsZ%'' "$$ JOO   GG JJ   r cdSNr$)rs rupdate_package_sourceszNetBSD.update_package_sourcess r )Frp)__name__ __module__ __qualname____doc__ ci_sudoers_fngroup_add_cmd_prefixrr'rJrArUrZrOrbrnrq __classcell__)rs@rrrs AM&< 8 8 8 8 8:::/;/;/;b ! ! ! !,,,,          r rceZdZdS)DistroN)rrrsrtr$r rrzrzsDr rz)rLrrfcloudinit.distros.bsd cloudinitrloggingrr getLoggerrrr7distrosbsdBSDrrzr$r rrs  $$$$$$ g!!} } } } } Y  " &} } } @     V     r