void-packages/srcpkgs/xbps-triggers/files/mkdirs

62 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
#
# Creates or removes directories as specified by the make_dirs
# environment variable, as follows (relative to rootdir):
#
# dir mode uid gid
# blah 0755 0 0
#
# Arguments: $ACTION = [run/targets]
# $TARGET = [post-install/post-remove]
# $PKGNAME
# $VERSION
# $UPDATE = [yes/no]
#
ACTION="$1"
TARGET="$2"
PKGNAME="$3"
VERSION="$4"
UPDATE="$5"
export PATH="$PATH:/usr/local/bin"
case "$ACTION" in
targets)
echo "post-install post-remove"
;;
run)
[ -z "$make_dirs" ] && return 0
if [ "$TARGET" = "post-install" ]; then
# create directories
set -- ${make_dirs}
while [ $# -gt 0 ]; do
_dir="$1"; _mode="$2"; _uid="$3"; _gid="$4"
if [ ! -d ".${_dir}" ]; then
mkdir -p ".${_dir}" || \
echo "Failed to create .${_dir}!"
fi
chown "${_uid}:${_gid}" ".${_dir}" && \
chmod ${_mode} ".${_dir}" || \
echo "Failed to set perms ${_mode} ${_uid}:${_gid} to .${_dir}!"
shift; shift; shift; shift
done
else
# remove directories
set -- ${make_dirs}
while [ $# -gt 0 ]; do
_dir="$1"
if [ -d ".${_dir}" ]; then
rmdir ".${_dir}" >/dev/null 2>&1
fi
shift; shift; shift; shift
done
fi
;;
*)
exit 1
;;
esac
exit 0