summaryrefslogtreecommitdiff
path: root/www/py-webware/pkg-install
diff options
context:
space:
mode:
Diffstat (limited to 'www/py-webware/pkg-install')
-rw-r--r--www/py-webware/pkg-install78
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