]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-user_group.sh
- avoid compressing very small (manual) pages
[packages/rpm.git] / rpm-user_group.sh
index 59ea36fe6aef861789b6d192f4bc70a431a88f2c..d69479a558379471aa42873759db273a0d5100d1 100644 (file)
@@ -25,16 +25,16 @@ bannercmd()
                echo cat
        else
                if [ "$RPM_SCRIPTVERBOSITY" -lt 2 ]; then
-                       echo "$BANNERCMD -s -M $1"
-               else
                        echo "$BANNERCMD -M $1"
+               else
+                       echo "$BANNERCMD -s -M $1"
                fi
        fi
 }
 
 testrm()
 {
-       [ "$RPM_USERDEL" != yes ] && return 1
+       [ "$RPM_USERDEL" != yes ] || [ ! -x /bin/rpm ] && return 1
        [ -z "$1" ] && return 2
        rpm -q --whatprovides "${MODE}($1)" >/dev/null 2>&1
        # no package Provides it (strange)
@@ -51,14 +51,24 @@ elif [ "$1" = del ]; then
        if testrm $2; then
                echo "Removing $MODE $2" | `bannercmd "${MODE}del-$2"`
                /usr/sbin/${MODE}del $2 || :
+               if [ -x /usr/sbin/nscd ]; then
+               case "${MODE}" in
+               user)
+                       /usr/sbin/nscd -i passwd
+                       ;;
+               group)
+                       /usr/sbin/nscd -i group
+                       ;;
+               esac
+               fi
        fi
 elif [ "$MODE" = "user" -a "$1" = "addtogroup" ]; then
-       USER=$2
-       GROUP=$3
-       GROUPS=`id -n -G $USER | sed -e's/^[^ ]* //;s/ /,/g'`
-       if ! echo ",$GROUPS," | grep -q ",$GROUP," ; then
-           echo "Adding user $USER to group $GROUP" | `bannercmd "${MODE}mod-$USER"`
-           usermod -G "$GROUPS,$GROUP" $USER
+       CUSER=$2
+       CGROUP=$3
+       CGROUPS=`id -n -G $CUSER | sed -e's/^[^ ]* //;s/ /,/g'`
+       if ! echo ",$CGROUPS," | grep -q ",$CGROUP," ; then
+           echo "Adding user $CUSER to group $CGROUP" | `bannercmd "${MODE}mod-$CUSER"`
+           usermod -G "$CGROUPS,$CGROUP" $CUSER
        fi
 else
        echo ERROR
This page took 0.027652 seconds and 4 git commands to generate.