Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > e0712c49788c41062a3b83a6a2af5dd6 > scriptlet

lsb-testsuites-1.0.1.2-0.2mdk.noarch.rpm

PREIN

/bin/sh

add_single_group()
{
  if [ -n "$GROUP_ID" ]; then
    GROUP_ID=$(($GROUP_ID+1))
    GROUP_FLAGS="-g $GROUP_ID"
  fi
  set -x
  groupadd $GROUP_FLAGS $1
  GROUP_ADD=$?
  set +x
  if [ $GROUP_ADD -ne 0 -a -z "$GROUP_ID" ]; then
    grep $1 /etc/group
    if [ $? -ne 0 ]; then
      # work out a group id we can use
      # Serious dodgy algorithm but avoids the problem of 
      # nogroup often being set to the last valid gid
      GROUP_ID=`cut -f3 -d: /etc/group | sort -n | tail -2 | head -1`;
      GROUP_ID=$(($GROUP_ID+10))
      GROUP_FLAGS="-g $GROUP_ID"
      set -x
      groupadd $GROUP_FLAGS $1
      set +x
    fi
  fi
}

uidsetup() 
{
  # add the maximum number of groups for a user
  add_single_group  vsxg0
  add_single_group  vsxg1
  add_single_group  vsxg2
  # note that this is to NGROUP_MAX , vsxg0 + NGROUP_MAX supp groups
  add_single_group  supp1
  add_single_group  supp2
  add_single_group  supp3
  add_single_group  supp4
  add_single_group  supp5
  add_single_group  supp6
  add_single_group  supp7
  add_single_group  supp8
  add_single_group  supp9
  add_single_group  supp10
  add_single_group  supp11
  add_single_group  supp12
  add_single_group  supp13
  add_single_group  supp14
  add_single_group  supp15
  add_single_group  supp16
  add_single_group  supp17
  add_single_group  supp18
  add_single_group  supp19
  add_single_group  supp20
  add_single_group  supp21
  add_single_group  supp22
  add_single_group  supp23
  add_single_group  supp24
  add_single_group  supp25
  add_single_group  supp26
  add_single_group  supp27
  add_single_group  supp28
  add_single_group  supp29
  add_single_group  supp30
  add_single_group  supp31
  
  #had to break this into 2 steps, or it fails if first install (sb)

  useradd -g vsxg0 -d $TET_ROOT -s /bin/sh -c "VSX0 test login" vsx0
  usermod -d $TET_ROOT/test_sets vsx0

  if [ -z "$GROUP_ID" ]; then
    USER_MOD_FLAG="-G"
  else
    USER_MOD_FLAG="-g"
  fi

  usermod $USER_MOD_FLAG supp1,supp2,supp3,supp4,supp5,supp6,supp7,supp8,supp9,supp10,supp11,supp12,supp13,supp14,supp15,supp16,supp17,supp18,supp19,supp20,supp21,supp22,supp23,supp24,supp25,supp26,supp27,supp28,supp29,supp30,supp31 vsx0

  useradd -g vsxg1 -d $TET_ROOT -s /bin/sh -c "VSX1 test login" vsx1
  useradd -g vsxg2 -d $TET_ROOT -s /bin/sh -c "VSX2 test login" vsx2
}

######################################################################

export TET_ROOT=$RPM_BUILD_ROOT//usr/lib/lsb-testsuites

# Check that user id's are setup
# We check that vsx1 user exists instead of vsx0 as some
# test suites have more stringent user and group requirments
# than others
grep vsx1 /etc/passwd 2>&1 >/dev/null
if [ $? -ne 0 ]; then
  uidsetup
else
  usermod -d $TET_ROOT/test_sets vsx0
  usermod -d $TET_ROOT vsx1
  usermod -d $TET_ROOT vsx2
fi