diff options
Diffstat (limited to 'www/py-webware/pkg-install')
-rw-r--r-- | www/py-webware/pkg-install | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/www/py-webware/pkg-install b/www/py-webware/pkg-install new file mode 100644 index 000000000000..01601875c2cc --- /dev/null +++ b/www/py-webware/pkg-install @@ -0,0 +1,78 @@ +#! /bin/sh + +# This script is an adapted version of the pkg-install of the +# databases/postgresql7 port. (Wouldn't it be nice to have a +# target for making a user in bsd.port.mk or something similar?) + +# $FreeBSD$ + +PATH=/bin:/usr/sbin:${LOCALBASE}/bin:/usr/local/bin + +# set these if not provided by the Makefile +WEBWARE_USER=${WEBWARE_USER:-webkit} +WEBWARE_GROUP=${WEBWARE_USER:-webkit} +WEBWARE_MASTER_DIR=${WEBWARE_MASTER_DIR:-${PKG_PREFIX}/share/webware} +WEBKIT_HOME_DIR=${WEBKIT_HOME_DIR:-${PKG_PREFIX}/www/webkit} + +add_webkit_account() +{ + UID=101 # shouldn't be used for any other user! + GID=${UID} + + if pw group show "${WEBWARE_GROUP}" 2>/dev/null; then + echo "You already have a group \"${WEBWARE_GROUP}\", so I will use it." + else + if pw groupadd ${WEBWARE_GROUP} -g ${GID}; then + echo "Added group \"${WEBWARE_GROUP}\"." + else + echo "Adding group \"${WEBWARE_GROUP}\" failed..." + exit 1 + fi + fi + + if pw user show "${WEBWARE_USER}" 2>/dev/null; then + echo "You already have a user \"${WEBWARE_USER}\", so I will use it." + else + if pw useradd ${WEBWARE_USER} -u ${UID} -g ${WEBWARE_GROUP} -h - \ + -d ${WEBKIT_HOME_DIR} -c "WebKit Default User" + then + echo "Added user \"${WEBWARE_USER}\"." + else + echo "Adding user \"${WEBWARE_USER}\" failed..." + exit 1 + fi + fi +} + +compile_python_files() +{ + (cd ${WEBWARE_MASTER_DIR} && python install.py --password-prompt=no) +} + +make_webkit_home_dir() +{ + # make the default webware user home directory if it doesn't exist yet + if ! [ -d ${WEBKIT_HOME_DIR} ] ; then + mkdir -p ${WEBKIT_HOME_DIR} + fi + + # make application workdir for webkit user + python ${WEBWARE_MASTER_DIR}/bin/MakeAppWorkDir.py \ + ${WEBKIT_HOME_DIR} + chown -R root:wheel ${WEBKIT_HOME_DIR} + chown -R ${WEBWARE_USER}:${WEBWARE_GROUP} \ + ${WEBKIT_HOME_DIR}/Cache ${WEBKIT_HOME_DIR}/ErrorMsgs \ + ${WEBKIT_HOME_DIR}/Logs ${WEBKIT_HOME_DIR}/Sessions +} + +case $2 in +PRE-INSTALL) + add_webkit_account + ;; +POST-INSTALL) + compile_python_files + if ! [ -f ${WEBKIT_HOME_DIR}/AppServer ] ; then + make_webkit_home_dir + fi + ;; +esac |