FreeBSD Bugzilla – Attachment 164698 Details for
Bug 203933
[UPDATE] net-mgmt/seafile: Update to 5.1.2 with bug fixes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
seafile.diff
seafile.diff (text/plain), 34.01 KB, created by
Ultima
on 2015-12-26 19:02:50 UTC
(
hide
)
Description:
seafile.diff
Filename:
MIME Type:
Creator:
Ultima
Created:
2015-12-26 19:02:50 UTC
Size:
34.01 KB
patch
obsolete
>Index: net-mgmt/seafile/Makefile >=================================================================== >--- net-mgmt/seafile/Makefile (revision 403893) >+++ net-mgmt/seafile/Makefile (working copy) >@@ -1,8 +1,7 @@ > # $FreeBSD$ > > PORTNAME= seafile >-PORTVERSION= 4.0.6 >-PORTREVISION= 3 >+PORTVERSION= 5.0.2 > DISTVERSIONPREFIX= v > DISTVERSIONSUFFIX= -server > CATEGORIES= net-mgmt devel >@@ -11,6 +10,7 @@ > COMMENT= Framework for writing networked applications > > LICENSE= GPLv3 >+LICENSE_FILE= ${WRKSRC}/LICENSE.txt > > BUILD_DEPENDS= valac:${PORTSDIR}/lang/vala > LIB_DEPENDS= libsearpc.so:${PORTSDIR}/devel/libsearpc \ >@@ -27,9 +27,12 @@ > USE_GITHUB= yes > GH_ACCOUNT= haiwen > >-USES= autoreconf iconv libarchive libtool pathfix pkgconfig python:2 \ >+USES= autoreconf iconv libarchive libtool 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 >@@ -42,20 +45,22 @@ > CPPFLAGS+= -I${LOCALBASE}/include > LDFLAGS+= -L${LOCALBASE}/lib > >+USERS= seafile >+GROUPS= seafile > HAIWENDIR= www/haiwen > SEAFILE_SERVER= ${HAIWENDIR}/seafile-server > SEABIN= ${SEAFILE_SERVER}/seafile/bin > SEALIB= ${SEAFILE_SERVER}/seafile/lib > >-SEAFILE_USERNAME?= www >-SEAFILE_GROUPNAME?= ${SEAFILE_USERNAME} >- > USE_RC_SUBR= ${PORTNAME} >-PLIST_SUB= SEAFILE_USERNAME=${SEAFILE_USERNAME} \ >- SEAFILE_GROUPNAME=${SEAFILE_GROUPNAME} \ >- SEAFILE_SERVER=${SEAFILE_SERVER} \ >+PLIST_SUB= SEAFILE_SERVER=${SEAFILE_SERVER} \ > HAIWENDIR=${HAIWENDIR} > >+SUB_FILES= pkg-message >+ >+SUB_LIST+= SEAFILE_SERVER=${SEAFILE_SERVER} \ >+ HAIWENDIR=${HAIWENDIR} >+ > MAKE_JOBS_UNSAFE= yes > > OPTIONS_DEFINE= FUSE RIAK >@@ -75,20 +80,31 @@ > OPTIONS_DEFAULT= > .endif > >+post-patch: >+ ${REINPLACE_CMD} -e 's|^INSTALL.*|INSTALLPATH="${PREFIX}/${SEAFILE_SERVER}/seafile"|' \ >+ ${WRKSRC}/scripts/seaf-cli-wrapper.sh > post-install: > @${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 \ >+ ${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 >Index: net-mgmt/seafile/distinfo >=================================================================== >--- net-mgmt/seafile/distinfo (revision 403893) >+++ net-mgmt/seafile/distinfo (working copy) >@@ -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.0.2-server_GH0.tar.gz) = 6ba9b99b688c132ac654016febcb2af05d903f6d024d4be2fda156c1047cc463 >+SIZE (haiwen-seafile-v5.0.2-server_GH0.tar.gz) = 1161402 >Index: net-mgmt/seafile/files/patch-common_obj-backend-fs.c >=================================================================== >--- net-mgmt/seafile/files/patch-common_obj-backend-fs.c (revision 403893) >+++ net-mgmt/seafile/files/patch-common_obj-backend-fs.c (working copy) >@@ -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) > { >Index: net-mgmt/seafile/files/patch-configure.ac >=================================================================== >--- net-mgmt/seafile/files/patch-configure.ac (revision 403893) >+++ net-mgmt/seafile/files/patch-configure.ac (working copy) >@@ -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 2015-09-21 03:42:11 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,10 +38,10 @@ > 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= >@@ -48,10 +48,10 @@ > elif test "$bmac" = true ; then > LIB_WS32= > LIB_GDI32= >-@@ -204,6 +221,24 @@ >- LIB_PSAPI= >+@@ -206,6 +223,25 @@ elif test "$bmac" = true ; then > MSVC_CFLAGS= > LIB_MAC="-framework CoreServices" >+ LIB_CRYPT32= > + ZLIB_LIBS= > + LIB_INOTIFY= > + LIB_KVM= >@@ -59,7 +59,7 @@ > + LIB_WS32= > + LIB_GDI32= > + LIB_RT= >-+ LIB_INTL= >++ LIB_INTL= > + LIB_RESOLV= > + LIB_UUID=-luuid > + LIB_IPHLPAPI= >@@ -67,6 +67,7 @@ > + LIB_PSAPI= > + LIB_MAC= > + MSVC_CFLAGS= >++ LIB_CRYPT32= > + ZLIB_LIBS=-lz > + LIB_INOTIFY=-linotify > + LIB_KVM=-lkvm >@@ -73,10 +74,10 @@ > else > LIB_WS32= > LIB_GDI32= >-@@ -216,6 +251,9 @@ >- LIB_PSAPI= >+@@ -219,6 +255,9 @@ else > LIB_MAC= > MSVC_CFLAGS= >+ LIB_CRYPT32= > + ZLIB_LIBS=-lz > + LIB_INOTIFY=-linotify > + LIB_KVM= >@@ -83,7 +84,7 @@ > fi > > AC_SUBST(LIB_WS32) >-@@ -228,6 +266,9 @@ >+@@ -231,6 +270,9 @@ AC_SUBST(LIB_IPHLPAPI) > AC_SUBST(LIB_SHELL32) > AC_SUBST(LIB_PSAPI) > AC_SUBST(LIB_MAC) >@@ -91,9 +92,9 @@ > +AC_SUBST(LIB_INOTIFY) > +AC_SUBST(LIB_KVM) > AC_SUBST(MSVC_CFLAGS) >+ AC_SUBST(LIB_CRYPT32) > >- >-@@ -240,7 +281,9 @@ >+@@ -244,7 +286,9 @@ ZDB_REQUIRED=2.10 > #LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1 > CURL_REQUIRED=7.17 > FUSE_REQUIRED=2.7.3 >@@ -103,7 +104,7 @@ > > PKG_CHECK_MODULES(SSL, [openssl]) > AC_SUBST(SSL_CFLAGS) >-@@ -270,9 +313,11 @@ >+@@ -274,9 +318,11 @@ PKG_CHECK_MODULES(LIBEVENT, [libevent >= > AC_SUBST(LIBEVENT_CFLAGS) > AC_SUBST(LIBEVENT_LIBS) > >Index: net-mgmt/seafile/files/patch-controller_seafile-controller.c >=================================================================== >--- net-mgmt/seafile/files/patch-controller_seafile-controller.c (revision 403893) >+++ net-mgmt/seafile/files/patch-controller_seafile-controller.c (working copy) >@@ -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); > } > >Index: net-mgmt/seafile/files/patch-daemon_Makefile.am >=================================================================== >--- net-mgmt/seafile/files/patch-daemon_Makefile.am (revision 403893) >+++ net-mgmt/seafile/files/patch-daemon_Makefile.am (working copy) >@@ -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 2015-10-12 04:12:33 UTC >++++ daemon/Makefile.am >+@@ -69,6 +69,10 @@ if LINUX > wt_monitor_src = wt-monitor.c wt-monitor-linux.c wt-monitor-structs.c > endif > >@@ -11,10 +11,10 @@ > if WIN32 > wt_monitor_src = wt-monitor.c wt-monitor-win32.c wt-monitor-structs.c > endif >-@@ -127,7 +131,8 @@ >+@@ -135,7 +139,8 @@ 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} \ >+ $(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@ > + @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ @LIB_MAC@ @ZLIB_LIBS@ \ > + @CURL_LIBS@ @LIB_INOTIFY@ >Index: net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c >=================================================================== >--- net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c (revision 0) >+++ net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c (working copy) >@@ -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. */ > >Property changes on: net-mgmt/seafile/files/patch-daemon_http-tx-mgr.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: net-mgmt/seafile/files/patch-daemon_repo-mgr.c >=================================================================== >--- net-mgmt/seafile/files/patch-daemon_repo-mgr.c (revision 403893) >+++ net-mgmt/seafile/files/patch-daemon_repo-mgr.c (working copy) >@@ -1,6 +1,6 @@ >---- 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 2015-09-21 03:42:11 UTC >++++ daemon/repo-mgr.c >+@@ -4017,13 +4017,13 @@ checkout_file (const char *repo_id, > gboolean force_conflict = FALSE; > gboolean update_mode_only = FALSE; > >@@ -17,7 +17,7 @@ > #endif > > if (!path) >-@@ -2675,13 +2675,13 @@ >+@@ -4193,13 +4193,13 @@ checkout_empty_dir (const char *worktree > char *path; > gboolean case_conflict = FALSE; > >@@ -34,7 +34,41 @@ > #endif > > if (!path) >-@@ -2839,13 +2839,13 @@ >+@@ -4606,13 +4606,13 @@ schedule_file_fetch (GThreadPool *tpool, >+ new_ce = TRUE; >+ } >+ >+-#ifndef __linux__ >++#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) >++ path = build_checkout_path (worktree, de->name, strlen(de->name)); >++#else >+ path = build_case_conflict_free_path (worktree, de->name, >+ conflict_hash, no_conflict_hash, >+ &case_conflict, >+ FALSE); >+-#else >+- path = build_checkout_path (worktree, de->name, strlen(de->name)); >+ #endif >+ >+ if (!path) { >+@@ -4736,13 +4736,13 @@ 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_checkout_path (worktree, de->name, strlen(de->name)); >++#else >+ path = build_case_conflict_free_path (worktree, de->name, >+ conflict_hash, no_conflict_hash, >+ &case_conflict, >+ FALSE); >+-#else >+- path = build_checkout_path (worktree, de->name, strlen(de->name)); >+ #endif >+ >+ if (!path) { >+@@ -5110,13 +5110,13 @@ do_rename_in_worktree (DiffEntry *de, co > old_path = g_build_filename (worktree, de->name, NULL); > > if (seaf_util_exists (old_path)) { >@@ -50,4 +84,4 @@ > - new_path = build_checkout_path (worktree, de->new_name, strlen(de->new_name)); > #endif > >- if (seaf_util_rename (old_path, new_path) < 0) { >+ if (!new_path) { >Index: net-mgmt/seafile/files/patch-daemon_vc-utils.c >=================================================================== >--- net-mgmt/seafile/files/patch-daemon_vc-utils.c (revision 403893) >+++ net-mgmt/seafile/files/patch-daemon_vc-utils.c (working copy) >@@ -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 2015-09-21 03:42:11 UTC >++++ daemon/vc-utils.c >+@@ -664,7 +664,7 @@ error: > > #endif /* defined WIN32 || defined __APPLE__ */ > >@@ -9,7 +9,7 @@ > > char * > build_checkout_path (const char *worktree, const char *ce_name, int len) >-@@ -724,13 +724,13 @@ >+@@ -724,13 +724,13 @@ checkout_entry (struct cache_entry *ce, > gboolean force_conflict = FALSE; > > path_in = g_build_path ("/", o->base, ce->name, NULL); >Index: net-mgmt/seafile/files/patch-lib_Makefile.am >=================================================================== >--- net-mgmt/seafile/files/patch-lib_Makefile.am (revision 0) >+++ net-mgmt/seafile/files/patch-lib_Makefile.am (working copy) >@@ -0,0 +1,29 @@ >+--- 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 \ >++ @LIB_KVM@ \ >+ @LIBEVENT_LIBS@ @SEARPC_LIBS@ @LIB_SHELL32@ \ >+ @ZLIB_LIBS@ >+ >+@@ -74,7 +75,7 @@ vala.stamp: ${seafile_object_define} >+ rm -f ${seafile_object_gen} >+ @rm -f vala.tmp >+ @touch vala.tmp >+- valac -C --pkg posix $^ >++ valac -C --pkg posix ${seafile_object_define} >+ @mv -f vala.tmp $@ >+ >+ ${seafile_object_gen}: vala.stamp >+@@ -90,5 +91,9 @@ install-data-local: >+ if MACOS >+ sed -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) >+ else >++if BSD >++ sed -i '' "s|(DESTDIR)|${PREFIX}|g" $(pcfiles) >++else >+ ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) >+ endif >++endif > >Property changes on: net-mgmt/seafile/files/patch-lib_Makefile.am >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: net-mgmt/seafile/files/patch-lib_Makfile.am >=================================================================== >--- net-mgmt/seafile/files/patch-lib_Makfile.am (revision 403893) >+++ net-mgmt/seafile/files/patch-lib_Makfile.am (working copy) >@@ -1,29 +0,0 @@ >---- 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 @@ >- 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 \ >-+ @LIB_KVM@ \ >- @LIBEVENT_LIBS@ @SEARPC_LIBS@ @LIB_SHELL32@ \ >- @ZLIB_LIBS@ >- >-@@ -74,7 +75,7 @@ >- rm -f ${seafile_object_gen} >- @rm -f vala.tmp >- @touch vala.tmp >-- valac -C --pkg posix $^ >-+ valac -C --pkg posix ${seafile_object_define} >- @mv -f vala.tmp $@ >- >- ${seafile_object_gen}: vala.stamp >-@@ -90,5 +91,9 @@ >- if MACOS >- sed -i '' -e "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) >- else >-+if BSD >-+ sed -i '' "s|(DESTDIR)|${PREFIX}|g" $(pcfiles) >-+else >- ${SED} -i "s|(DESTDIR)|${DESTDIR}|g" $(pcfiles) >- endif >-+endif >Index: net-mgmt/seafile/files/patch-lib_net.c >=================================================================== >--- net-mgmt/seafile/files/patch-lib_net.c (revision 403893) >+++ net-mgmt/seafile/files/patch-lib_net.c (working copy) >@@ -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); > >Index: net-mgmt/seafile/files/patch-lib_utils.c >=================================================================== >--- net-mgmt/seafile/files/patch-lib_utils.c (revision 403893) >+++ net-mgmt/seafile/files/patch-lib_utils.c (working copy) >@@ -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 > >Index: net-mgmt/seafile/files/patch-lib_utils.h >=================================================================== >--- net-mgmt/seafile/files/patch-lib_utils.h (revision 403893) >+++ net-mgmt/seafile/files/patch-lib_utils.h (working copy) >@@ -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 >Index: net-mgmt/seafile/files/patch-scripts_setup-seafile.sh >=================================================================== >--- net-mgmt/seafile/files/patch-scripts_setup-seafile.sh (revision 403893) >+++ net-mgmt/seafile/files/patch-scripts_setup-seafile.sh (working copy) >@@ -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() { >Index: net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh >=================================================================== >--- net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh (revision 0) >+++ net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh (working copy) >@@ -0,0 +1,13 @@ >+--- scripts/upgrade/regenerate_secret_key.sh.orig 2015-10-21 04:01:24 UTC >++++ scripts/upgrade/regenerate_secret_key.sh >+@@ -8,6 +8,8 @@ TOPDIR=$(dirname "${INSTALLPATH}") >+ seahub_secret_keygen=${INSTALLPATH}/seahub/tools/secret_key_generator.py >+ seahub_settings_py=${TOPDIR}/seahub_settings.py >+ >+-line="SECRET_KEY = \"$(python $seahub_secret_keygen)\"" >++line="SECRET_KEY = \"$(python2.7 $seahub_secret_keygen)\"" >+ >+-sed -i -e "/SECRET_KEY/c\\$line" $seahub_settings_py >++sed -i.bak -e "/SECRET_KEY/c\\ >++$line >++" $seahub_settings_py > >Property changes on: net-mgmt/seafile/files/patch-scripts_upgrade_regenerate__secret__key.sh >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: net-mgmt/seafile/files/patch-server_access-file.c >=================================================================== >--- net-mgmt/seafile/files/patch-server_access-file.c (revision 0) >+++ net-mgmt/seafile/files/patch-server_access-file.c (working copy) >@@ -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); >+ } >+ > >Property changes on: net-mgmt/seafile/files/patch-server_access-file.c >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: net-mgmt/seafile/files/pkg-message.in >=================================================================== >--- net-mgmt/seafile/files/pkg-message.in (revision 0) >+++ net-mgmt/seafile/files/pkg-message.in (working copy) >@@ -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 > >Property changes on: net-mgmt/seafile/files/pkg-message.in >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: net-mgmt/seafile/files/seafile.in >=================================================================== >--- net-mgmt/seafile/files/seafile.in (revision 403893) >+++ net-mgmt/seafile/files/seafile.in (working copy) >@@ -4,7 +4,7 @@ > # > > # PROVIDE: seafile >-# REQUIRE: LOGIN cleanvar >+# REQUIRE: LOGIN cleanvar mysql > # KEYWORD: shutdown > # > >@@ -13,47 +13,138 @@ > # > # 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 "seafile" created by the port >+# seafile_group (str): Group to run seafile as >+# Default to "seafile" 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_ccnet_debug (str): Set to "info" by default. >+# Possible values are debug, warning, info. >+# seafile_seafile_debug (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:=seafile} >+: ${seafile_group:=seafile} >+: ${seafile_path:=%%PREFIX%%/%%SEAFILE_SERVER%%} >+: ${seafile_ccnet:=%%PREFIX%%/%%HAIWENDIR%%/ccnet} >+: ${seafile_conf:=%%PREFIX%%/%%HAIWENDIR%%/conf} >+: ${seafile_datadir:=`cat ${seafile_ccnet}/seafile.ini`} >+: ${seafile_logdir:=%%PREFIX%%/%%HAIWENDIR%%/logs} >+: ${seafile_ccnet_debug:=info} >+: ${seafile_seafile_debug:=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_ccnet_debug}\" -G \"${seafile_seafile_debug}\"" > >-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" > } > >-load_rc_config $name >+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; >+} >+ > run_rc_command "$1" >Index: net-mgmt/seafile/pkg-plist >=================================================================== >--- net-mgmt/seafile/pkg-plist (revision 403893) >+++ net-mgmt/seafile/pkg-plist (working copy) >@@ -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-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 >@@ -51,6 +52,9 @@ > %%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 +73,18 @@ > %%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 +97,11 @@ > %%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/upgrade_4.4_5.0.sh >+@dir(seafile,seafile,755) %%HAIWENDIR%% >Index: UIDs >=================================================================== >--- UIDs (revision 403893) >+++ UIDs (working copy) >@@ -251,6 +251,7 @@ > munin:*:842:842::0:0:Munin:/var/munin:/usr/sbin/nologin > subsonic:*:844:844::0:0:Subsonic standalone-server:/nonexistent:/usr/sbin/nologin > sogod:*:846:846::0:0:SOGo groupware:/nonexistent:/usr/sbin/nologin >+seafile:*:900:900::0:0:seafile user:/nonexistent:/usr/bin/nologin > fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash > scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin > _ocserv:*:903:903::0:0:ocserv user:/nonexistent:/usr/sbin/nologin >Index: GIDs >=================================================================== >--- GIDs (revision 403893) >+++ GIDs (working copy) >@@ -240,6 +240,7 @@ > dahdi:*:843:asterisk > subsonic:*:844: > sogod:*:846: >+seafile:*:900: > fossy:*:901:www > scanlogd:*:902: > _ocserv:*:903:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
Ultima1252
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 203933
:
162296
|
162316
|
162317
|
162318
|
162319
|
163551
|
163632
|
163972
|
164031
|
164698
|
164805
|
164870
|
165374
|
166286
|
166365
|
167326
|
169388
|
169568
|
169591
|
169608
|
170279