freebsd-ports/net-mgmt/nagvis/files/pkg-install.in
Olli Hauer 58ce275fd1 - update to version 1.5.9
PR:		ports/156608
Submitted by:	ohauer
2011-05-14 16:50:17 +00:00

90 lines
2.6 KiB
Makefile

#!/bin/sh
#-*- mode: makefile; tab-width: 4; -*-
# ex:ts=4
# $FreeBSD$
# Set strict file and directory permissions.
# Idea taken from nagvis install.sh
# 2010-12-30 olli hauer
OWNER=%%WWW_OWNER%%:%%WWW_GROUP%%
DIRMODE=%%DIRMODE%%
FILEMODE=%%FILEMODE%%
set_perm() {
# create missing directories
[ "${2#${2%?}}" != '*' ] && /bin/mkdir -p ${2}
if [ -d "$2" -o -f "$2" -o "${2#${2%?}}" = '*' ]; then
# Don't do anything when called with globbing and directory is empty
if [ "${2#${2%?}}" = '*' -a -z "$(/bin/ls "${2%/*}/")" ]; then
return 0
else
if [ -z $3 ]; then
# echo "chown -R $OWNER $2"
chown -R $OWNER $2
else
# echo "chown $OWNER $2"
chown $OWNER $2
fi
# echo "chmod $1 $2"
chmod $1 $2
fi
fi
}
# handle single files
set_file_perm() {
# echo "chown $OWNER $2"
chown $OWNER $2
# echo "chmod $1 $2"
chmod $1 $2
}
# fix directory owner if installed via package
if [ "$2" = "POST-INSTALL" ]; then
# honor PREFIX if installed from package
if [ ! -z $PKG_PREFIX ]; then
NAGVIS_PATH=${PKG_PREFIX%/}/www/nagvis
else
NAGVIS_PATH=%%WWWDIR%%
fi
echo "==========================================================="
echo "Set access rights on ${NAGVIS_PATH} ..."
# Set more strict access rights for save keeping. There is no need
# to grant WWW_OWNER:WWW_GROUP general ownership and write permission.
chown root:%%WWW_GROUP%% "$NAGVIS_PATH"
chmod $DIRMODE "$NAGVIS_PATH"
# from nagvis source install.sh (with some modifications)
set_perm $DIRMODE "$NAGVIS_PATH/etc" non_recursive
set_perm $DIRMODE "$NAGVIS_PATH/etc/automaps"
set_perm $FILEMODE "$NAGVIS_PATH/etc/automaps/*"
set_perm $DIRMODE "$NAGVIS_PATH/etc/geomap"
set_perm $FILEMODE "$NAGVIS_PATH/etc/geomap/*"
set_perm $DIRMODE "$NAGVIS_PATH/etc/maps"
set_perm $FILEMODE "$NAGVIS_PATH/etc/maps/*"
set_perm $DIRMODE "$NAGVIS_PATH/share/userfiles/images/maps"
set_perm $FILEMODE "$NAGVIS_PATH/share/userfiles/images/maps/*"
set_perm $DIRMODE "$NAGVIS_PATH/share/userfiles/images/shapes"
set_perm $FILEMODE "$NAGVIS_PATH/share/userfiles/images/shapes/*"
set_perm $DIRMODE "$NAGVIS_PATH/var"
set_perm $FILEMODE "$NAGVIS_PATH/var/*"
set_perm $DIRMODE "$NAGVIS_PATH/var/tmpl"
set_perm $DIRMODE "$NAGVIS_PATH/var/tmpl/cache"
set_perm $DIRMODE "$NAGVIS_PATH/var/tmpl/compile"
set_perm $DIRMODE "$NAGVIS_PATH/share/var"
set_perm $FILEMODE "$NAGVIS_PATH/share/var/*"
# some additional file permission adjustments
set_file_perm $FILEMODE "$NAGVIS_PATH/etc/nagvis.ini.*"
[ -f "$NAGVIS_PATH/etc/auth.db" ] && set_file_perm $FILEMODE "$NAGVIS_PATH/etc/auth.db"
echo "==========================================================="
fi