--- trunk/mage/usr/lib/mage/mgroupadd 2011/08/12 17:33:49 1497 +++ trunk/mage/usr/lib/mage/mgroupadd 2011/08/30 10:33:14 1498 @@ -35,6 +35,13 @@ echo "${FIXED_GROUP_OPTS}" } +if [[ ! -z ${MROOT} ]] && [[ ${MROOT} != / ]] +then + chroot="chroot ${MROOT} " +else + chroot="" +fi + while getopts "o:-" opt ; do case "${opt}" in o) @@ -64,23 +71,27 @@ # busybox support needed? if need_busybox_support addgroup then - echo " Adding group '${GROUP_TO_ADD}' ..." - addgroup $(busybox_fix_group_opts ${GROUP_OPTS}) "${GROUP_TO_ADD}" + echo -n " Adding group '${GROUP_TO_ADD}'" + [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'" + echo " ..." + ${chroot} addgroup $(busybox_fix_group_opts ${GROUP_OPTS}) "${GROUP_TO_ADD}" # normal systems else - #start nscd to cache /etc/group - $(which nscd) -i group # get the info - my_group="$(getent group ${GROUP_TO_ADD})" + my_group="$(${chroot} getent group ${GROUP_TO_ADD})" # if above entries are empty the user/group does not exist if [ -z "${my_group}" ] then - echo " Adding group '${GROUP_TO_ADD}' ..." - groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}" + echo -n " Adding group '${GROUP_TO_ADD}'" + [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'" + echo " ..." + ${chroot} groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}" else - echo " Modifing group '${GROUP_TO_ADD}' ..." - groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}" + echo -n " Modifing group '${GROUP_TO_ADD}'" + [[ ! -z ${chroot} ]] && echo -n " in MROOT='${MROOT}'" + echo " ..." + ${chroot} groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}" fi fi