rlm@1: #!/bin/bash rlm@1: # Copyright (c) 2000 Matthias S. Benkmann
rlm@1: # You may do everything with this code except misrepresent its origin. rlm@1: # PROVIDED `AS IS' WITH ABSOLUTELY NO WARRANTY OF ANY KIND! rlm@1: rlm@1: watchdir=/usr/share/locale rlm@1: rlm@1: DAISY_CHAIN="" rlm@1: rlm@1: for p in $(type -ap mkdir) ; do rlm@1: if [ ! $p -ef $0 ]; then DAISY_CHAIN=$p ; break ; fi rlm@1: done rlm@1: rlm@1: if [ ! -n "$DAISY_CHAIN" ]; then rlm@1: echo Cannot find real ${0##*/} command rlm@1: exit 1 rlm@1: fi rlm@1: rlm@1: if [ $UID == 0 ]; then rlm@1: exec $DAISY_CHAIN "$@" rlm@1: fi rlm@1: rlm@1: cmdline="$@" rlm@1: rlm@1: dirs="" rlm@1: for((i=$#; $i>0;)) rlm@1: do rlm@1: a="$1" rlm@1: shift 1; i=$(($i-1)) rlm@1: case "$a" in rlm@1: $watchdir/*) dirs="$dirs ""`expr $a : "$watchdir/\(.*\)"`" rlm@1: set -- "$@" "$a" rlm@1: ;; rlm@1: *) set -- "$@" "$a" ;; rlm@1: esac rlm@1: done rlm@1: rlm@1: $DAISY_CHAIN "$@" || exit $? rlm@1: rlm@1: test z"$dirs" != z && rlm@1: echo 1>&2 '***' mkdir "$cmdline" rlm@1: for dir in $dirs ; do rlm@1: cumuldir="" rlm@1: for d in `echo $dirs | sed 's#/# #g' -` ; do rlm@1: cumuldir=$cumuldir$d/ rlm@1: chgrp install $watchdir/$cumuldir rlm@1: test -k $watchdir/$cumuldir || chmod g+w,o+t $watchdir/$cumuldir rlm@1: done rlm@1: done rlm@1: exit 0