From owner-svn-ports-all@freebsd.org Sun May 29 13:57:54 2016 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 762C3B512C4; Sun, 29 May 2016 13:57:54 +0000 (UTC) (envelope-from amdmi3@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E8DD1FBD; Sun, 29 May 2016 13:57:54 +0000 (UTC) (envelope-from amdmi3@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4TDvrQX072089; Sun, 29 May 2016 13:57:53 GMT (envelope-from amdmi3@FreeBSD.org) Received: (from amdmi3@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4TDvqox072082; Sun, 29 May 2016 13:57:52 GMT (envelope-from amdmi3@FreeBSD.org) Message-Id: <201605291357.u4TDvqox072082@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: amdmi3 set sender to amdmi3@FreeBSD.org using -f From: Dmitry Marakasov Date: Sun, 29 May 2016 13:57:52 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r416105 - in head/www/seahub: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2016 13:57:54 -0000 Author: amdmi3 Date: Sun May 29 13:57:52 2016 New Revision: 416105 URL: https://svnweb.freebsd.org/changeset/ports/416105 Log: - Update to 5.1.5 - Multiple port improvements PR: 203929 Submitted by: Ultima1252@gmail.com (maintainer) Added: head/www/seahub/files/patch-send__user__notifications.sh.template - copied, changed from r416104, head/www/seahub/files/patch-send_user_notifications.sh.template head/www/seahub/files/pkg-message.in (contents, props changed) Deleted: head/www/seahub/files/altinstall.pth head/www/seahub/files/patch-send_user_notifications.sh.template head/www/seahub/files/setup.cfg head/www/seahub/files/setup.py Modified: head/www/seahub/Makefile head/www/seahub/distinfo head/www/seahub/files/patch-setenv.sh.template head/www/seahub/files/seahub.in head/www/seahub/pkg-plist Modified: head/www/seahub/Makefile ============================================================================== --- head/www/seahub/Makefile Sun May 29 13:55:12 2016 (r416104) +++ head/www/seahub/Makefile Sun May 29 13:57:52 2016 (r416105) @@ -1,37 +1,10 @@ # $FreeBSD$ PORTNAME= seahub -PORTVERSION= 4.0.5 -PORTREVISION= 1 +PORTVERSION= 5.1.5 DISTVERSIONPREFIX= v DISTVERSIONSUFFIX= -pro CATEGORIES= www -MASTER_SITES= https://pypi.python.org/packages/source/p/pip/:pip \ - https://pypi.python.org/packages/source/p/pbr/:pbr \ - https://pypi.python.org/packages/source/l/lockfile/:lockfile \ - https://pypi.python.org/packages/source/s/six/:six \ - https://pypi.python.org/packages/source/g/gunicorn/:gunicorn \ - https://pypi.python.org/packages/source/f/flup/:flup \ - https://pypi.python.org/packages/source/d/daemon/:daemon \ - https://pypi.python.org/packages/source/c/chardet/:chardet \ - https://pypi.python.org/packages/source/p/python-dateutil/:dateutil \ - https://pypi.python.org/packages/source/P/Pillow/:Pillow \ - https://pypi.python.org/packages/source/D/Django/:Django \ - http://downloads.reviewboard.org/releases/Djblets/0.6/:Djblets -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ - pip-1.5.6.tar.gz:pip \ - pbr-0.10.0.tar.gz:pbr \ - lockfile-0.10.2.tar.gz:lockfile \ - six-1.8.0.tar.gz:six \ - gunicorn-18.0.tar.gz:gunicorn \ - flup-1.0.2.tar.gz:flup \ - daemon-1.1.tar.gz:daemon \ - chardet-2.3.0.tar.gz:chardet \ - python-dateutil-2.2.tar.gz:dateutil \ - Pillow-2.6.1.zip:Pillow \ - Django-1.5.9.tar.gz:Django \ - Djblets-0.6.14.tar.gz:Djblets -DIST_SUBDIR= ${PORTNAME} MAINTAINER= ultima1252@gmail.com COMMENT= Web frontend for Seafile @@ -39,24 +12,38 @@ COMMENT= Web frontend for Seafile LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -RUN_DEPENDS= ${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:net-mgmt/seafile \ - bash:shells/bash +RUN_DEPENDS= bash:shells/bash \ + ${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:net-mgmt/seafile \ + ${PYTHON_PKGNAMEPREFIX}django18>=0:www/py-django18 \ + ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz \ + ${PYTHON_PKGNAMEPREFIX}django-statici18n>=0:www/py-django-statici18n \ + ${PYTHON_PKGNAMEPREFIX}djangorestframework>=0:www/py-djangorestframework \ + ${PYTHON_PKGNAMEPREFIX}django_compressor>=0:www/py-django_compressor \ + ${PYTHON_PKGNAMEPREFIX}django-post_office>=0:www/py-django-post_office \ + ${PYTHON_PKGNAMEPREFIX}django-constance>=0:www/py-django-constance \ + ${PYTHON_PKGNAMEPREFIX}gunicorn>=0:www/py-gunicorn \ + ${PYTHON_PKGNAMEPREFIX}flup>=0:www/py-flup \ + ${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet \ + ${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil \ + ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=0:textproc/py-openpyxl \ + ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow \ + ${PYTHON_PKGNAMEPREFIX}MySQLdb>0:databases/py-MySQLdb USE_GITHUB= yes GH_ACCOUNT= haiwen -USES= python:2 shebangfix -SHEBANG_FILES= *.sh *.template +USES= python:-2.7 shebangfix +SHEBANG_FILES= *.sh tests/*.sh *.template *.py tools/*.py seahub/*.py NO_BUILD= yes -OPTIONS_DEFINE= SEAFOBJ SEAFDAV NLS SITEPACKAGES +OPTIONS_DEFINE= SEAFOBJ SEAFDAV NLS OPTIONS_DEFAULT= SEAFOBJ SEAFDAV OPTIONS_SUB= yes SEAFOBJ_DESC= Enable Seafile file object modeling support SEAFDAV_DESC= Enable Seafile WsgiDav-based support -SITEPACKAGES_DESC= Install python packages under thirdpart directory SEAFOBJ_CONFIGURE_WITH= seafobj SEAFOBJ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}seafobj>0:www/py-seafobj @@ -67,62 +54,39 @@ SEAFDAV_RUN_DEPENDS= ${PYTHON_PKGNAMEPRE NLS_USES= gettext iconv NLS_CONFIGURE_OFF= --disable-nls -VIRTUALENV= ${WRKDIR}/virtualenv HAIWENDIR= www/haiwen SEAFILE_SERVER= ${HAIWENDIR}/seafile-server SEAHUBDIR= ${SEAFILE_SERVER}/seahub SEALIB= ${SEAFILE_SERVER}/seafile/lib SITEPACKAGEDIR= ${SEAHUBDIR}/thirdpart +SEAHUB_DATA_DIR= ${HAIWENDIR}/seahub-data -SEAFILE_USERNAME?= www -SEAFILE_GROUPNAME?= ${SEAFILE_USERNAME} +USERS= seafile +GROUPS= ${USERS} USE_RC_SUBR= ${PORTNAME} -PLIST_SUB= SEAFILE_USERNAME=${SEAFILE_USERNAME} \ - SEAFILE_GROUPNAME=${SEAFILE_GROUPNAME} \ +PLIST_SUB= USERS=${USERS} \ + GROUPS=${GROUPS} \ SEAFILE_SERVER=${SEAFILE_SERVER} \ SEAHUBDIR=${SEAHUBDIR} \ HAIWENDIR=${HAIWENDIR} \ SITEPACKAGEDIR=${SITEPACKAGEDIR} -PORT_SITE_PKGS= pip-1.5.6 \ - pbr-0.10.0 \ - pillow-2.6.1 \ - lockfile-0.10.2 \ - six-1.8.0 \ - gunicorn-18.0 \ - flup-1.0.2 \ - daemon-1.1 \ - chardet-2.3.0 \ - python-dateutil-2.2 \ - Django-1.5.9 \ - Djblets-0.6.14 - -.include - -post-install-sitepackages: - @${MKDIR} ${VIRTUALENV}${LOCALBASE}/bin ${VIRTUALENV}${LOCALBASE}/include \ - ${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages - (cd ${WRKSRC}; export PYTHONPATH=${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages; \ - (for sp_pkg in ${PORT_SITE_PKGS}; do \ - cd ${WRKDIR}/$$sp_pkg && ${ECHO_CMD} -e "[install]\nprefix=${VIRTUALENV}${LOCALBASE}" >> setup.cfg && \ - if [ "$$sp_pkg" == "Djblets-0.6.14" ]; then ${REINPLACE_CMD} -e "s|PIL|Pillow|" ./Djblets.egg-info/requires.txt; \ - ${REINPLACE_CMD} -e "s|PIL|Pillow|" ./setup.py; fi && \ - ${PYTHON_CMD} setup.py install; \ - done)) - (cd ${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages && \ - ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SITEPACKAGEDIR}) +SUB_FILES= pkg-message -.if ${PORT_OPTIONS:MSITEPACKAGES} -post-install:post-install-sitepackages -.endif +SUB_LIST+= USERS=${USERS} \ + GROUPS=${GROUPS} \ + SEAFILE_SERVER=${SEAFILE_SERVER} \ + HAIWENDIR=${HAIWENDIR} \ + PYTHON=${PYTHON_VERSION} -post-patch: +do-patch: echo "${WRKSRC}..." @${MKDIR} ${WRKSRC}/runtime ${CP} ${FILESDIR}/runtime_seahub.conf ${WRKSRC}/runtime/seahub.conf - ${REINPLACE_CMD} -e "s|SEAFILE_VERSION = '3.0.0'|SEAFILE_VERSION = '${PORTVERSION}'|" ${WRKSRC}/seahub/settings.py - ${REINPLACE_CMD} -e 's|##FIX_HAIWENDIR##|${PREFIX}/${HAIWENDIR}|' ${WRKSRC}/*.template + ${REINPLACE_CMD} -e "s|SEAFILE_VERSION = '[0-9].[0-9].[0-9]'|SEAFILE_VERSION = '${PORTVERSION}'|" \ + ${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 @@ -130,16 +94,22 @@ post-patch: ${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}; \ + 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}/${SEAHUBDIR} ${STAGEDIR}${PREFIX}/${SEAHUB_DATA_DIR} ${INSTALL} ${WRKSRC}/runtime/seahub.conf \ ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/runtime/ - (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SEAHUBDIR}) + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SEAHUBDIR} \ + "! -name Makefile ! -name runtime ! -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 ${PREFIX}/${SEAHUB_DATA_DIR}/avatars \ + ${STAGEDIR}${PREFIX}/${SEAHUBDIR}/media/avatars .include Modified: head/www/seahub/distinfo ============================================================================== --- head/www/seahub/distinfo Sun May 29 13:55:12 2016 (r416104) +++ head/www/seahub/distinfo Sun May 29 13:57:52 2016 (r416105) @@ -1,26 +1,3 @@ -SHA256 (seahub/haiwen-seahub-v4.0.5-pro_GH0.tar.gz) = 1c20d8b2871ccf12e9aebb94ef7f631040b26c5728e7988ce1a6c188a0de14c5 -SIZE (seahub/haiwen-seahub-v4.0.5-pro_GH0.tar.gz) = 4994725 -SHA256 (seahub/pip-1.5.6.tar.gz) = b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c -SIZE (seahub/pip-1.5.6.tar.gz) = 938120 -SHA256 (seahub/pbr-0.10.0.tar.gz) = 52a61a863566fafa45507a9aa40e6c88edc1e09d96cde5f5a6aa3b4d26c913ce -SIZE (seahub/pbr-0.10.0.tar.gz) = 77690 -SHA256 (seahub/lockfile-0.10.2.tar.gz) = 9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1 -SIZE (seahub/lockfile-0.10.2.tar.gz) = 20662 -SHA256 (seahub/six-1.8.0.tar.gz) = 047bbbba41bac37c444c75ddfdf0573dd6e2f1fbd824e6247bb26fa7d8fa3830 -SIZE (seahub/six-1.8.0.tar.gz) = 26925 -SHA256 (seahub/gunicorn-18.0.tar.gz) = b61f38786af6b8d644b530552012d669c7415fcf5852de320f290800db97983d -SIZE (seahub/gunicorn-18.0.tar.gz) = 366635 -SHA256 (seahub/flup-1.0.2.tar.gz) = 4bad317a5fc1ce3d4fe5e9b6d846ec38a8023e16876785d4f88102f2c8097dd9 -SIZE (seahub/flup-1.0.2.tar.gz) = 49051 -SHA256 (seahub/daemon-1.1.tar.gz) = acab001b35f4b1a24210ba0900740b7b6eda1f5eb3e8128f8768c98622d5162f -SIZE (seahub/daemon-1.1.tar.gz) = 2094 -SHA256 (seahub/chardet-2.3.0.tar.gz) = e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa -SIZE (seahub/chardet-2.3.0.tar.gz) = 164346 -SHA256 (seahub/python-dateutil-2.2.tar.gz) = eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468 -SIZE (seahub/python-dateutil-2.2.tar.gz) = 259085 -SHA256 (seahub/Pillow-2.6.1.zip) = 96bdd40714daf326d01c6286591b5dfe60336c23b7a6bf8e048bcc339513a414 -SIZE (seahub/Pillow-2.6.1.zip) = 7531553 -SHA256 (seahub/Django-1.5.9.tar.gz) = 47ce505c5046c38817828bee253b7256872f86c4340db1af698cb8548dbaa0d2 -SIZE (seahub/Django-1.5.9.tar.gz) = 8074400 -SHA256 (seahub/Djblets-0.6.14.tar.gz) = 66fca180825ded0051a4c85275dd14b2758f7decbd1d71028b83775440f3adce -SIZE (seahub/Djblets-0.6.14.tar.gz) = 277749 +TIMESTAMP = 1464112057 +SHA256 (haiwen-seahub-v5.1.5-pro_GH0.tar.gz) = 1b3dd496b2d0620fccb51fcb6a266ed2ff3207d8db702e1f86733de4a71add3d +SIZE (haiwen-seahub-v5.1.5-pro_GH0.tar.gz) = 6839749 Copied and modified: head/www/seahub/files/patch-send__user__notifications.sh.template (from r416104, head/www/seahub/files/patch-send_user_notifications.sh.template) ============================================================================== --- head/www/seahub/files/patch-send_user_notifications.sh.template Sun May 29 13:55:12 2016 (r416104, copy source) +++ head/www/seahub/files/patch-send__user__notifications.sh.template Sun May 29 13:57:52 2016 (r416105) @@ -1,5 +1,5 @@ ---- send_user_notifications.sh.template.orig 2014-08-27 23:32:32.180696163 -0400 -+++ send_user_notifications.sh.template 2014-08-27 23:49:17.160755773 -0400 +--- send_user_notifications.sh.template.orig 2015-11-26 15:49:19 UTC ++++ send_user_notifications.sh.template @@ -1,9 +1,9 @@ #!/bin/sh Modified: head/www/seahub/files/patch-setenv.sh.template ============================================================================== --- head/www/seahub/files/patch-setenv.sh.template Sun May 29 13:55:12 2016 (r416104) +++ head/www/seahub/files/patch-setenv.sh.template Sun May 29 13:57:52 2016 (r416105) @@ -1,10 +1,10 @@ ---- setenv.sh.template.orig 2014-08-27 23:31:44.842536517 -0400 -+++ setenv.sh.template 2014-08-27 23:45:27.650653756 -0400 +--- setenv.sh.template.orig 2015-11-11 03:13:51 UTC ++++ setenv.sh.template @@ -1,3 +1,5 @@ -export CCNET_CONF_DIR=/home/plt/dev/ccnet/seafile/tests/basic/conf2 -export SEAFILE_CONF_DIR=/home/plt/dev/ccnet/seafile/tests/basic/conf2/seafile-data -export PYTHONPATH=/opt/lib/python2.6/site-packages:thirdpart:$PYTHONPATH -+#! /bin/sh ++#!/bin/sh + +export CCNET_CONF_DIR=##FIX_WWWDIR##/ccnet +export SEAFILE_CONF_DIR=##FIX_WWWDIR##/seafile-data Added: head/www/seahub/files/pkg-message.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/seahub/files/pkg-message.in Sun May 29 13:57:52 2016 (r416105) @@ -0,0 +1,6 @@ +If a new config is created, run this to setup admin. + +%%PREFIX%%/%%SEAFILE_SERVER%%/reset-admin.sh +If a new config is created, run this to setup admin. + +%%PREFIX%%/%%SEAFILE_SERVER%%/reset-admin.sh Modified: head/www/seahub/files/seahub.in ============================================================================== --- head/www/seahub/files/seahub.in Sun May 29 13:55:12 2016 (r416104) +++ head/www/seahub/files/seahub.in Sun May 29 13:57:52 2016 (r416105) @@ -1,7 +1,7 @@ #!/bin/sh # # PROVIDE: seahub -# REQUIRE: LOGIN cleanvar +# REQUIRE: LOGIN cleanvar seafile # KEYWORD: shutdown # @@ -10,12 +10,29 @@ # # 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_fastcgi (bool): Set to "NO" by default. # Set to "YES" to start the fastcgi mode. -# seahub_port (str): Default is 8000. -# seahub_path (str): Set to "" by default will use the path -# /usr/local/www/haiwen/seahub-server. -# Set it to a different path. +# seahub_host (int): Default is 127.0.0.1. +# seahub_port (int): Default is 8000. . /etc/rc.subr @@ -24,49 +41,150 @@ rcvar=seahub_enable load_rc_config $name -start_cmd="${name}_start" -restart_cmd="${name}_restart" -stop_cmd="${name}_stop" +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_fastcgi="NO"} +: ${seahub_host:="127.0.0.1"} +: ${seahub_port:="8000"} + +manage_py=${seafile_path}/seahub/manage.py +gunicorn_conf=${seafile_path}/runtime/seahub.conf +pidfile=${seafile_path}/runtime/seahub.pid +errorlog=${seafile_path}/runtime/error.log +accesslog=${seafile_path}/runtime/access.log + +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.6/site-packages:${seafile_path}/seafile/lib64/python2.6/site-packages:${seafile_path}/seahub/thirdpart:$PYTHONPATH + export PYTHONPATH=${seafile_path}/seafile/lib/python2.7/site-packages:${seafile_path}/seafile/lib64/python2.7/site-packages:$PYTHONPATH + export SEAHUB_LOG_DIR=${seafile_logdir} + +} + +before_start() { + prepare_env; + warning_if_seafile_not_running; + validate_seahub_running; +} -: ${seahub_path:=%%PREFIX%%/www/haiwen/seafile-server} -: ${seahub_port:=8000} +seahub_clearsessions() { + prepare_env; -command="$seahub_path/seahub.sh" + echo "Start clear expired session records ..." + su -m "${seafile_user}" -c "$command \"${manage_py}\" clearsessions" + + echo + echo "Done" + echo +} seahub_start() { - echo ${seahub_path} - echo ${seahub_port} - - if checkyesno ${name}_enable; then - if checkyesno ${name}_fastcgi; then + if checkyesno seahub_enable; then + if checkyesno seahub_fastcgi; then echo "Starting seahub service fastcgi mode" - $command start-fastcgi ${seahub_port} + check_required_before; + before_start; + + # Returns 127.0.0.1 if SEAFILE_FASTCGI_HOST is unset or hasn't got any value, + # otherwise returns value of SEAFILE_FASTCGI_HOST environment variable + + echo "Starting seahub (fastcgi) at ${seahub_host}:${seahub_port} ..." + su -m "${seafile_user}" -c "$command \"${manage_py}\" runfcgi host=\"${seahub_host}\" port=\"${seahub_port}\" pidfile=$pidfile \ + outlog=${accesslog} errlog=${errorlog}" + + # Ensure seahub is started successfully + sleep 5 + if ! pgrep -f "${manage_py}" 1>/dev/null; then + printf "\033[33mError:Seahub failed to start.\033[m\n" + exit 1; + fi + echo + echo "Seahub is started" + echo else - echo "Starting seahub service" - $command start ${seahub_port} %{seahub_port} + check_required_before; + before_start; + echo "Starting seahub at port ${seahub_port} ..." + su -m "${seafile_user}" -c "$command \"${manage_py}\" run_gunicorn -c \"${gunicorn_conf}\" -b \"0.0.0.0:${seahub_port}\" --preload" + + # Ensure seahub is started successfully + sleep 5 + if ! pgrep -f "${manage_py}" 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 fi - else - return 0 + else + return 0 fi } -seahub_stop() -{ - echo "Stoping seahub service" - $command stop +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() { - if checkyesno ${name}_fastcgi; then - echo "Restarting seahub service fastcgi mode" - $command restart-fastcgi ${seahub_port} - else - echo "Restarting seahub service" - $command restart ${seahub_port} - fi + seahub_stop; + sleep 2 + seahub_start; } -load_rc_config $name run_rc_command "$1" Modified: head/www/seahub/pkg-plist ============================================================================== --- head/www/seahub/pkg-plist Sun May 29 13:55:12 2016 (r416104) +++ head/www/seahub/pkg-plist Sun May 29 13:57:52 2016 (r416105) @@ -8,32 +8,445 @@ %%SEAHUBDIR%%/fabfile/__init__.py %%SEAHUBDIR%%/fabfile/locale.py %%SEAHUBDIR%%/i18n.sh +%%SEAHUBDIR%%/locale/ar/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/bg/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/bg_BG/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/ca/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/ca/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/cs/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/cs_CZ/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/da_DK/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/de/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/de/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/el/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/el_GR/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/en/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/en/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/en_US/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/es/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/es/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/es_AR/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/es_AR/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/es_MX/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/es_MX/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/fr/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/fr/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/he/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/he/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/hr/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/hr_HR/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/hu/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/hu/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/is/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/is/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/it/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/it/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/ja/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/ja/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/ko/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/ko/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/lv/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/lv/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/lv_LV/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/nb/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/nb_NO/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/nl/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/nl_NL/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/pl/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/pl/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/pt_BR/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/pt_BR/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/pt_PT/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/ru/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/ru/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/sk/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/sk_SK/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/sl/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/sl_SI/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/sv/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/sv/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/th/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/th_TH/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/tr/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/tr/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/uk/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/uk/LC_MESSAGES/djangojs.po +%%SEAHUBDIR%%/locale/vi/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/zh_CN/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/zh_CN/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/locale/zh_TW/LC_MESSAGES/django.po +%%SEAHUBDIR%%/locale/zh_TW/LC_MESSAGES/djangojs.po %%SEAHUBDIR%%/manage.py +%%SEAHUBDIR%%/media/assets/css/backbone.css +%%SEAHUBDIR%%/media/assets/css/backbone.e3c60fd65a27.css +%%SEAHUBDIR%%/media/assets/css/magnific-popup.656241b2c8ed.css +%%SEAHUBDIR%%/media/assets/css/magnific-popup.css +%%SEAHUBDIR%%/media/assets/css/select2-3.5.2.b9d0598b4e1c.css +%%SEAHUBDIR%%/media/assets/css/select2-3.5.2.css +%%SEAHUBDIR%%/media/assets/css/select2-spinner.7b9776076d5f.gif +%%SEAHUBDIR%%/media/assets/css/select2-spinner.gif +%%SEAHUBDIR%%/media/assets/css/select2.2ca61b76e220.png +%%SEAHUBDIR%%/media/assets/css/select2.custom.9fe18e0ae58c.css +%%SEAHUBDIR%%/media/assets/css/select2.custom.css +%%SEAHUBDIR%%/media/assets/css/select2.png +%%SEAHUBDIR%%/media/assets/css/select2x2.49e3f0060186.png +%%SEAHUBDIR%%/media/assets/css/select2x2.png +%%SEAHUBDIR%%/media/assets/scripts/app/collections/activities.77ea3149773c.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/activities.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/devices.ce46433dc2f6.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/devices.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/dirents.040a5eb353dd.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/dirents.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-discussions.44e990cae2b8.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-discussions.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-members.043343107764.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-members.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-repos.629d7b4d403d.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/group-repos.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/groups.b2bc7f1951b4.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/groups.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/pub-repos.56fb5a44d957.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/pub-repos.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-group-folder-perm.4ee72982f503.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-group-folder-perm.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-shared-download-links.62e5080bd3a1.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-shared-download-links.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-shared-upload-links.fcda4d72bd7a.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-shared-upload-links.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-user-folder-perm.4668eb760aaa.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repo-user-folder-perm.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repos.92498fbca8dc.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/repos.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/starred-files.0fd48b6cab65.js +%%SEAHUBDIR%%/media/assets/scripts/app/collections/starred-files.js +%%SEAHUBDIR%%/media/assets/scripts/app/main.e72a78a72bbe.js +%%SEAHUBDIR%%/media/assets/scripts/app/main.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/activity.dbdb311e9b4c.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/activity.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/device.550278ee3aa2.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/device.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/dirent.c07efc8ecbd5.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/dirent.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group-discussion.6d7706b3388e.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group-discussion.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group-repo.a538f82f1af9.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group.2004ce3576b3.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/group.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/pub-repo.3f52334f11d8.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/pub-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/repo.b07bd5e3b6e6.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/starred-file.bd1fd7cfed45.js +%%SEAHUBDIR%%/media/assets/scripts/app/models/starred-file.js +%%SEAHUBDIR%%/media/assets/scripts/app/router.9d4338b92a2f.js +%%SEAHUBDIR%%/media/assets/scripts/app/router.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/account.f2c65b1d9682.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/account.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/activities.6cda1288e4e2.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/activities.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/activity-item.bea485958936.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/activity-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-group-repo.ec79d1d08b97.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-group-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-pub-repo.6e432a7b9e31.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-pub-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-pubrepo-item.83b33d2ec341.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-pubrepo-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-repo.b72fc7676dc4.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/add-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/create-pub-repo.ce79f8c58507.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/create-pub-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/details.98bb9832bb1a.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/details.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/device.26991cb363d1.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/device.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/devices.f7a71c76de30.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/devices.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/dirent-mvcp.c499744db505.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/dirent-mvcp.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/dirent-rename.982441df26a2.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/dirent-rename.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-change-password.7c8f8db7a529.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-change-password.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-folder-perm-admin.8273386c97cb.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-folder-perm-admin.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-history-settings.4803dcbb740a.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-history-settings.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-share-link-admin.0672516d5f06.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dialogs/repo-share-link-admin.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dir.02920cbcae41.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dir.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dirent-grid.651b5500f929.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dirent-grid.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dirent.6cc3a9245200.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/dirent.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/fileupload.3c98d2504541.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/fileupload.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-perm-item.82219b903356.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-perm-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-perm.541d097583c5.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-perm.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-share-item.8b76a00d4a15.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/folder-share-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-discussion.f345d622bd34.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-discussion.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-discussions.26e69a971181.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-discussions.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-item.e0ea3311eec8.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-manage-member.365797e94e66.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-manage-member.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-manage-members.26c3fd20be85.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-manage-members.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-member.4ab6f561f5b1.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-member.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-members.d1aa17751bfc.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-members.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-repo.a49039a3a363.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-settings.c1527a1f4c3c.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group-settings.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group.bc8663eaa839.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/group.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/groups.b7528bcd84af.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/groups.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/myhome-repos.ac04ecee2de0.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/myhome-repos.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/myhome-shared-repos.9dd550d3e931.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/myhome-shared-repos.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/notifications.014e2094dad3.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/notifications.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/organization-repo.34722b466d0c.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/organization-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/organization.0bc2df34fdd3.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/organization.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo-folder-perm.d70918b7033c.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo-folder-perm.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo-shared-link.b7ec2564223e.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo-shared-link.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo.4d22dfd295a5.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/share.6e66da80c77e.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/share.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/shared-repo.30ca796e613d.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/shared-repo.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/side-nav.3e4649dfdf9f.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/side-nav.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/starred-file-item.599c6b575c74.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/starred-file-item.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/starred-file.8f88d203900a.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/starred-file.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/dropdown.db6556a7a6eb.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/dropdown.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/hl-item-view.a562f3b9a3ba.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/hl-item-view.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/popover.be8c9e7df49f.js +%%SEAHUBDIR%%/media/assets/scripts/app/views/widgets/popover.js +%%SEAHUBDIR%%/media/assets/scripts/build.a0552a4ed8dc.js +%%SEAHUBDIR%%/media/assets/scripts/build.js +%%SEAHUBDIR%%/media/assets/scripts/common.e04b1a324080.js +%%SEAHUBDIR%%/media/assets/scripts/common.js +%%SEAHUBDIR%%/media/assets/scripts/dist/build.e81023b1ccb6.txt +%%SEAHUBDIR%%/media/assets/scripts/dist/build.d9508a510082.js +%%SEAHUBDIR%%/media/assets/scripts/dist/build.js +%%SEAHUBDIR%%/media/assets/scripts/dist/build.txt +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ca/djangojs.c2528b8e21fb.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ca/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/de/djangojs.60e44dbed55b.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/de/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/en/djangojs.7d3052cf2fbf.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/en/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es-ar/djangojs.fcfe6788392f.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es-ar/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es-mx/djangojs.5dcdfaf67a7f.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es-mx/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es/djangojs.a07b2b70fbfa.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/es/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/fr/djangojs.a74d8ba43e70.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/fr/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/he/djangojs.648b3fd2ae90.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/he/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/hu/djangojs.a143fd85f0fa.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/hu/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/is/djangojs.7c474b58871c.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/is/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/it/djangojs.d0d40722ab7b.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/it/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ja/djangojs.63f51f39597d.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ja/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ko/djangojs.304dff70ffde.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ko/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/lv/djangojs.9c3fdaf77b4b.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/lv/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/nl/djangojs.8153d62922f5.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/nl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/pl/djangojs.05646003e192.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/pl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/pt-br/djangojs.9a3a4088c97e.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/pt-br/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ru/djangojs.68cc5d3199f1.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/ru/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sk/djangojs.a30e59df1a2b.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sk/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sl/djangojs.6e392445dc33.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sv/djangojs.88b23a7490d9.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/sv/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/th/djangojs.8815c1a5874e.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/th/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/tr/djangojs.dd3ba3c51a97.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/tr/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/uk/djangojs.e7963bbebfbf.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/uk/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/zh-cn/djangojs.3c70e7c81127.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/zh-cn/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/zh-tw/djangojs.cabe6dd3f54d.js +%%SEAHUBDIR%%/media/assets/scripts/dist/i18n/zh-tw/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/dist/lib/jquery.ui.widget.1.11.3.ba4bd4e41caf.js +%%SEAHUBDIR%%/media/assets/scripts/dist/lib/jquery.ui.widget.1.11.3.js +%%SEAHUBDIR%%/media/assets/scripts/dist/lib/require.75e6d0132deb.js +%%SEAHUBDIR%%/media/assets/scripts/dist/lib/require.js +%%SEAHUBDIR%%/media/assets/scripts/dist/main.d5bc655e7329.js +%%SEAHUBDIR%%/media/assets/scripts/dist/main.js +%%SEAHUBDIR%%/media/assets/scripts/dist/sysadmin-main.04fc935872de.js +%%SEAHUBDIR%%/media/assets/scripts/dist/sysadmin-main.js +%%SEAHUBDIR%%/media/assets/scripts/file-tree.225c1b52bbee.js +%%SEAHUBDIR%%/media/assets/scripts/file-tree.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ca/djangojs.0b7bde8db6d7.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ca/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/de/djangojs.3d559e4657a2.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/de/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/en/djangojs.4fef8f9a3076.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/en/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es-ar/djangojs.67d20b9a10bf.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es-ar/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es-mx/djangojs.5037e19b30f0.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es-mx/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es/djangojs.724f1a942157.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/es/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/fr/djangojs.54253d6a3a87.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/fr/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/he/djangojs.f701701595f1.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/he/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/hu/djangojs.7a8ffdbd8e1f.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/hu/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/is/djangojs.95e6773d924f.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/is/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/it/djangojs.433355eca56a.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/it/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ja/djangojs.f1c2cf8fa83f.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ja/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ko/djangojs.3d570893c4ff.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ko/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/lv/djangojs.378231a600de.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/lv/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/nl/djangojs.5cb669631d87.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/nl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/pl/djangojs.95167ba6553e.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/pl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/pt-br/djangojs.66918dcf7798.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/pt-br/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ru/djangojs.5f67e916a7d2.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/ru/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sk/djangojs.78fad6240039.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sk/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sl/djangojs.b4d2169424f0.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sl/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sv/djangojs.4853d2006a00.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/sv/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/th/djangojs.f53496bdd5ff.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/th/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/tr/djangojs.be605e0502f2.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/tr/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/uk/djangojs.6e7dad71790d.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/uk/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/zh-cn/djangojs.f476bcb718e9.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/zh-cn/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/zh-tw/djangojs.7a3f17ce6df0.js +%%SEAHUBDIR%%/media/assets/scripts/i18n/zh-tw/djangojs.js +%%SEAHUBDIR%%/media/assets/scripts/lib/backbone.c1a39c11a835.js +%%SEAHUBDIR%%/media/assets/scripts/lib/backbone.js +%%SEAHUBDIR%%/media/assets/scripts/lib/backbone.paginator.ee50c2f50e53.js +%%SEAHUBDIR%%/media/assets/scripts/lib/backbone.paginator.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.c0b3962f9f23.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.5.42.1.bc1c71220915.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.5.42.1.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.file-processing.1.3.0.ee4d16d07ff3.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.file-processing.1.3.0.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.ui.9.6.0.afc32532b865.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.ui.9.6.0.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.validation.1.1.2.63b30087cf31.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.fileupload.validation.1.1.2.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.iframe-transport.1.4.ccdffe1d1ff0.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.iframe-transport.1.4.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.magnific-popup.46e3906a2c4d.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.magnific-popup.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.simplemodal.67fb20a63282.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.simplemodal.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.core.954b6603ec44.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.core.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.progressbar.0695670bde95.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.progressbar.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.tabs.7406a3c5d2e3.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.tabs.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.widget.1.11.1.5bae5494c8e9.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.widget.1.11.1.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.widget.1.11.3.e7ca91e0a8c2.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jquery.ui.widget.1.11.3.js +%%SEAHUBDIR%%/media/assets/scripts/lib/js.cookie.4267ca2ad477.js +%%SEAHUBDIR%%/media/assets/scripts/lib/js.cookie.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jstree.1.0.2561f0294340.js +%%SEAHUBDIR%%/media/assets/scripts/lib/jstree.1.0.js +%%SEAHUBDIR%%/media/assets/scripts/lib/marked.min.c2a88705e206.js +%%SEAHUBDIR%%/media/assets/scripts/lib/marked.min.js +%%SEAHUBDIR%%/media/assets/scripts/lib/moment-with-locales.c4492e6216cc.js +%%SEAHUBDIR%%/media/assets/scripts/lib/moment-with-locales.js +%%SEAHUBDIR%%/media/assets/scripts/lib/require.640929dac3c2.js +%%SEAHUBDIR%%/media/assets/scripts/lib/require.js +%%SEAHUBDIR%%/media/assets/scripts/lib/select2-3.5.2.d5f38f0c37db.js +%%SEAHUBDIR%%/media/assets/scripts/lib/select2-3.5.2.js +%%SEAHUBDIR%%/media/assets/scripts/lib/text.71e5a361c2c7.js +%%SEAHUBDIR%%/media/assets/scripts/lib/text.js +%%SEAHUBDIR%%/media/assets/scripts/lib/tmpl.min.0e87d44edb61.js +%%SEAHUBDIR%%/media/assets/scripts/lib/tmpl.min.js +%%SEAHUBDIR%%/media/assets/scripts/lib/underscore.1dccc53d7339.js +%%SEAHUBDIR%%/media/assets/scripts/lib/underscore.js +%%SEAHUBDIR%%/media/assets/scripts/main.ee715e56433e.js +%%SEAHUBDIR%%/media/assets/scripts/main.js +%%SEAHUBDIR%%/media/assets/scripts/pinyin-by-unicode.8a45c2cfbafa.js +%%SEAHUBDIR%%/media/assets/scripts/pinyin-by-unicode.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/collection/device-errors.de63a040c8f3.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/collection/device-errors.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/collection/devices.8d5db2a23814.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/collection/devices.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/main.f7e9051f92b1.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/main.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/device-error.8f106faa372b.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/device-error.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/device.f19a3afd8107.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/device.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/sysinfo.b8f278d86fba.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/models/sysinfo.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/router.2766c70bce4b.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/router.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/dashboard.51a7a29b6678.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/dashboard.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/desktop-devices.ee988b50467e.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/desktop-devices.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device-error.a936d0df1029.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device-error.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device-errors.2b8290ddd2d3.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device-errors.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device.b98906c08588.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/device.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/mobile-devices.e6100fd15170.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/mobile-devices.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/side-nav.10fcdd741b89.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-app/views/side-nav.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-main.e14c688752f6.js +%%SEAHUBDIR%%/media/assets/scripts/sysadmin-main.js %%SEAHUBDIR%%/media/codemirror/codemirror-2.36.js %%SEAHUBDIR%%/media/codemirror/codemirror.css %%SEAHUBDIR%%/media/codemirror/monokai.css @@ -45,93 +458,110 @@ %%SEAHUBDIR%%/media/css/controls.png %%SEAHUBDIR%%/media/css/controls.svg %%SEAHUBDIR%%/media/css/doc_and_pdf.css +%%SEAHUBDIR%%/media/css/editormd.min.css %%SEAHUBDIR%%/media/css/file_view_extra.css %%SEAHUBDIR%%/media/css/font/fontawesome-webfont.eot %%SEAHUBDIR%%/media/css/font/fontawesome-webfont.ttf %%SEAHUBDIR%%/media/css/font/fontawesome-webfont.woff +%%SEAHUBDIR%%/media/css/jquery-ui.datepicker.min.css %%SEAHUBDIR%%/media/css/loading.gif %%SEAHUBDIR%%/media/css/mediaelementplayer.css %%SEAHUBDIR%%/media/css/mobile.css -%%SEAHUBDIR%%/media/css/pagedown.css %%SEAHUBDIR%%/media/css/seacloud.css %%SEAHUBDIR%%/media/css/seahub.css %%SEAHUBDIR%%/media/css/seahub.min.css %%SEAHUBDIR%%/media/css/select2.css -%%SEAHUBDIR%%/media/css/sf_editor_toolbar.css -%%SEAHUBDIR%%/media/css/sf_font/seafile-font.eot -%%SEAHUBDIR%%/media/css/sf_font/seafile-font.ttf -%%SEAHUBDIR%%/media/css/sf_font/seafile-font.woff +%%SEAHUBDIR%%/media/css/sf_font2/%%USERS%%-font2.eot +%%SEAHUBDIR%%/media/css/sf_font2/%%USERS%%-font2.svg +%%SEAHUBDIR%%/media/css/sf_font2/%%USERS%%-font2.ttf +%%SEAHUBDIR%%/media/css/sf_font2/%%USERS%%-font2.woff %%SEAHUBDIR%%/media/css/spreadsheet_convert.css %%SEAHUBDIR%%/media/img/add.png %%SEAHUBDIR%%/media/img/admin_in.png %%SEAHUBDIR%%/media/img/admin_out.png -%%SEAHUBDIR%%/media/img/bell.png %%SEAHUBDIR%%/media/img/bg.png %%SEAHUBDIR%%/media/img/calcplus-16.png -%%SEAHUBDIR%%/media/img/client-v2-download-lib.png %%SEAHUBDIR%%/media/img/clip.png %%SEAHUBDIR%%/media/img/close.png %%SEAHUBDIR%%/media/img/del.png -%%SEAHUBDIR%%/media/img/demo/group.png -%%SEAHUBDIR%%/media/img/discuss.png %%SEAHUBDIR%%/media/img/download.png -%%SEAHUBDIR%%/media/img/dropdown-arrow.png %%SEAHUBDIR%%/media/img/edit.png -%%SEAHUBDIR%%/media/img/edit_12.png %%SEAHUBDIR%%/media/img/email_bg.jpg %%SEAHUBDIR%%/media/img/favicon.png %%SEAHUBDIR%%/media/img/file-icon-16.png +%%SEAHUBDIR%%/media/img/file-locked-32.png +%%SEAHUBDIR%%/media/img/file/192/excel.png +%%SEAHUBDIR%%/media/img/file/192/file.png +%%SEAHUBDIR%%/media/img/file/192/music.png +%%SEAHUBDIR%%/media/img/file/192/pdf.png +%%SEAHUBDIR%%/media/img/file/192/pic.png +%%SEAHUBDIR%%/media/img/file/192/ppt.png +%%SEAHUBDIR%%/media/img/file/192/txt.png +%%SEAHUBDIR%%/media/img/file/192/word.png +%%SEAHUBDIR%%/media/img/file/24/excel.png +%%SEAHUBDIR%%/media/img/file/24/file.png +%%SEAHUBDIR%%/media/img/file/24/music.png +%%SEAHUBDIR%%/media/img/file/24/pdf.png +%%SEAHUBDIR%%/media/img/file/24/pic.png +%%SEAHUBDIR%%/media/img/file/24/ppt.png +%%SEAHUBDIR%%/media/img/file/24/txt.png +%%SEAHUBDIR%%/media/img/file/24/word.png +%%SEAHUBDIR%%/media/img/file/excel-192.png %%SEAHUBDIR%%/media/img/file/excel.png +%%SEAHUBDIR%%/media/img/file/file-192.png %%SEAHUBDIR%%/media/img/file/file.png +%%SEAHUBDIR%%/media/img/file/music-192.png %%SEAHUBDIR%%/media/img/file/music.png +%%SEAHUBDIR%%/media/img/file/pdf-192.png *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***