Hi, The Syncthing test failures on OpenBSD have now been addressed by upstream, so I think we can go ahead with updating the port again :)
Apparently the inotify library they use doesn't quite behave as they expected on OpenBSD (something to do with kqueue): https://github.com/rjeczalik/notify/issues/172 I've checked with upstream that this does not cripple syncthing for us: https://github.com/syncthing/syncthing/issues/5077#issuecomment-454933086 And it looks like it may be fixed in the future: https://github.com/rjeczalik/notify/issues/172#issuecomment-454930655 Here's a diff to update our package to version 1.0.0, with a patch back-ported to address test failures. Note that `make update-plist` wanted to re-order the @unexec/@sample bits. I think that's fine. I'll be testing this over the next few days. A big thanks to Audrius Butkevicius from upstream for looking into the test failures! Index: Makefile =================================================================== RCS file: /cvs/ports/net/syncthing/Makefile,v retrieving revision 1.23 diff -u -p -r1.23 Makefile --- Makefile 4 Sep 2018 12:46:19 -0000 1.23 +++ Makefile 20 Jan 2019 12:18:02 -0000 @@ -2,10 +2,9 @@ COMMENT = open decentralized synchronization utility -V = 0.14.47 +V = 1.0.0 DISTNAME = syncthing-${V} DISTFILES = syncthing-source-v${V}${EXTRACT_SUFX} -REVISION = 0 CATEGORIES = net HOMEPAGE = https://syncthing.net/ Index: distinfo =================================================================== RCS file: /cvs/ports/net/syncthing/distinfo,v retrieving revision 1.14 diff -u -p -r1.14 distinfo --- distinfo 4 Jun 2018 08:51:48 -0000 1.14 +++ distinfo 20 Jan 2019 12:19:21 -0000 @@ -1,2 +1,2 @@ -SHA256 (syncthing-source-v0.14.47.tar.gz) = krNTXKPqeyfFsux3EIiGXNbpHYEaCBa+OaYoOjBn5vM= -SIZE (syncthing-source-v0.14.47.tar.gz) = 10496524 +SHA256 (syncthing-source-v1.0.0.tar.gz) = J0NfnvfCdnNuwWeBrWsn/ssoBTuP+xbguuQMHpu2IiU= +SIZE (syncthing-source-v1.0.0.tar.gz) = 10801212 Index: patches/patch-build_go =================================================================== RCS file: /cvs/ports/net/syncthing/patches/patch-build_go,v retrieving revision 1.6 diff -u -p -r1.6 patch-build_go --- patches/patch-build_go 24 Feb 2018 10:14:24 -0000 1.6 +++ patches/patch-build_go 20 Jan 2019 13:12:59 -0000 @@ -2,7 +2,7 @@ $OpenBSD: patch-build_go,v 1.6 2018/02/2 Index: build.go --- build.go.orig +++ build.go -@@ -461,7 +461,7 @@ func appendParameters(args []string, tags []string, ta +@@ -490,7 +490,7 @@ func appendParameters(args []string, tags []string, ta if !debugBinary { // Regular binaries get version tagged and skip some debug symbols Index: patches/patch-lib_fs_basicfs_watch_test_go =================================================================== RCS file: patches/patch-lib_fs_basicfs_watch_test_go diff -N patches/patch-lib_fs_basicfs_watch_test_go --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-lib_fs_basicfs_watch_test_go 20 Jan 2019 13:14:11 -0000 @@ -0,0 +1,61 @@ +$OpenBSD$ + +From upstream: +https://github.com/syncthing/syncthing/commit/96bd691f55d9f4bfc54a211b44a301c7392b1a9a + +Issue: +https://github.com/syncthing/syncthing/issues/5246 + +Index: lib/fs/basicfs_watch_test.go +--- lib/fs/basicfs_watch_test.go.orig ++++ lib/fs/basicfs_watch_test.go +@@ -57,7 +57,8 @@ func TestMain(m *testing.M) { + } + + const ( +- testDir = "testdata" ++ testDir = "testdata" ++ failsOnOpenBSD = "Fails on OpenBSD. See https://github.com/rjeczalik/notify/issues/172" + ) + + var ( +@@ -66,6 +67,9 @@ var ( + ) + + func TestWatchIgnore(t *testing.T) { ++ if runtime.GOOS == "openbsd" { ++ t.Skip(failsOnOpenBSD) ++ } + name := "ignore" + + file := "file" +@@ -87,6 +91,9 @@ func TestWatchIgnore(t *testing.T) { + } + + func TestWatchInclude(t *testing.T) { ++ if runtime.GOOS == "openbsd" { ++ t.Skip(failsOnOpenBSD) ++ } + name := "include" + + file := "file" +@@ -111,6 +118,9 @@ func TestWatchInclude(t *testing.T) { + } + + func TestWatchRename(t *testing.T) { ++ if runtime.GOOS == "openbsd" { ++ t.Skip(failsOnOpenBSD) ++ } + name := "rename" + + old := createTestFile(name, "oldfile") +@@ -203,6 +213,9 @@ func TestWatchSubpath(t *testing.T) { + + // TestWatchOverflow checks that an event at the root is sent when maxFiles is reached + func TestWatchOverflow(t *testing.T) { ++ if runtime.GOOS == "openbsd" { ++ t.Skip(failsOnOpenBSD) ++ } + name := "overflow" + + expectedEvents := []Event{ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/syncthing/pkg/PLIST,v retrieving revision 1.4 diff -u -p -r1.4 PLIST --- pkg/PLIST 4 Sep 2018 12:46:19 -0000 1.4 +++ pkg/PLIST 20 Jan 2019 13:16:38 -0000 @@ -1,6 +1,13 @@ @comment $OpenBSD: PLIST,v 1.4 2018/09/04 12:46:19 espie Exp $ @newgroup _syncthing:768 @newuser _syncthing:768:_syncthing:daemon:Syncthing user:${VARBASE}/syncthing:/sbin/nologin +@rcscript ${RCDIR}/syncthing +@owner _syncthing +@group _syncthing +@sample ${VARBASE}/syncthing/ +@extraunexec rm -rf ${VARBASE}/syncthing/{.,}* +@owner +@group @bin bin/syncthing @man man/man1/stdiscosrv.1 @man man/man1/strelaysrv.1 @@ -19,8 +26,3 @@ @man man/man7/syncthing-security.7 @man man/man7/syncthing-versioning.7 share/doc/pkg-readmes/${PKGSTEM} -@rcscript ${RCDIR}/syncthing -@owner _syncthing -@group _syncthing -@sample ${VARBASE}/syncthing/ -@extraunexec rm -rf ${VARBASE}/syncthing/{.,}* -- Best Regards Edd Barrett http://www.theunixzoo.co.uk