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