As discussed on IRC with imp, Allan Jude, John Baldwin, and myself... bsdconfig mirrors the actions of pw(8) with respect to skel (please see the pw(8) manual with respect to skeleton files and the effect the `-m' parameter has on copying of skel files). At the very least, the suggested change here has to be accompanied by a corresponding change to several other tools, including but not limited to pw(8), adduser(8), and their respective manuals. A patch that implements the bsdinstall part of the change can be found at https://github.com/freebsd/freebsd/pull/98 and it still applies, included inline for your convenience since it is so simple. Also noted in the code review the -R -n should be -Rn (or maybe that was in the IRC conversation). Since this isn't a code snippet ready to commit, redirecting to bugzilla per project policy. This should be assigned to dteske@. usr.sbin/bsdconfig/usermgmt/share/user.subr @@ -145,12 +145,12 @@ f_user_copy_dotfiles() [ -e "$file" ] || continue # no-match f_shell_escape "$file" "_file" - f_eval_catch $funcname cp "cp -n '%s' '%s'" \ + f_eval_catch $funcname cp "cp -R -n '%s' '%s'" \ "$_file" "$_user_home_dir/${_file#dot}" retval=$? [ $retval -eq $SUCCESS ] || break f_eval_catch $funcname chown \ - "chown -h '%i:%i' '%s'" \ + "chown -R -h '%i:%i' '%s'" \ "$_user_uid" "$_user_gid" \ "$_user_home_dir/${_file#dot}" retval=$?
I tested the 'adduser' and it copies files from the skeleton directory with subdirectories normally. No further development is required. That's why I proposed a patch #98 for 'bsdconfig'. I think that the 'bsdconfig' should work with user accounts just like 'adduser'.