Magellan Linux

Diff of /branches/mage-next/src/helper/mgroupadd.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/mage/usr/lib/mage/mgroupadd revision 57 by niro, Tue Feb 15 00:37:07 2005 UTC branches/mage-next/src/helper/mgroupadd revision 2534 by niro, Wed Jan 29 10:54:39 2014 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # version: 0.3.6-r12  # $Id$
3    
4    # include all needed files
5    [ -f /etc/mage.rc.global ] && source /etc/mage.rc.global
6    [ -f ${MAGERC} ] && source ${MAGERC}
7    [ -f ${MLIBDIR}/mage4.functions.sh ] && source ${MLIBDIR}/mage4.functions.sh
8    
9  print_usage()  print_usage()
10  {  {
# Line 13  print_usage() Line 18  print_usage()
18   echo   echo
19  }  }
20    
21    busybox_fix_group_opts()
22    {
23     local i
24     local FIXED_GROUP_OPTS
25    
26     for i in $*
27     do
28     case $1 in
29     -r) FIXED_GROUP_OPTS+=" -S" ;;
30     *) FIXED_GROUP_OPTS+=" $1" ;;
31     esac
32     shift
33     done
34    
35     echo "${FIXED_GROUP_OPTS}"
36    }
37    
38    if [[ ! -z ${MROOT} ]] && [[ ${MROOT} != / ]]
39    then
40     chroot="chroot ${MROOT} "
41    else
42     chroot=""
43    fi
44    
45  while getopts "o:-" opt ; do  while getopts "o:-" opt ; do
46   case "${opt}" in   case "${opt}" in
47   o)   o)
# Line 39  fi Line 68  fi
68    
69  GROUP_TO_ADD="$1"  GROUP_TO_ADD="$1"
70    
71  #start nscd to cache /etc/group  # busybox support needed?
72  $(which nscd) -i group  if need_busybox_support addgroup
 # get the info  
 my_group="$(getent group ${GROUP_TO_ADD})"  
   
 # if above entries are empty the user/group does not exist  
 if [ -z "${my_group}" ]  
73  then  then
74   echo "     Adding group '${GROUP_TO_ADD}' ..."   echo -n "     Adding group '${GROUP_TO_ADD}'"
75   groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}"   [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'"
76     echo " ..."
77     ${chroot} addgroup -S $(busybox_fix_group_opts ${GROUP_OPTS}) "${GROUP_TO_ADD}"
78    
79    # normal systems
80  else  else
81   echo "     Modifing group '${GROUP_TO_ADD}' ..."   # get the info
82   groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}"   my_group="$(${chroot} getent group ${GROUP_TO_ADD})"
83    
84     # if above entries are empty the user/group does not exist
85     if [ -z "${my_group}" ]
86     then
87     echo -n "     Adding group '${GROUP_TO_ADD}'"
88     [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'"
89     echo " ..."
90     ${chroot} groupadd -r ${GROUP_OPTS} "${GROUP_TO_ADD}"
91     else
92     echo -n "     Modifing group '${GROUP_TO_ADD}'"
93     [[ ! -z ${chroot} ]] && echo -n " in MROOT='${MROOT}'"
94     echo " ..."
95     ${chroot} groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}"
96     fi
97  fi  fi

Legend:
Removed from v.57  
changed lines
  Added in v.2534