From 88cac8379974153b3ba2c697557757a17f1ebf71 Mon Sep 17 00:00:00 2001 From: edd Date: Sat, 29 Jun 2019 14:05:19 +0000 Subject: [PATCH] Update net/syncthing to version 1.1.4. Also improve the pkg README. Tested by Paco Esteban. OK bket@. Thanks! --- net/syncthing/Makefile | 12 ++++++------ net/syncthing/distinfo | 4 ++-- net/syncthing/patches/patch-build_go | 6 +++--- net/syncthing/pkg/README | 18 ++++++++++++++++-- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/net/syncthing/Makefile b/net/syncthing/Makefile index 5268cfc13c2..1ce9d43ef49 100644 --- a/net/syncthing/Makefile +++ b/net/syncthing/Makefile @@ -1,8 +1,8 @@ -# $OpenBSD: Makefile,v 1.26 2019/05/04 21:46:17 sthen Exp $ +# $OpenBSD: Makefile,v 1.27 2019/06/29 14:05:19 edd Exp $ COMMENT = open decentralized synchronization utility -V = 1.1.1 +V = 1.1.4 DISTNAME = syncthing-${V} DISTFILES = syncthing-source-v${V}${EXTRACT_SUFX} @@ -12,7 +12,7 @@ HOMEPAGE = https://syncthing.net/ MAINTAINER = Edd Barrett # MPL 2.0 -PERMIT_PACKAGE_CDROM = Yes +PERMIT_PACKAGE = Yes WANTLIB += c pthread @@ -29,9 +29,9 @@ do-build: cd ${WRKSRC} && ${MODGO_CMD} run build.go \ -version v${V} -no-upgrade -# Some tests fail, but they are bugs in the test suite itself, not Syncthing. -# We are working with upstream to fix these: -# https://forum.syncthing.net/t/openbsd-test-debugging/12799 +# A couple of test failures caused by a bug in the test suite (but not in +# Syncthing itself): +# https://github.com/syncthing/syncthing/issues/5796#issuecomment-502473144 do-test: cd ${WRKSRC} && ${MODGO_CMD} run build.go test diff --git a/net/syncthing/distinfo b/net/syncthing/distinfo index 242b5aa7ba3..7d3fb192cf6 100644 --- a/net/syncthing/distinfo +++ b/net/syncthing/distinfo @@ -1,2 +1,2 @@ -SHA256 (syncthing-source-v1.1.1.tar.gz) = p5ZYPBKJR2U5S+OOjehYcFSR3GdCibtpNuaK60viNHc= -SIZE (syncthing-source-v1.1.1.tar.gz) = 6966579 +SHA256 (syncthing-source-v1.1.4.tar.gz) = 1GSIS/2S6sLy28g1x0DqfVvZ5uvQvKfNpJaCsNpOa14= +SIZE (syncthing-source-v1.1.4.tar.gz) = 9364374 diff --git a/net/syncthing/patches/patch-build_go b/net/syncthing/patches/patch-build_go index d577412561a..c2518004f0c 100644 --- a/net/syncthing/patches/patch-build_go +++ b/net/syncthing/patches/patch-build_go @@ -1,8 +1,8 @@ -$OpenBSD: patch-build_go,v 1.8 2019/05/03 12:58:59 edd Exp $ +$OpenBSD: patch-build_go,v 1.9 2019/06/29 14:05:19 edd Exp $ Index: build.go --- build.go.orig +++ build.go -@@ -188,6 +188,20 @@ var targets = map[string]target{ +@@ -189,6 +189,20 @@ var targets = map[string]target{ {src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644}, }, }, @@ -23,7 +23,7 @@ Index: build.go } // These are repos we need to clone to run "go generate" -@@ -435,7 +449,7 @@ func appendParameters(args []string, tags []string, ta +@@ -439,7 +453,7 @@ func appendParameters(args []string, tags []string, ta if !debugBinary { // Regular binaries get version tagged and skip some debug symbols diff --git a/net/syncthing/pkg/README b/net/syncthing/pkg/README index bb263d1e9ca..057ef2b49b3 100644 --- a/net/syncthing/pkg/README +++ b/net/syncthing/pkg/README @@ -1,4 +1,4 @@ -$OpenBSD: README,v 1.4 2018/09/04 12:46:19 espie Exp $ +$OpenBSD: README,v 1.5 2019/06/29 14:05:19 edd Exp $ +----------------------------------------------------------------------- | Running ${PKGSTEM} on OpenBSD @@ -51,7 +51,12 @@ File Descriptor Limits ====================== Syncthing is fairly hungry for file descriptors and the default limits may be -insufficient. If you run Syncthing via the rc.d(8) script, then you can give +insufficient. On OpenBSD, Syncthing uses kqueue(2) to "watch" files, and since +kqueue(2) doesn't support recursive watching, each file has be watched +individually. The upshot of this is that each file in a watched folder will use +one file descriptor. + +If you run Syncthing via the rc.d(8) script, then you can give Syncthing more file descriptors by adding the following to login.conf(5): syncthing:\ @@ -62,3 +67,12 @@ Syncthing more file descriptors by adding the following to login.conf(5): Don't forget to rebuild the login.conf.db file (if necessary): # [ -f /etc/login.conf.db ] && cap_mkdb /etc/login.conf + +Note that in addition to ulimits, there is a kernel-level file descriptor limit +which may also need to be adjusted. This limit is managed through the +kern.maxfiles sysctl(8). + +Another option is to turn off the file watcher and use only periodic scans. +This will result in much reduced file descriptor usage at the cost of a +(configurable) latency. See "watch for changes" and "full rescan interval" in +the "advanced" tab in a folder's settings (on the web UI).