aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/add-group
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/add-group')
-rwxr-xr-xtrunk/add-group44
1 files changed, 44 insertions, 0 deletions
diff --git a/trunk/add-group b/trunk/add-group
new file mode 100755
index 0000000..603466e
--- /dev/null
+++ b/trunk/add-group
@@ -0,0 +1,44 @@
+#!/bin/sh
+#---------------------------------------------------------------
+# Project : Mandriva Linux
+# Module : rpm-helper
+# File : add-group
+# Version : $Id$
+# Author : Frederic Lepied
+# Created On : Mon Jul 29 15:07:28 2002
+# Purpose : helper script for rpm scriptlets to add a
+# system group.
+#---------------------------------------------------------------
+
+if [ $# -lt 3 ]; then
+ echo "usage: $0 <pkg name> <num installed> <group name> [<user1>,<user2>...]" 1>&2
+ exit 1
+fi
+
+pkg=$1 # name of the package
+num=$2 # number of packages installed
+name=$3 # name of the group
+users=$4 # users to add to this group
+
+if ! getent group $name > /dev/null 2>&1; then
+ /usr/sbin/groupadd -r $name > /dev/null
+
+ if [ -n "$users" ]; then
+ SAVED_IFS="$IFS"
+ export IFS="$IFS",
+ set $users
+ IFS="$SAVED_IFS"
+
+ for u in $*; do
+ old=`egrep "[:,]$u(,|$)" /etc/group | cut -d : -f 1 | xargs echo`
+ if [ -n "$old" ]; then
+ old=`echo ",$old" | sed 's/ /,/g'`
+ fi
+ /usr/sbin/usermod -G $name$old $u > /dev/null
+ done
+ fi
+fi
+
+exit 0
+
+# add-group ends here