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

Reply via email to