+group_add_next() {
+ local gid gids
+ gid=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
+ [ -n "$gid" ] && return $gid
+ gids=$(cat ${IPKG_INSTROOT}/etc/group | cut -d: -f3)
+ gid=100
+ while [ -n "$(echo $gids | grep $gid)" ] ; do
+ gid=$((gid + 1))
+ done
+ group_add $1 $gid
+ return $gid
+}
+
+group_add_user() {
+ local grp delim=","
+ grp=$(grep -s "^${1}:" ${IPKG_INSTROOT}/etc/group)
+ [ -z "$(echo $grp | cut -d: -f4 | grep $2)" ] || return
+ [ -n "$(echo $grp | grep ":$")" ] && delim=""
+ [ -n "$IPKG_INSTROOT" ] || lock /var/lock/passwd
+ sed -i "s/$grp/$grp$delim$2/g" ${IPKG_INSTROOT}/etc/group
+ [ -n "$IPKG_INSTROOT" ] || lock -u /var/lock/passwd
+}
+