aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2016-05-29 21:03:49 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2016-05-29 21:03:49 +0800
commit481adcf59e11802bf5104291bdc37149448f1e57 (patch)
treeb84430c37f05d882caee4e78cdb254fff9f0f4f6 /net-mgmt
parent2b6e9e82d3110c92fa3f16cc733cdce13c9c0d2c (diff)
downloadfreebsd-ports-graphics-481adcf59e11802bf5104291bdc37149448f1e57.tar.gz
freebsd-ports-graphics-481adcf59e11802bf5104291bdc37149448f1e57.tar.zst
freebsd-ports-graphics-481adcf59e11802bf5104291bdc37149448f1e57.zip
- Update to 5.1.2
- Multiple port improvements PR: 203933 Submitted by: Ultima1252@gmail.com (maintainer)
Diffstat (limited to 'net-mgmt')
-rw-r--r--net-mgmt/seafile/Makefile65
-rw-r--r--net-mgmt/seafile/distinfo4
-rw-r--r--net-mgmt/seafile/files/patch-common_obj-backend-fs.c8
-rw-r--r--net-mgmt/seafile/files/patch-configure.ac36
-rw-r--r--net-mgmt/seafile/files/patch-controller_seafile-controller.c12
-rw-r--r--net-mgmt/seafile/files/patch-daemon_Makefile.am17
-rw-r--r--net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c25
-rw-r--r--net-mgmt/seafile/files/patch-daemon_repo-mgr.c58
-rw-r--r--net-mgmt/seafile/files/patch-daemon_vc-utils.c18
-rw-r--r--net-mgmt/seafile/files/patch-lib_Makefile.am (renamed from net-mgmt/seafile/files/patch-lib_Makfile.am)10
-rw-r--r--net-mgmt/seafile/files/patch-lib_net.c6
-rw-r--r--net-mgmt/seafile/files/patch-lib_utils.c14
-rw-r--r--net-mgmt/seafile/files/patch-lib_utils.h4
-rw-r--r--net-mgmt/seafile/files/patch-scripts_setup-seafile.sh6
-rw-r--r--net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh10
-rw-r--r--net-mgmt/seafile/files/patch-server_access-file.c54
-rw-r--r--net-mgmt/seafile/files/pkg-message.in7
-rw-r--r--net-mgmt/seafile/files/seafile.in140
-rw-r--r--net-mgmt/seafile/pkg-plist40
19 files changed, 381 insertions, 153 deletions
diff --git a/net-mgmt/seafile/Makefile b/net-mgmt/seafile/Makefile
index a7838f9329a..088560488d5 100644
--- a/net-mgmt/seafile/Makefile
+++ b/net-mgmt/seafile/Makefile
@@ -1,16 +1,16 @@
# $FreeBSD$
PORTNAME= seafile
-PORTVERSION= 4.0.6
-PORTREVISION= 3
+PORTVERSION= 5.1.2
DISTVERSIONPREFIX= v
DISTVERSIONSUFFIX= -server
-CATEGORIES= net-mgmt devel
+CATEGORIES= net-mgmt
MAINTAINER= ultima1252@gmail.com
-COMMENT= Framework for writing networked applications
+COMMENT= Open Source Cloud Storage (Server)
LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= valac:lang/vala
LIB_DEPENDS= libsearpc.so:devel/libsearpc \
@@ -19,17 +19,18 @@ LIB_DEPENDS= libsearpc.so:devel/libsearpc \
libcurl.so:ftp/curl \
libinotify.so:devel/libinotify \
libccnet.so:net-mgmt/ccnet
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}eggtestinfo>0:devel/py-eggtestinfo \
- ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
- ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
bash:shells/bash
USE_GITHUB= yes
GH_ACCOUNT= haiwen
-USES= autoreconf iconv libarchive libtool pathfix pkgconfig python:2 \
+USES= autoreconf iconv libarchive libtool mysql pathfix pkgconfig python:-2.7 \
shebangfix
-SHEBANG_FILES= scripts/*.sh scripts/upgrade/*.sh
+SHEBANG_FILES= scripts/*.sh scripts/upgrade/*.sh tests/*.py tests/basic/*.sh \
+ tests/sync-auto-test/*.template *.sh scripts/build/*.py \
+ scripts/*.py *.py scripts/upgrade/*.py app/seaf-cli \
+ tools/seafile-admin
GNU_CONFIGURE= yes
USE_OPENSSL= yes
USE_LDCONFIG= yes
@@ -47,12 +48,19 @@ SEAFILE_SERVER= ${HAIWENDIR}/seafile-server
SEABIN= ${SEAFILE_SERVER}/seafile/bin
SEALIB= ${SEAFILE_SERVER}/seafile/lib
-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} \
+ HAIWENDIR=${HAIWENDIR}
+
+SUB_FILES= pkg-message
+
+SUB_LIST+= USERS=${USERS} \
+ GROUPS=${GROUPS} \
SEAFILE_SERVER=${SEAFILE_SERVER} \
HAIWENDIR=${HAIWENDIR}
@@ -70,25 +78,48 @@ FUSE_LIB_DEPENDS= libfuse.so:sysutils/fusefs-libs
RIAK_CONFIGURE_ENABLE= riak
RIAK_RUN_DEPENDS= riak:databases/riak
-OPTIONS_DEFAULT=FUSE
+OPTIONS_DEFAULT= FUSE
.if defined(DFLYVERSION)
OPTIONS_DEFAULT=
.endif
+.include <bsd.port.options.mk>
+
+post-patch:
+# Fix P_KTHREAD r295435
+.if ${OSVERSION} >= 1100097
+ ${REINPLACE_CMD} 's/P_KTHREAD/P_KPROC/' ${WRKSRC}/lib/utils.c
+.endif
+ ${REINPLACE_CMD} 's/python/${PYTHON_VERSION}/' \
+ ${WRKSRC}/scripts/upgrade/regenerate_secret_key.sh
+ ${REINPLACE_CMD} -e 's|^INSTALL.*|INSTALLPATH="${PREFIX}/${SEAFILE_SERVER}/seafile"|' \
+ ${WRKSRC}/scripts/seaf-cli-wrapper.sh
+ ${REINPLACE_CMD} 's/<evhtp.h>/<evhtp\/evhtp.h>/' ${WRKSRC}/server/upload-file.c \
+ ${WRKSRC}/server/access-file.c ${WRKSRC}/server/http-server.c
post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/${SEABIN} ${STAGEDIR}${PREFIX}/${SEALIB}\
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${SEABIN} ${STAGEDIR}${PREFIX}/${SEALIB} \
${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/seafile/share/doc/seafile \
${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/upgrade
.for SERVPROG in seaf-fsck seafserv-gc seaf-fuse seaf-migrate \
- seaf-server seaf-server-init seafile-controller
+ seaf-server seaf-server-init seafile-controller
if [ -e "${STAGEDIR}${PREFIX}/bin/${SERVPROG}" ]; then \
${INSTALL_PROGRAM} ${STAGEDIR}${PREFIX}/bin/${SERVPROG} ${STAGEDIR}${PREFIX}/${SEABIN}; \
${RM} ${STAGEDIR}${PREFIX}/bin/${SERVPROG}; \
fi
.endfor
+.for SERVPROG in seafile-controller seaf-server
+ ${LN} -s ${PREFIX}/${SEABIN}/${SERVPROG} ${STAGEDIR}${PREFIX}/bin/
+.endfor
+
+ ${INSTALL_SCRIPT} ${STAGEDIR}${PREFIX}/bin/seaf-cli ${STAGEDIR}${PREFIX}/${SEABIN}/seaf-cli.py
+ ${INSTALL_SCRIPT} ${WRKSRC}/scripts/seaf-cli-wrapper.sh ${STAGEDIR}${PREFIX}/bin/seaf-cli
(cd ${STAGEDIR}${PREFIX}/lib && \
${COPYTREE_SHARE} ${PYTHON_VERSION} ${STAGEDIR}${PREFIX}/${SEALIB})
- @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION}
+ @${RM} -rf ${STAGEDIR}${PREFIX}/lib/${PYTHON_VERSION} \
+ ${WRKSRC}/scripts/seaf-cli-wrapper.sh \
+ ${WRKSRC}/scripts/sqlite2mysql.[ps][yh] \
+ ${WRKSRC}/scripts/setup-seafile.sh \
+ ${STAGEDIR}${PREFIX}/bin/seafile-admin
${INSTALL_SCRIPT} ${WRKSRC}/scripts/*.[ps][yh] ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}
${INSTALL_SCRIPT} ${WRKSRC}/scripts/upgrade/*.[ps][yh] \
${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/upgrade
diff --git a/net-mgmt/seafile/distinfo b/net-mgmt/seafile/distinfo
index 6f2aadde96a..b66120eeea2 100644
--- a/net-mgmt/seafile/distinfo
+++ b/net-mgmt/seafile/distinfo
@@ -1,2 +1,2 @@
-SHA256 (haiwen-seafile-v4.0.6-server_GH0.tar.gz) = 3f9aacc53c67aa165c66a4546a6f8c7ad3a002f741578a538b0c0965a73317bf
-SIZE (haiwen-seafile-v4.0.6-server_GH0.tar.gz) = 1082453
+SHA256 (haiwen-seafile-v5.1.2-server_GH0.tar.gz) = b813be0710ea5a8580b277e03280c69959aae7fc85bf6d5dcb35ad928c53464e
+SIZE (haiwen-seafile-v5.1.2-server_GH0.tar.gz) = 1140677
diff --git a/net-mgmt/seafile/files/patch-common_obj-backend-fs.c b/net-mgmt/seafile/files/patch-common_obj-backend-fs.c
index eacd7433003..da586db2e4c 100644
--- a/net-mgmt/seafile/files/patch-common_obj-backend-fs.c
+++ b/net-mgmt/seafile/files/patch-common_obj-backend-fs.c
@@ -1,6 +1,6 @@
---- common/obj-backend-fs.c.orig 2015-01-28 02:14:45.000000000 -0500
-+++ common/obj-backend-fs.c 2015-01-28 02:15:58.000000000 -0500
-@@ -101,7 +101,7 @@
+--- common/obj-backend-fs.c.orig 2015-09-21 03:42:11 UTC
++++ common/obj-backend-fs.c
+@@ -101,7 +101,7 @@ obj_backend_fs_read (ObjBackend *bend,
static int
fsync_obj_contents (int fd)
{
@@ -9,7 +9,7 @@
/* Some file systems may not support fsync().
* In this case, just skip the error.
*/
-@@ -153,7 +153,7 @@
+@@ -153,7 +153,7 @@ fsync_obj_contents (int fd)
static int
rename_and_sync (const char *tmp_path, const char *obj_path)
{
diff --git a/net-mgmt/seafile/files/patch-configure.ac b/net-mgmt/seafile/files/patch-configure.ac
index 49b00c1f33b..8ce4aed3f86 100644
--- a/net-mgmt/seafile/files/patch-configure.ac
+++ b/net-mgmt/seafile/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig 2015-01-21 22:45:28.000000000 -0500
-+++ configure.ac 2015-01-28 14:01:20.000000000 -0500
-@@ -50,8 +50,16 @@
+--- configure.ac.orig 2016-05-10 12:25:35 UTC
++++ configure.ac
+@@ -50,8 +50,16 @@ else
AC_MSG_RESULT(no)
fi
@@ -18,7 +18,7 @@
blinux=true
AC_MSG_RESULT(compile in linux)
else
-@@ -93,6 +101,11 @@
+@@ -93,6 +101,11 @@ if test "$bwin32" != true; then
[compile_fuse=$enableval],[compile_fuse="yes"])
fi
@@ -30,7 +30,7 @@
AC_ARG_ENABLE(client, AC_HELP_STRING([--enable-client], [enable client]),
[compile_client=$enableval],[compile_client="yes"])
-@@ -148,6 +161,7 @@
+@@ -148,6 +161,7 @@ AM_CONDITIONAL([COMPILE_FUSE], [test "${
AM_CONDITIONAL([WIN32], [test "$bwin32" = "true"])
AM_CONDITIONAL([MACOS], [test "$bmac" = "true"])
@@ -38,20 +38,20 @@
AM_CONDITIONAL([LINUX], [test "$blinux" = "true"])
-@@ -192,6 +206,9 @@
- LIB_PSAPI=-lpsapi
+@@ -193,6 +207,9 @@ if test "$bwin32" = true; then
LIB_MAC=
MSVC_CFLAGS="-D__MSVCRT__ -D__MSVCRT_VERSION__=0x0601"
+ LIB_CRYPT32=-lcrypt32
+ ZLIB_LIBS=
+ LIB_INOTIFY=
+ LIB_KVM=
elif test "$bmac" = true ; then
LIB_WS32=
LIB_GDI32=
-@@ -204,6 +221,24 @@
- LIB_PSAPI=
- MSVC_CFLAGS=
+@@ -207,6 +224,26 @@ elif test "$bmac" = true ; then
LIB_MAC="-framework CoreServices"
+ LIB_CRYPT32=
+ LIB_ICONV=-liconv
+ ZLIB_LIBS=
+ LIB_INOTIFY=
+ LIB_KVM=
@@ -67,23 +67,25 @@
+ LIB_PSAPI=
+ LIB_MAC=
+ MSVC_CFLAGS=
++ LIB_CRYPT32=
++ LIB_ICONV=-liconv
+ ZLIB_LIBS=-lz
+ LIB_INOTIFY=-linotify
+ LIB_KVM=-lkvm
else
LIB_WS32=
LIB_GDI32=
-@@ -216,6 +251,9 @@
- LIB_PSAPI=
+@@ -220,6 +257,9 @@ else
LIB_MAC=
MSVC_CFLAGS=
+ LIB_CRYPT32=
+ ZLIB_LIBS=-lz
+ LIB_INOTIFY=-linotify
+ LIB_KVM=
fi
AC_SUBST(LIB_WS32)
-@@ -228,6 +266,9 @@
+@@ -232,6 +272,9 @@ AC_SUBST(LIB_IPHLPAPI)
AC_SUBST(LIB_SHELL32)
AC_SUBST(LIB_PSAPI)
AC_SUBST(LIB_MAC)
@@ -91,9 +93,9 @@
+AC_SUBST(LIB_INOTIFY)
+AC_SUBST(LIB_KVM)
AC_SUBST(MSVC_CFLAGS)
-
-
-@@ -240,7 +281,9 @@
+ AC_SUBST(LIB_CRYPT32)
+ AC_SUBST(LIB_ICONV)
+@@ -246,7 +289,9 @@ ZDB_REQUIRED=2.10
#LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1
CURL_REQUIRED=7.17
FUSE_REQUIRED=2.7.3
@@ -103,7 +105,7 @@
PKG_CHECK_MODULES(SSL, [openssl])
AC_SUBST(SSL_CFLAGS)
-@@ -270,9 +313,11 @@
+@@ -276,9 +321,11 @@ PKG_CHECK_MODULES(LIBEVENT, [libevent >=
AC_SUBST(LIBEVENT_CFLAGS)
AC_SUBST(LIBEVENT_LIBS)
diff --git a/net-mgmt/seafile/files/patch-controller_seafile-controller.c b/net-mgmt/seafile/files/patch-controller_seafile-controller.c
index 0cfcbb40695..ca60f151f95 100644
--- a/net-mgmt/seafile/files/patch-controller_seafile-controller.c
+++ b/net-mgmt/seafile/files/patch-controller_seafile-controller.c
@@ -1,5 +1,5 @@
---- controller/seafile-controller.c.orig 2015-01-28 13:03:24.000000000 -0500
-+++ controller/seafile-controller.c 2015-01-28 13:15:05.000000000 -0500
+--- controller/seafile-controller.c.orig 2015-09-21 03:42:11 UTC
++++ controller/seafile-controller.c
@@ -17,6 +17,19 @@
#include "log.h"
#include "seafile-controller.h"
@@ -20,7 +20,7 @@
#define CHECK_PROCESS_INTERVAL 10 /* every 10 seconds */
SeafileController *ctl;
-@@ -247,7 +260,20 @@
+@@ -247,7 +260,20 @@ static void
init_seafile_path ()
{
GError *error = NULL;
@@ -41,7 +41,7 @@
char *tmp = NULL;
if (error != NULL) {
seaf_warning ("failed to readlink: %s\n", error->message);
-@@ -261,7 +287,9 @@
+@@ -261,7 +287,9 @@ init_seafile_path ()
topdir = g_path_get_dirname (installpath);
@@ -51,7 +51,7 @@
g_free (tmp);
}
-@@ -401,11 +429,40 @@
+@@ -402,11 +430,40 @@ need_restart (int which)
return FALSE;
} else {
char buf[256];
@@ -92,7 +92,7 @@
}
}
}
-@@ -852,6 +909,9 @@
+@@ -877,6 +934,9 @@ int main (int argc, char **argv)
exit (1);
}
diff --git a/net-mgmt/seafile/files/patch-daemon_Makefile.am b/net-mgmt/seafile/files/patch-daemon_Makefile.am
index 8cfb56e9d6e..cf201fb90e0 100644
--- a/net-mgmt/seafile/files/patch-daemon_Makefile.am
+++ b/net-mgmt/seafile/files/patch-daemon_Makefile.am
@@ -1,6 +1,6 @@
---- daemon/Makefile.am.orig 2015-01-28 13:48:56.000000000 -0500
-+++ daemon/Makefile.am 2015-01-28 13:55:22.000000000 -0500
-@@ -65,6 +65,10 @@
+--- daemon/Makefile.am.orig 2016-04-15 23:08:45 UTC
++++ daemon/Makefile.am
+@@ -63,6 +63,10 @@ if LINUX
wt_monitor_src = wt-monitor.c wt-monitor-linux.c wt-monitor-structs.c
endif
@@ -11,13 +11,12 @@
if WIN32
wt_monitor_src = wt-monitor.c wt-monitor-win32.c wt-monitor-structs.c
endif
-@@ -127,7 +131,8 @@
+@@ -126,6 +130,7 @@ seaf_daemon_LDADD = $(top_builddir)/lib/
@GLIB2_LIBS@ @GOBJECT_LIBS@ @SSL_LIBS@ @LIB_RT@ @LIB_UUID@ -lsqlite3 @LIBEVENT_LIBS@ \
$(top_builddir)/common/cdc/libcdc.la \
- $(top_builddir)/common/index/libindex.la ${LIB_WS32} \
-- @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@
-+ @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ \
-+ @CURL_LIBS@ @LIB_INOTIFY@
+ $(top_builddir)/common/index/libindex.la @LIB_WS32@ @LIB_CRYPT32@ \
+- @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@ @BPWRAPPER_LIBS@
++ @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ \
++ @LIB_MAC@ @ZLIB_LIBS@ @CURL_LIBS@ @LIB_INOTIFY@ @BPWRAPPER_LIBS@
seaf_daemon_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@
-
diff --git a/net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c b/net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c
new file mode 100644
index 00000000000..5d25c4ef1e7
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c
@@ -0,0 +1,25 @@
+--- daemon/http-tx-mgr.c.orig 2015-09-21 03:42:11 UTC
++++ daemon/http-tx-mgr.c
+@@ -58,6 +58,22 @@
+ #define USER_AGENT_OS "Linux"
+ #endif
+
++#ifdef __FreeBSD__
++#define USER_AGENT_OS "FreeBSD"
++#endif
++
++#ifdef __DragonFly__
++#define USER_AGENT_OS "DragonFly"
++#endif
++
++#ifdef __NetBSD__
++#define USER_AGENT_OS "NetBSD"
++#endif
++
++#ifdef __OpenBSD__
++#define USER_AGENT_OS "OpenBSD"
++#endif
++
+ struct _Connection {
+ CURL *curl;
+ gint64 ctime; /* Used to clean up unused connection. */
diff --git a/net-mgmt/seafile/files/patch-daemon_repo-mgr.c b/net-mgmt/seafile/files/patch-daemon_repo-mgr.c
index 86d07a7993f..ff9bc918dae 100644
--- a/net-mgmt/seafile/files/patch-daemon_repo-mgr.c
+++ b/net-mgmt/seafile/files/patch-daemon_repo-mgr.c
@@ -1,53 +1,47 @@
---- daemon/repo-mgr.c.orig 2015-01-28 02:18:05.000000000 -0500
-+++ daemon/repo-mgr.c 2015-01-28 02:22:10.000000000 -0500
-@@ -2514,13 +2514,13 @@
+--- daemon/repo-mgr.c.orig 2016-05-10 12:25:35 UTC
++++ daemon/repo-mgr.c
+@@ -4441,7 +4441,7 @@ checkout_file (const char *repo_id,
gboolean force_conflict = FALSE;
gboolean update_mode_only = FALSE;
-#ifndef __linux__
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+ path = build_checkout_path (worktree, name, strlen(name));
-+#else
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
path = build_case_conflict_free_path (worktree, name,
conflict_hash, no_conflict_hash,
&case_conflict,
- FALSE);
--#else
-- path = build_checkout_path (worktree, name, strlen(name));
- #endif
-
- if (!path)
-@@ -2675,13 +2675,13 @@
+@@ -4617,7 +4617,7 @@ checkout_empty_dir (const char *worktree
char *path;
gboolean case_conflict = FALSE;
-#ifndef __linux__
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+ path = build_checkout_path (worktree, name, strlen(name));
-+#else
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
path = build_case_conflict_free_path (worktree, name,
conflict_hash, no_conflict_hash,
&case_conflict,
- FALSE);
--#else
-- path = build_checkout_path (worktree, name, strlen(name));
- #endif
+@@ -5038,7 +5038,7 @@ schedule_file_fetch (GThreadPool *tpool,
+ }
- if (!path)
-@@ -2839,13 +2839,13 @@
+ if (!skip_fetch) {
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+ gboolean case_conflict = FALSE;
+ path = build_case_conflict_free_path (worktree, de->name,
+ conflict_hash, no_conflict_hash,
+@@ -5185,7 +5185,7 @@ checkout_file_http (FileTxData *data,
+ * A.txt to checkout, we can only detect case conflict after one file is checkecd
+ * out. So we need to generate a new one here.
+ */
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+ path = build_case_conflict_free_path (worktree, de->name,
+ conflict_hash, no_conflict_hash,
+ &case_conflict,
+@@ -5567,7 +5567,7 @@ do_rename_in_worktree (DiffEntry *de, co
old_path = g_build_filename (worktree, de->name, NULL);
if (seaf_util_exists (old_path)) {
-#ifndef __linux__
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+ new_path = build_checkout_path (worktree, de->new_name, strlen(de->new_name));
-+#else
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+ gboolean case_conflict;
new_path = build_case_conflict_free_path (worktree, de->new_name,
conflict_hash, no_conflict_hash,
- &case_conflict,
- TRUE);
--#else
-- new_path = build_checkout_path (worktree, de->new_name, strlen(de->new_name));
- #endif
-
- if (seaf_util_rename (old_path, new_path) < 0) {
diff --git a/net-mgmt/seafile/files/patch-daemon_vc-utils.c b/net-mgmt/seafile/files/patch-daemon_vc-utils.c
index 6890f1dabd0..c715ec6873f 100644
--- a/net-mgmt/seafile/files/patch-daemon_vc-utils.c
+++ b/net-mgmt/seafile/files/patch-daemon_vc-utils.c
@@ -1,6 +1,6 @@
---- daemon/vc-utils.c.orig 2015-01-28 02:24:19.000000000 -0500
-+++ daemon/vc-utils.c 2015-01-28 02:30:05.000000000 -0500
-@@ -664,7 +664,7 @@
+--- daemon/vc-utils.c.orig 2016-04-05 08:38:26 UTC
++++ daemon/vc-utils.c
+@@ -664,7 +664,7 @@ error:
#endif /* defined WIN32 || defined __APPLE__ */
@@ -9,20 +9,12 @@
char *
build_checkout_path (const char *worktree, const char *ce_name, int len)
-@@ -724,13 +724,13 @@
+@@ -724,7 +724,7 @@ checkout_entry (struct cache_entry *ce,
gboolean force_conflict = FALSE;
path_in = g_build_path ("/", o->base, ce->name, NULL);
-#ifndef __linux__
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+ path = build_checkout_path (o->base, ce->name, ce_namelen(ce));
-+#else
++#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
path = build_case_conflict_free_path (o->base, ce->name,
conflict_hash, no_conflict_hash,
&case_conflict,
- FALSE);
--#else
-- path = build_checkout_path (o->base, ce->name, ce_namelen(ce));
- #endif
-
- g_free (path_in);
diff --git a/net-mgmt/seafile/files/patch-lib_Makfile.am b/net-mgmt/seafile/files/patch-lib_Makefile.am
index 29d0c265cb0..3e2d623e92d 100644
--- a/net-mgmt/seafile/files/patch-lib_Makfile.am
+++ b/net-mgmt/seafile/files/patch-lib_Makefile.am
@@ -1,6 +1,6 @@
---- lib/Makefile.am.orig 2015-01-28 13:44:26.000000000 -0500
-+++ lib/Makefile.am 2015-01-28 13:48:00.000000000 -0500
-@@ -53,6 +53,7 @@
+--- lib/Makefile.am.orig 2015-10-12 04:12:33 UTC
++++ lib/Makefile.am
+@@ -53,6 +53,7 @@ libseafile_common_la_SOURCES = ${seafile
libseafile_common_la_LDFLAGS = -no-undefined
libseafile_common_la_LIBADD = @GLIB2_LIBS@ @GOBJECT_LIBS@ @SSL_LIBS@ -lcrypto @LIB_GDI32@ \
@LIB_UUID@ @LIB_WS32@ @LIB_PSAPI@ -lsqlite3 \
@@ -8,7 +8,7 @@
@LIBEVENT_LIBS@ @SEARPC_LIBS@ @LIB_SHELL32@ \
@ZLIB_LIBS@
-@@ -74,7 +75,7 @@
+@@ -74,7 +75,7 @@ vala.stamp: ${seafile_object_define}
rm -f ${seafile_object_gen}
@rm -f vala.tmp
@touch vala.tmp
@@ -17,7 +17,7 @@
@mv -f vala.tmp $@
${seafile_object_gen}: vala.stamp
-@@ -90,5 +91,9 @@
+@@ -90,5 +91,9 @@ install-data-local:
if MACOS
sed -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles)
else
diff --git a/net-mgmt/seafile/files/patch-lib_net.c b/net-mgmt/seafile/files/patch-lib_net.c
index de90b8a7b49..37f1311bbc6 100644
--- a/net-mgmt/seafile/files/patch-lib_net.c
+++ b/net-mgmt/seafile/files/patch-lib_net.c
@@ -1,6 +1,6 @@
---- lib/net.c.orig 2015-01-28 00:52:56.000000000 -0500
-+++ lib/net.c 2015-01-28 00:55:31.000000000 -0500
-@@ -157,7 +157,11 @@
+--- lib/net.c.orig 2015-09-21 03:42:11 UTC
++++ lib/net.c
+@@ -157,7 +157,11 @@ ccnet_net_bind_tcp (int port, int nonblo
snprintf (buf, sizeof(buf), "%d", port);
diff --git a/net-mgmt/seafile/files/patch-lib_utils.c b/net-mgmt/seafile/files/patch-lib_utils.c
index 6b631beb7ac..15b418068b1 100644
--- a/net-mgmt/seafile/files/patch-lib_utils.c
+++ b/net-mgmt/seafile/files/patch-lib_utils.c
@@ -1,5 +1,5 @@
---- lib/utils.c.orig 2015-01-28 01:03:42.000000000 -0500
-+++ lib/utils.c 2015-01-28 01:26:32.000000000 -0500
+--- lib/utils.c.orig 2015-09-21 03:42:11 UTC
++++ lib/utils.c
@@ -56,6 +56,16 @@
#include <zlib.h>
@@ -17,7 +17,7 @@
extern int inet_pton(int af, const char *src, void *dst);
-@@ -2097,14 +2107,19 @@
+@@ -2112,14 +2122,19 @@ wchar_from_utf8 (const char *utf8)
#endif /* ifdef WIN32 */
@@ -38,7 +38,7 @@
return -1;
}
-@@ -2128,7 +2143,8 @@
+@@ -2143,7 +2158,8 @@ find_process_in_dirent(struct dirent *di
}
/* read the /proc fs to determine whether some process is running */
@@ -48,7 +48,7 @@
{
DIR *proc_dir = opendir("/proc");
if (!proc_dir) {
-@@ -2153,7 +2169,8 @@
+@@ -2168,7 +2184,8 @@ gboolean process_is_running (const char
return FALSE;
}
@@ -58,7 +58,7 @@
{
int count = 0;
DIR *proc_dir = opendir("/proc");
-@@ -2177,6 +2194,14 @@
+@@ -2192,6 +2209,14 @@ int count_process(const char *process_na
return count;
}
@@ -73,7 +73,7 @@
#endif
#ifdef __APPLE__
-@@ -2187,6 +2212,119 @@
+@@ -2202,6 +2227,119 @@ gboolean process_is_running (const char
}
#endif
diff --git a/net-mgmt/seafile/files/patch-lib_utils.h b/net-mgmt/seafile/files/patch-lib_utils.h
index 7f71d21bf8c..6d9d2709e1a 100644
--- a/net-mgmt/seafile/files/patch-lib_utils.h
+++ b/net-mgmt/seafile/files/patch-lib_utils.h
@@ -1,5 +1,5 @@
---- lib/utils.h.orig 2015-01-28 00:57:13.000000000 -0500
-+++ lib/utils.h 2015-01-28 01:01:59.000000000 -0500
+--- lib/utils.h.orig 2015-09-21 03:42:11 UTC
++++ lib/utils.h
@@ -3,6 +3,9 @@
#ifndef CCNET_UTILS_H
#define CCNET_UTILS_H
diff --git a/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh b/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh
index f25f6158412..bdf527e6652 100644
--- a/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh
+++ b/net-mgmt/seafile/files/patch-scripts_setup-seafile.sh
@@ -1,6 +1,6 @@
---- scripts/setup-seafile.sh.orig 2015-01-28 00:37:17.000000000 -0500
-+++ scripts/setup-seafile.sh 2015-01-28 00:43:26.000000000 -0500
-@@ -339,7 +339,11 @@
+--- scripts/setup-seafile.sh.orig 2015-10-12 04:12:33 UTC
++++ scripts/setup-seafile.sh
+@@ -340,7 +340,11 @@ fi
}
function copy_user_manuals() {
diff --git a/net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh b/net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh
new file mode 100644
index 00000000000..c46ad93cb7b
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh
@@ -0,0 +1,10 @@
+--- scripts/upgrade/regenerate_secret_key.sh.orig 2016-01-29 17:25:05 UTC
++++ scripts/upgrade/regenerate_secret_key.sh
+@@ -10,4 +10,6 @@ seahub_settings_py=${TOPDIR}/seahub_sett
+
+ line="SECRET_KEY = \"$(python $seahub_secret_keygen)\""
+
+-sed -i -e "/SECRET_KEY/c\\$line" $seahub_settings_py
++sed -i.bak -e "/SECRET_KEY/c\\
++$line
++" $seahub_settings_py
diff --git a/net-mgmt/seafile/files/patch-server_access-file.c b/net-mgmt/seafile/files/patch-server_access-file.c
new file mode 100644
index 00000000000..176867cac46
--- /dev/null
+++ b/net-mgmt/seafile/files/patch-server_access-file.c
@@ -0,0 +1,54 @@
+--- server/access-file.c.orig 2015-11-12 02:40:40 UTC
++++ server/access-file.c
+@@ -221,10 +221,10 @@ write_block_data_cb (struct bufferevent
+ bev->cbarg = data->saved_cb_arg;
+
+ /* Resume reading incomming requests. */
+- evhtp_request_resume (data->req);
+-
+ evhtp_send_reply_end (data->req);
+
++ evhtp_request_resume (data->req);
++
+ free_sendblock_data (data);
+ return;
+ }
+@@ -306,10 +306,10 @@ next:
+ bev->cbarg = data->saved_cb_arg;
+
+ /* Resume reading incomming requests. */
+- evhtp_request_resume (data->req);
+-
+ evhtp_send_reply_end (data->req);
+
++ evhtp_request_resume (data->req);
++
+ free_sendfile_data (data);
+ return;
+ }
+@@ -403,10 +403,10 @@ write_dir_data_cb (struct bufferevent *b
+ bev->cbarg = data->saved_cb_arg;
+
+ /* Resume reading incomming requests. */
+- evhtp_request_resume (data->req);
+-
+ evhtp_send_reply_end (data->req);
+
++ evhtp_request_resume (data->req);
++
+ free_senddir_data (data);
+ return;
+ }
+@@ -710,10 +710,10 @@ finish_file_range_request (struct buffer
+ bev->cbarg = data->saved_cb_arg;
+
+ /* Resume reading incomming requests. */
+- evhtp_request_resume (data->req);
+-
+ evhtp_send_reply_end (data->req);
+
++ evhtp_request_resume (data->req);
++
+ free_send_file_range_data (data);
+ }
+
diff --git a/net-mgmt/seafile/files/pkg-message.in b/net-mgmt/seafile/files/pkg-message.in
new file mode 100644
index 00000000000..e1cb83231e4
--- /dev/null
+++ b/net-mgmt/seafile/files/pkg-message.in
@@ -0,0 +1,7 @@
+For an existing config, or creating a new one, fix the UID/GID.
+Do not change %%PREFIX%%/%%SEAFILE_SERVER%% unless your front
+end is using the seafile UID/GID as well.
+
+chown -R seafile:seafile %%PREFIX%%/%%HAIWENDIR%%/conf \
+ %%PREFIX%%/%%HAIWENDIR%%/ccnet %%PREFIX%%/%%HAIWENDIR%%/seafile-data \
+ %%PREFIX%%/%%HAIWENDIR%%/pids %%PREFIX%%/%%HAIWENDIR%%/logs
diff --git a/net-mgmt/seafile/files/seafile.in b/net-mgmt/seafile/files/seafile.in
index 2c2590fd446..2288682ac65 100644
--- a/net-mgmt/seafile/files/seafile.in
+++ b/net-mgmt/seafile/files/seafile.in
@@ -4,7 +4,7 @@
#
# PROVIDE: seafile
-# REQUIRE: LOGIN cleanvar
+# REQUIRE: LOGIN cleanvar mysql
# KEYWORD: shutdown
#
@@ -13,47 +13,135 @@
#
# seafile_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable seafile.
+# 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
-# /usr/local/www/haiwen/seafile-server.
-# Set it to a different 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.
+# seafile_loglevel (str): Set to "info" by default.
+# Possible values are debug, warning, info.
. /etc/rc.subr
name="seafile"
-rcvar=seafile_enable
+rcvar="seafile_enable"
load_rc_config $name
-start_cmd="${name}_start"
-restart_cmd="${name}_restart"
-stop_cmd="${name}_stop"
+start_cmd="seafile_start"
+restart_cmd="seafile_restart"
+stop_cmd="seafile_stop"
-: ${seafile_path:=%%PREFIX%%/www/haiwen/seafile-server}
+: ${seafile_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"}
+: ${seafile_loglevel:="info"}
-command="$seafile_path/seafile.sh"
+command="%%PREFIX%%/%%SEAFILE_SERVER%%/seafile/bin/seafile-controller"
+command_args="-c \"${seafile_ccnet}\" -d \"${seafile_datadir}\" -F \"${seafile_conf}\" -L \"${seafile_logdir}\" -g \"${seafile_loglevel}\" -G \"${seafile_loglevel}\""
-seafile_start()
-{
- if checkyesno ${name}_enable; then
- start_script="${seafile_path}/seafile.sh"
- echo "Starting seafile service"
- $command start
- else
- return 0
+required_dirs="${seafile_ccnet} ${seafile_conf} ${seafile_datadir}"
+required_files="${seafile_ccnet}/seafile.ini"
+
+test_config() {
+ if ! su -m ${seafile_user} -c "${command} -t ${command_args}" ; then
+ exit 1;
fi
}
-seafile_stop()
-{
- echo "Stoping seafile service"
- $command stop
+check_component_running() {
+ name=$1
+ cmd=$2
+ if pid=$(pgrep -f "$cmd" 2>/dev/null); then
+ echo "{$name} is running, pid $pid. You can stop it by: "
+ echo
+ echo " kill $pid"
+ echo
+ echo "Stop it and try again."
+ echo
+ exit
+ fi
}
-seafile_restart()
-{
- echo "Restart seafile service"
- $command restart
+validate_already_running() {
+ if pid=$(pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null); then
+ echo "Seafile controller is already running, pid $pid"
+ echo
+ exit 1;
+ fi
+
+ check_component_running "ccnet-server" "ccnet-server -c ${seafile_ccnet}"
+ check_component_running "seaf-server" "seaf-server -c ${seafile_ccnet}"
+ check_component_running "fileserver" "fileserver -c ${seafile_ccnet}"
+ check_component_running "seafdav" "wsgidav.server.run_server"
+}
+
+prepare_env() {
+export PATH=${seafile_path}/seafile/bin:$PATH
+export LD_LIBRARY_PATH=${seafile_path}/seafile/lib/:${seafile_path}/seafile/lib64:${LD_LIBRARY_PATH}
+}
+
+seafile_start() {
+ check_required_before;
+ validate_already_running;
+ test_config;
+
+ echo "Starting seafile server, please wait ..."
+
+ su -m "${seafile_user}" -c "mkdir -p $seafile_logdir"
+ su -m "${seafile_user}" -c "$command $command_args"
+
+ sleep 3
+
+ # check if seafile server started successfully
+ if ! pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null 1>&2; then
+ echo "Failed to start seafile server"
+ exit 1;
+ fi
+
+ echo "Seafile server started"
+ echo
+}
+
+seafile_stop() {
+ if ! pgrep -f "seafile-controller -c ${seafile_ccnet}" 2>/dev/null 1>&2; then
+ echo "Seafile is not running"
+ return 1;
+ fi
+
+ echo "Stopping ${name}."
+ pkill -SIGTERM -f "seafile-controller -c ${seafile_ccnet}"
+ pkill -f "ccnet-server -c ${seafile_ccnet}"
+ pkill -f "seaf-server -c ${seafile_ccnet}"
+ pkill -f "fileserver -c ${seafile_ccnet}"
+ pkill -f "soffice.*--invisible --nocrashreport"
+ pkill -f "wsgidav.server.run_server"
+ return 0
+}
+
+seafile_restart() {
+ seafile_stop;
+ sleep 2
+ seafile_start;
}
-load_rc_config $name
run_rc_command "$1"
diff --git a/net-mgmt/seafile/pkg-plist b/net-mgmt/seafile/pkg-plist
index 6f6544f8972..62a03ad0d17 100644
--- a/net-mgmt/seafile/pkg-plist
+++ b/net-mgmt/seafile/pkg-plist
@@ -1,6 +1,7 @@
bin/seaf-cli
bin/seaf-daemon
-bin/seafile-admin
+bin/seafile-controller
+bin/seaf-server
include/seafile/monitor-rpc.h
include/seafile/seafile-object.h
include/seafile/seafile-rpc.h
@@ -14,12 +15,12 @@ man/man1/seaf-cli.1.gz
man/man1/seaf-daemon.1.gz
%%SEAFILE_SERVER%%/check_init_admin.py
%%SEAFILE_SERVER%%/reset-admin.sh
-%%SEAFILE_SERVER%%/seaf-cli-wrapper.sh
%%SEAFILE_SERVER%%/seaf-fuse.sh
%%SEAFILE_SERVER%%/seaf-gc.sh
%%SEAFILE_SERVER%%/seafile.sh
%%SEAFILE_SERVER%%/seafile/bin/seaf-fsck
-%%SEAFILE_SERVER%%/seafile/bin/seaf-fuse
+%%FUSE%%%%SEAFILE_SERVER%%/seafile/bin/seaf-fuse
+%%SEAFILE_SERVER%%/seafile/bin/seaf-cli.py
%%SEAFILE_SERVER%%/seafile/bin/seaf-migrate
%%SEAFILE_SERVER%%/seafile/bin/seaf-server
%%SEAFILE_SERVER%%/seafile/bin/seaf-server-init
@@ -41,16 +42,17 @@ man/man1/seaf-daemon.1.gz
%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/service.pyc
%%SEAFILE_SERVER%%/seafile/%%PYTHON_SITELIBDIR%%/seaserv/service.pyo
%%PORTDOCS%%%%SEAFILE_SERVER%%/seafile/%%DOCSDIR%%/seafile-tutorial.doc
+%%SEAFILE_SERVER%%/breakpad.py
%%SEAFILE_SERVER%%/seahub.sh
%%SEAFILE_SERVER%%/setup-seafile-mysql.py
%%SEAFILE_SERVER%%/setup-seafile-mysql.sh
-%%SEAFILE_SERVER%%/setup-seafile.sh
-%%SEAFILE_SERVER%%/sqlite2mysql.py
-%%SEAFILE_SERVER%%/sqlite2mysql.sh
%%SEAFILE_SERVER%%/upgrade/add_collate.sh
%%SEAFILE_SERVER%%/upgrade/db_update_1.3_1.4.py
%%SEAFILE_SERVER%%/upgrade/db_update_helper.py
%%SEAFILE_SERVER%%/upgrade/minor-upgrade.sh
+%%SEAFILE_SERVER%%/seaf-fsck.sh
+%%SEAFILE_SERVER%%/upgrade/fix_mysql_user.py
+%%SEAFILE_SERVER%%/upgrade/regenerate_secret_key.sh
%%SEAFILE_SERVER%%/upgrade/sql/1.6.0/mysql/seahub.sql
%%SEAFILE_SERVER%%/upgrade/sql/1.6.0/sqlite3/seahub.sql
%%SEAFILE_SERVER%%/upgrade/sql/1.7.0/mysql/seafile.sql
@@ -69,6 +71,18 @@ man/man1/seaf-daemon.1.gz
%%SEAFILE_SERVER%%/upgrade/sql/3.0.0/sqlite3/seahub.sql
%%SEAFILE_SERVER%%/upgrade/sql/3.1.0/mysql/seahub.sql
%%SEAFILE_SERVER%%/upgrade/sql/3.1.0/sqlite3/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/mysql/ccnet.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/mysql/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/sqlite3/ccnet/groupmgr.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.1.0/sqlite3/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/mysql/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/mysql/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/sqlite3/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.2.0/sqlite3/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/4.3.0/mysql/.gitkeep
+%%SEAFILE_SERVER%%/upgrade/sql/4.3.0/sqlite3/.gitkeep
+%%SEAFILE_SERVER%%/upgrade/sql/4.4.0/mysql/.gitkeep
+%%SEAFILE_SERVER%%/upgrade/sql/4.4.0/sqlite3/.gitkeep
%%SEAFILE_SERVER%%/upgrade/upgrade_1.2_1.3.sh
%%SEAFILE_SERVER%%/upgrade/upgrade_1.3_1.4.sh
%%SEAFILE_SERVER%%/upgrade/upgrade_1.4_1.5.sh
@@ -81,4 +95,16 @@ man/man1/seaf-daemon.1.gz
%%SEAFILE_SERVER%%/upgrade/upgrade_2.2_3.0.sh
%%SEAFILE_SERVER%%/upgrade/upgrade_3.0_3.1.sh
%%SEAFILE_SERVER%%/upgrade/upgrade_3.1_4.0.sh
-@dir(%%SEAFILE_USERNAME%%,%%SEAFILE_GROUPNAME%%,755) %%HAIWENDIR%%
+%%SEAFILE_SERVER%%/upgrade/upgrade_4.0_4.1.sh
+%%SEAFILE_SERVER%%/upgrade/upgrade_4.1_4.2.sh
+%%SEAFILE_SERVER%%/upgrade/upgrade_4.2_4.3.sh
+%%SEAFILE_SERVER%%/upgrade/upgrade_4.3_4.4.sh
+%%SEAFILE_SERVER%%/upgrade/sql/5.0.0/mysql/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/5.0.0/sqlite3/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/mysql/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/mysql/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/sqlite3/seafile.sql
+%%SEAFILE_SERVER%%/upgrade/sql/5.1.0/sqlite3/seahub.sql
+%%SEAFILE_SERVER%%/upgrade/upgrade_5.0_5.1.sh
+%%SEAFILE_SERVER%%/upgrade/upgrade_4.4_5.0.sh
+@dir(%%USERS%%,%%GROUPS%%,755) %%HAIWENDIR%%