diff options
Diffstat (limited to 'perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh')
-rwxr-xr-x | perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh b/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh deleted file mode 100755 index b735d2bbe..000000000 --- a/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash -# -# cnc2mdv /etc/group file merger -# -# What it does: -# -# - Adds three new groups: -# - Check if these groups or its gids already exists; -# - Remove root from the wheel group. -# - -destfile=${destfile:-/etc/group} -backupfile=${destfile}.cnc2mdv - -# these are the new groups that are introduced by Mandriva -groups=( usb 43 tape 21 nogroup 65534 ) - -# error codes -group_already_exists_=8 -group_already_exists=9 -gid_not_unique=4 - -sort_groups_by_gid() -{ - sort -nt: +2 -3 -o $destfile $destfile #wow - - return 0 -} - - -add_new_groups() -{ - for (( i=0; i < ${#groups[@]}; i += 2)); do - n=$[$i+1] - gid=${groups[$n]} - gname=${groups[$i]} - - errors=yes - while [ $errors = "yes" ]; do - groupadd -g $gid $gname - case $? in - 0) - # ok, no errors, group really added - errors=no - ;; - - $group_already_exists | $group_already_exists_ ) - # ok, no problem at all - errors=no - ;; - - $gid_not_unique) - # bleh, increment gid and try again - # hum, but if ... 65534? - gid=$[$gid+1] - ;; - - *) - echo "unexpected error during groupadd ($?)" - return 1; - ;; - esac - done # while errors - done # for - - return 0 -} - - -remove_root_from_wheel() -{ - sed -i 's/\(wheel:[^:]*:[^:]*:\)root,*\(.*\)/\1\2/' ${destfile} - - return 0 -} - - -main() -{ - add_new_groups && - sort_groups_by_gid && - remove_root_from_wheel -} - -main - -# vim:ts=4:sw=4:ai |