Index: head/net-mgmt/seafile-server/Makefile.include =================================================================== --- head/net-mgmt/seafile-server/Makefile.include (revision 503783) +++ head/net-mgmt/seafile-server/Makefile.include (revision 503784) @@ -1,30 +1,31 @@ # $FreeBSD$ SEAFILE_VER=6.3.4 SEAHUB_VER=6.3.13 # Various vars used in most/all the Makefiles HAIWENDIR= www/haiwen SEAFILE_SERVER= ${HAIWENDIR}/seafile-server SEAHUBDIR= ${SEAFILE_SERVER}/seahub SEABIN= ${SEAFILE_SERVER}/seafile/bin SEALIB= ${SEAFILE_SERVER}/seafile/lib SITEPACKAGEDIR= ${SEAHUBDIR}/thirdpart SEAHUB_DATA_DIR= ${HAIWENDIR}/seahub-data USERS= seafile GROUPS= ${USERS} PLIST_SUB+= USERS=${USERS} \ GROUPS=${GROUPS} \ SEAFILE_SERVER=${SEAFILE_SERVER} \ SEAHUBDIR=${SEAHUBDIR} \ HAIWENDIR=${HAIWENDIR} \ SITEPACKAGEDIR=${SITEPACKAGEDIR} SUB_LIST+= USERS=${USERS} \ GROUPS=${GROUPS} \ SEAFILE_SERVER=${SEAFILE_SERVER} \ HAIWENDIR=${HAIWENDIR} \ - PYTHON=${PYTHON_VERSION} + PYTHON=${PYTHON_VERSION} \ + PYTHON_VER=${PYTHON_VER} Index: head/www/seahub/Makefile =================================================================== --- head/www/seahub/Makefile (revision 503783) +++ head/www/seahub/Makefile (revision 503784) @@ -1,100 +1,101 @@ # $FreeBSD$ PORTNAME= seahub DISTVERSIONPREFIX= v DISTVERSION= ${SEAHUB_VER} DISTVERSIONSUFFIX= -pro +PORTREVISION= 1 CATEGORIES= www MAINTAINER= ultima@FreeBSD.org COMMENT= Web frontend for Seafile LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django111>=0:www/py-django111@${PY_FLAVOR} RUN_DEPENDS= bash:shells/bash \ ${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:net-mgmt/seafile-server \ ${PYTHON_PKGNAMEPREFIX}django111>=0:www/py-django111@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-simple-captcha>=0:www/py-django-simple-captcha@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-statici18n>=0:www/py-django-statici18n@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}djangorestframework>=0:www/py-djangorestframework@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django_compressor>=0:www/py-django_compressor@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-formtools>=0:www/py-django-formtools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-post_office>=0:www/py-django-post_office@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-constance>=0:www/py-django-constance@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-webpack-loader>=0.6.0:www/py-django-webpack-loader@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gunicorn>=0:www/py-gunicorn@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=0.6.0:www/py-requests-oauthlib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}openpyxl>=0:textproc/py-openpyxl@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}MySQLdb>0:databases/py-MySQLdb@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}qrcode>0:textproc/py-qrcode@${PY_FLAVOR} \ ${PY_FUTURES} USES= gettext-tools:build python:-2.7 shebangfix USE_GITHUB= yes GH_ACCOUNT= haiwen SHEBANG_FILES= *.sh tests/*.sh *.template *.py tools/*.py seahub/*.py NO_ARCH= yes OPTIONS_DEFINE= SEAFOBJ SEAFDAV NLS OPTIONS_DEFAULT= SEAFOBJ SEAFDAV OPTIONS_SUB= yes ALL_TARGET= locale SEAFOBJ_DESC= Enable Seafile file object modeling support SEAFDAV_DESC= Enable Seafile WsgiDav-based support SEAFOBJ_CONFIGURE_WITH= seafobj SEAFOBJ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}seafobj>0:www/py-seafobj@${PY_FLAVOR} SEAFDAV_CONFIGURE_WITH= seafdav SEAFDAV_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}seafdav>0:www/py-seafdav@${PY_FLAVOR} NLS_USES= gettext iconv NLS_CONFIGURE_OFF= --disable-nls USE_RC_SUBR= ${PORTNAME} SUB_FILES= pkg-message post-patch: ${REINPLACE_CMD} -Ee "s|SEAFILE_VERSION = '[0-9]+\.[0-9]+\.[0-9]+'|SEAFILE_VERSION = '${SEAFILE_VER}'|" \ ${WRKSRC}/seahub/settings.py ${REINPLACE_CMD} -e 's|##FIX_WWWDIR##|${PREFIX}/${HAIWENDIR}|' ${WRKSRC}/*.template ${REINPLACE_CMD} -e 's|##FIX_SEALIB##|${PREFIX}/${SEALIB}|' ${WRKSRC}/*.template ${REINPLACE_CMD} -e 's|##FIX_SITEPACKAGEDIR##|${PREFIX}/${SITEPACKAGEDIR}|' ${WRKSRC}/*.template ${REINPLACE_CMD} -e 's|##PYTHON_VERSION##|${PYTHON_VERSION}|g' ${WRKSRC}/*.template ${REINPLACE_CMD} -e 's|##FIX_LOCALBASE##|${LOCALBASE}|' ${WRKSRC}/*.template ${FIND} ${WRKSRC} -name "*.bak" -exec ${RM} {} \; ${FIND} ${WRKSRC} -name "*.orig" -exec ${RM} {} \; (cd ${WRKSRC}; (for file in run-seahub.sh.template \ send_user_notifications.sh.template setenv.sh.template; do \ ${CP} $$file $${file%%.template}; \ done)) ${RM} ${WRKSRC}/.gitignore do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/runtime/ \ ${STAGEDIR}${PREFIX}/${SEAHUBDIR} ${STAGEDIR}${PREFIX}/${SEAHUB_DATA_DIR} \ ${STAGEDIR}${PREFIX}/${SEAHUB_DATA_DIR}/custom (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SEAHUBDIR} \ "! -name Makefile ! -name seahub.conf ! -name avatars \ ! -name default-non-register.jpg ! -name default.png ! -name groups") (cd ${WRKSRC}/media && ${COPYTREE_SHARE} ./avatars \ ${STAGEDIR}${PREFIX}/${SEAHUB_DATA_DIR}) ${LN} -fs ../../../seahub-data/avatars \ ${STAGEDIR}${PREFIX}/${SEAHUBDIR}/media/avatars .include "${.CURDIR}/../../net-mgmt/seafile-server/Makefile.include" .include Index: head/www/seahub/distinfo =================================================================== --- head/www/seahub/distinfo (revision 503783) +++ head/www/seahub/distinfo (revision 503784) @@ -1,3 +1,3 @@ -TIMESTAMP = 1552690870 -SHA256 (haiwen-seahub-v6.3.13-pro_GH0.tar.gz) = 189e8a1b73db2ec164ff505e4bb52efe0401f8a01bae415667bedea4ade84e25 -SIZE (haiwen-seahub-v6.3.13-pro_GH0.tar.gz) = 26059355 +TIMESTAMP = 1560056509 +SHA256 (haiwen-seahub-v6.3.13-pro_GH0.tar.gz) = ed5aea17d7b727a094b9702c222842aafd2e7a9fd019469fa7b167df3048c26d +SIZE (haiwen-seahub-v6.3.13-pro_GH0.tar.gz) = 26060069 Index: head/www/seahub/files/seahub.in =================================================================== --- head/www/seahub/files/seahub.in (revision 503783) +++ head/www/seahub/files/seahub.in (revision 503784) @@ -1,162 +1,162 @@ #!/bin/sh # # PROVIDE: seahub # REQUIRE: LOGIN cleanvar seafile # KEYWORD: shutdown # # # Add the following lines to /etc/rc.conf to enable seahub: # # seahub_enable (bool): Set to "NO" by default. # Set it to "YES" to enable seahub. # seafile_user (str): User to run seafile as # Default to "%%USERS%%" created by the port # seafile_group (str): Group to run seafile as # Default to "%%GROUPS%%" created by the port # seafile_path (str): Set to "" by default will use the path # %%PREFIX%%/%%SEAFILE_SERVER%%. # Set it to a different path. # seafile_ccnet (str): Set to "" by default will use the path # %%PREFIX%%/%%HAIWENDIR%%/ccnet. # Set it to a different path. # seafile_conf (str): Set to "" by default will use the path # %%PREFIX%%/%%HAIWENDIR%%/conf. # Set it to a different path. # seafile_datadir (str): Set to "" by default will use the path # in file %%PREFIX%%/%%HAIWENDIR%%/ccnet/seafile.ini. # Set it to a different path. # seafile_logdir (str): Set to "" by default will use the path # %%PREFIX%%/%%HAIWENDIR%%/logs. # Set it to a different path. # seahub_host (int): Default is 127.0.0.1. # seahub_port (int): Default is 8000. . /etc/rc.subr name="seahub" rcvar=seahub_enable load_rc_config $name extra_commands="clearsessions" start_cmd="seahub_start" restart_cmd="seahub_restart" stop_cmd="seahub_stop" clearsessions_cmd="seahub_clearsessions" : ${seahub_enable="NO"} : ${seafile_user:="%%USERS%%"} : ${seafile_group:="%%GROUPS%%"} : ${seafile_path:="%%PREFIX%%/%%SEAFILE_SERVER%%"} : ${seafile_ccnet:="%%PREFIX%%/%%HAIWENDIR%%/ccnet"} : ${seafile_conf:="%%PREFIX%%/%%HAIWENDIR%%/conf"} : ${seafile_datadir:="`cat ${seafile_ccnet}/seafile.ini 2>/dev/null`"} : ${seafile_logdir:="%%PREFIX%%/%%HAIWENDIR%%/logs"} : ${seahub_host:="127.0.0.1"} : ${seahub_port:="8000"} manage_py=${seafile_path}/seahub/manage.py -gunicorn_exe=%%PREFIX%%/bin/gunicorn +gunicorn_exe=%%PREFIX%%/bin/gunicorn-%%PYTHON_VER%% gunicorn_conf=${seafile_conf}/gunicorn.conf pidfile=%%PREFIX%%/%%HAIWENDIR%%/pids/seahub.pid command="%%PREFIX%%/bin/%%PYTHON%%" required_dirs="${seafile_ccnet} ${seafile_conf} ${seafile_datadir} ${seafile_logdir}" required_files="${seafile_ccnet}/seafile.ini" validate_seahub_running() { if pgrep -f "${manage_py}" 2>/dev/null 1>&2; then echo "Seahub is already running." exit 1; fi } warning_if_seafile_not_running() { if ! pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null 1>&2; then echo echo "Warning: seafile not running. Have you run \"service seafile start\" ?" echo exit 1 fi } prepare_env() { if [ -z "$LANG" ]; then echo "LANG is not set in ENV, set to en_US.UTF-8" export LANG='en_US.UTF-8' fi if [ -z "$LC_ALL" ]; then echo "LC_ALL is not set in ENV, set to en_US.UTF-8" export LC_ALL='en_US.UTF-8' fi export CCNET_CONF_DIR=${seafile_ccnet} export SEAFILE_CONF_DIR=${seafile_datadir} export SEAFILE_CENTRAL_CONF_DIR=${seafile_conf} export PYTHONPATH=${seafile_path}/seafile/lib/python2.7/site-packages:${seafile_path}/seafile/lib64/python2.7/site-packages:${seafile_path}/seahub/thirdpart:$PYTHONPATH export SEAHUB_LOG_DIR=${seafile_logdir} } before_start() { prepare_env; warning_if_seafile_not_running; validate_seahub_running; } seahub_clearsessions() { prepare_env; echo "Start clear expired session records ..." su -m "${seafile_user}" -c "$command \"${manage_py}\" clearsessions" echo echo "Done" echo } seahub_start() { if checkyesno seahub_enable; then check_required_before; before_start; echo "Starting seahub at port ${seahub_port} ..." su -m "${seafile_user}" -c "$command \"${gunicorn_exe}\" seahub.wsgi:application -c \"${gunicorn_conf}\" -b \"0.0.0.0:${seahub_port}\" --preload --chdir \"$seafile_path/seahub\"" # Ensure seahub is started successfully sleep 5 if ! pgrep -f "seahub.wsgi:application" 2>/dev/null 1>&2; then printf "\033[33mError:Seahub failed to start.\033[m\n" echo "Please try to run \"./seahub.sh start\" again" exit 1; fi echo echo "Seahub is started" echo else return 0 fi } seahub_stop() { if [ -f ${pidfile} ]; then pid=$(cat "${pidfile}") echo "Stopping ${name}." kill ${pid} rm -f ${pidfile} return 0 else echo "Seahub is not running" fi } seahub_restart() { seahub_stop; sleep 2 seahub_start; } run_rc_command "$1"