version 1.3, 2000/06/09 16:25:59 |
version 1.3.4.1, 2002/01/18 17:20:23 |
|
|
MV=mv |
MV=mv |
RM=rm |
RM=rm |
STRIP=strip |
STRIP=strip |
WHOAMI=whoami |
WHOAMI="echo root" |
|
|
## Some systems don't support -x, so we have to use -f. |
## Some systems don't support -x, so we have to use -f. |
if [ ${CHOWN} = chown ] ; then |
for d in /sbin /etc /usr/sbin /usr/etc; do |
if [ -f /sbin/chown ] ; then |
if [ -f $d/chown ]; then |
CHOWN=/sbin/chown |
CHOWN=${d}/chown |
elif [ -f /etc/chown ] ; then |
break |
CHOWN=/etc/chown |
|
elif [ -f /usr/sbin/chown ] ; then |
|
CHOWN=/usr/sbin/chown |
|
elif [ -f /usr/etc/chown ] ; then |
|
CHOWN=/usr/etc/chown |
|
fi |
fi |
fi |
done |
|
|
if [ ${WHOAMI} = whoami ] ; then |
for d in /usr/bin /bin /usr/ucb /usr/bsd; do |
if [ -f /usr/ucb/whoami ] ; then |
if [ -f $d/whoami ]; then |
WHOAMI=/usr/ucb/whoami |
WHOAMI=${d}/whoami |
elif [ -f /usr/bin/whoami ] ; then |
break |
WHOAMI=/usr/bin/whoami |
elif [ -f $d/id ]; then |
|
WHOAMI=${d}/id | sed -n 's/^[^(]*(\([^)]*\)).*/\1/p' |
fi |
fi |
fi |
done |
|
|
if [ ${STRIP} = strip ] ; then |
for d in /usr/ccs/bin /usr/bin /bin; do |
if [ -f /usr/ccs/bin/strip ] ; then |
if [ -f $d/strip ]; then |
STRIP=/usr/ccs/bin/strip |
STRIP=${d}/strip |
elif [ -f /usr/bin/strip ] ; then |
break |
STRIP=/usr/bin/strip |
|
fi |
fi |
fi |
done |
|
|
## Defaults. |
## Defaults. |
CHOWNIT=false |
CHOWNIT=false |
|
|
BACKIT=false |
BACKIT=false |
TOUCHIT=true |
TOUCHIT=true |
SAVESRC=false |
SAVESRC=false |
ROOT=unknown |
|
|
|
|
case `${WHOAMI}` in |
|
root) |
|
ROOT=true |
|
;; |
|
*) |
|
ROOT=false |
|
;; |
|
esac |
|
|
## Process JCL. |
## Process JCL. |
MORETODO=true |
MORETODO=true |
while ${MORETODO} ; do |
while ${MORETODO} ; do |
|
|
CHGROUPIT=true |
CHGROUPIT=true |
;; |
;; |
X-G) |
X-G) |
case ${ROOT} in |
|
unknown) |
|
case `${WHOAMI}` in |
|
root) |
|
ROOT=true |
|
;; |
|
*) |
|
ROOT=false |
|
;; |
|
esac |
|
;; |
|
esac |
|
GROUP="$2" |
GROUP="$2" |
shift |
shift |
${ROOT} && CHGROUPIT=true |
${ROOT} && CHGROUPIT=true |
;; |
;; |
X-G*) |
X-G*) |
case ${ROOT} in |
|
unknown) |
|
case `${WHOAMI}` in |
|
root) |
|
ROOT=true |
|
;; |
|
*) |
|
ROOT=false |
|
;; |
|
esac |
|
;; |
|
esac |
|
if ${ROOT} ; then |
if ${ROOT} ; then |
GROUP=`expr "$1" : '-g\(.*\)'` |
GROUP=`expr "$1" : '-g\(.*\)'` |
CHGROUPIT=true |
CHGROUPIT=true |
|
|
MODE=`expr "$1" : '-m\(.*\)'` |
MODE=`expr "$1" : '-m\(.*\)'` |
CHMODIT=true |
CHMODIT=true |
;; |
;; |
|
X-M) |
|
MODE="$2" |
|
${ROOT} && CHMODIT=true |
|
shift |
|
;; |
|
X-M*) |
|
MODE=`expr "$1" : '-m\(.*\)'` |
|
${ROOT} && CHMODIT=true |
|
;; |
X-n) |
X-n) |
TOUCHIT=false |
TOUCHIT=false |
;; |
;; |
|
|
CHOWNIT=true |
CHOWNIT=true |
;; |
;; |
X-O) |
X-O) |
case ${ROOT} in |
|
unknown) |
|
case `${WHOAMI}` in |
|
root) |
|
ROOT=true |
|
;; |
|
*) |
|
ROOT=false |
|
;; |
|
esac |
|
;; |
|
esac |
|
OWNER="$2" |
OWNER="$2" |
shift |
shift |
${ROOT} && CHOWNIT=true |
${ROOT} && CHOWNIT=true |
;; |
;; |
X-O*) |
X-O*) |
case ${ROOT} in |
|
unknown) |
|
case `${WHOAMI}` in |
|
root) |
|
ROOT=true |
|
;; |
|
*) |
|
ROOT=false |
|
;; |
|
esac |
|
;; |
|
esac |
|
if ${ROOT} ; then |
if ${ROOT} ; then |
OWNER=`expr "$1" : '-o\(.*\)'` |
OWNER=`expr "$1" : '-o\(.*\)'` |
CHOWNIT=true |
CHOWNIT=true |