mkdirs (1146B)
1#!/bin/sh 2# 3# Creates or removes directories as specified by the make_dirs 4# environment variable, as follows (relative to rootdir): 5# 6# dir mode uid gid 7# blah 0755 0 0 8# 9# Arguments: $ACTION = [run/targets] 10# $TARGET = [post-install/post-remove] 11# $PKGNAME 12# $VERSION 13# $UPDATE = [yes/no] 14# 15ACTION="$1" 16TARGET="$2" 17PKGNAME="$3" 18VERSION="$4" 19UPDATE="$5" 20 21case "$ACTION" in 22targets) 23 echo "post-install post-remove" 24 ;; 25run) 26 [ -z "$make_dirs" ] && return 0 27 28 if [ "$TARGET" = "post-install" ]; then 29 # create directories 30 set -- ${make_dirs} 31 while [ $# -gt 0 ]; do 32 _dir="$1"; _mode="$2"; _uid="$3"; _gid="$4" 33 if [ ! -d ".${_dir}" ]; then 34 mkdir -p ".${_dir}" || \ 35 echo "Failed to create .${_dir}!" 36 fi 37 chown "${_uid}:${_gid}" ".${_dir}" && \ 38 chmod ${_mode} ".${_dir}" || \ 39 echo "Failed to set perms ${_mode} ${_uid}:${_gid} to .${_dir}!" 40 shift; shift; shift; shift 41 done 42 else 43 # remove directories 44 set -- ${make_dirs} 45 while [ $# -gt 0 ]; do 46 _dir="$1" 47 if [ -d ".${_dir}" ]; then 48 rmdir ".${_dir}" >/dev/null 2>&1 49 fi 50 shift; shift; shift; shift 51 done 52 fi 53 ;; 54*) 55 exit 1 56 ;; 57esac 58 59exit 0