diff --git a/.gitignore b/.gitignore index 0880485..96d755b 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,30 @@ /syncthing-source-v1.20.2.tar.gz /syncthing-source-v1.20.3.tar.gz /syncthing-source-v1.20.4.tar.gz +/syncthing-source-v1.21.0.tar.gz +/syncthing-source-v1.22.0.tar.gz +/syncthing-source-v1.23.0.tar.gz +/syncthing-source-v1.23.1.tar.gz +/syncthing-source-v1.23.2.tar.gz +/syncthing-source-v1.23.4.tar.gz +/syncthing-source-v1.23.5.tar.gz +/syncthing-source-v1.23.6.tar.gz +/syncthing-source-v1.23.7.tar.gz +/syncthing-source-v1.24.0.tar.gz +/syncthing-source-v1.25.0.tar.gz +/syncthing-source-v1.26.0.tar.gz +/syncthing-source-v1.26.1.tar.gz +/syncthing-source-v1.27.1.tar.gz +/syncthing-source-v1.27.2.tar.gz +/syncthing-source-v1.27.3.tar.gz +/syncthing-source-v1.27.4.tar.gz +/syncthing-source-v1.27.6.tar.gz +/syncthing-source-v1.27.7.tar.gz +/syncthing-source-v1.27.9.tar.gz +/syncthing-source-v1.27.12.tar.gz +/syncthing-source-v1.28.0.tar.gz +/syncthing-source-v1.28.1.tar.gz +/syncthing-source-v1.29.3.tar.gz +/syncthing-source-v1.29.5.tar.gz +/syncthing-source-v1.29.6.tar.gz +/syncthing-source-v1.30.0.tar.gz diff --git a/0001-lib-api-api_test-fix-non-constant-format-string.patch b/0001-lib-api-api_test-fix-non-constant-format-string.patch new file mode 100644 index 0000000..20f22c2 --- /dev/null +++ b/0001-lib-api-api_test-fix-non-constant-format-string.patch @@ -0,0 +1,25 @@ +From e983a6d622f5ddc7968fdf06bfc6cf0c027444eb Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Wed, 12 Mar 2025 16:42:24 +0100 +Subject: [PATCH 1/2] lib/api/api_test: fix non-constant format string + +--- + lib/api/api_test.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/api/api_test.go b/lib/api/api_test.go +index db5df49..301d41c 100644 +--- a/lib/api/api_test.go ++++ b/lib/api/api_test.go +@@ -790,7 +790,7 @@ func TestHtmlFormLogin(t *testing.T) { + t.Errorf("Unexpected non-200 return code %d at %s", resp.StatusCode, noAuthPath) + } + if hasSessionCookie(resp.Cookies()) { +- t.Errorf("Unexpected session cookie at " + noAuthPath) ++ t.Errorf("Unexpected session cookie at %s", noAuthPath) + } + }) + } +-- +2.48.1 + diff --git a/0002-lib-ignore-ignore_test-fix-non-constant-format-strin.patch b/0002-lib-ignore-ignore_test-fix-non-constant-format-strin.patch new file mode 100644 index 0000000..68eb294 --- /dev/null +++ b/0002-lib-ignore-ignore_test-fix-non-constant-format-strin.patch @@ -0,0 +1,34 @@ +From 4a9469f9969c646098a7d23d387aad150de1259c Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Wed, 12 Mar 2025 16:53:32 +0100 +Subject: [PATCH 2/2] lib/ignore/ignore_test: fix non-constant format string + +--- + lib/ignore/ignore_test.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/ignore/ignore_test.go b/lib/ignore/ignore_test.go +index 72a0c4d..6ca5267 100644 +--- a/lib/ignore/ignore_test.go ++++ b/lib/ignore/ignore_test.go +@@ -1077,7 +1077,7 @@ func TestIssue4901(t *testing.T) { + + fd, err := pats.fs.Create(".stignore") + if err != nil { +- t.Fatalf(err.Error()) ++ t.Fatalf("%s", err.Error()) + } + if _, err := fd.Write([]byte(stignore)); err != nil { + t.Fatal(err) +@@ -1099,7 +1099,7 @@ func TestIssue4901(t *testing.T) { + + fd, err = pats.fs.Create("unicorn-lazor-death") + if err != nil { +- t.Fatalf(err.Error()) ++ t.Fatalf("%s", err.Error()) + } + if _, err := fd.Write([]byte(" ")); err != nil { + t.Fatal(err) +-- +2.48.1 + diff --git a/0d64427.patch b/0d64427.patch deleted file mode 100644 index 6bc6c77..0000000 --- a/0d64427.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 0d6442721aecadf685a16cca0ef874df468b2009 Mon Sep 17 00:00:00 2001 -From: Simon Frei -Date: Tue, 3 Dec 2019 15:11:39 +0100 -Subject: [PATCH] lib/protocol: Decrease runtime/mem usage of bufferpool - stresstest (ref #6209) - ---- - lib/protocol/bufferpool_test.go | 58 +++++++++++++++++++++------------ - 1 file changed, 38 insertions(+), 20 deletions(-) - -diff --git a/lib/protocol/bufferpool_test.go b/lib/protocol/bufferpool_test.go -index ab889ba88f..f7c6f67ce3 100644 ---- a/lib/protocol/bufferpool_test.go -+++ b/lib/protocol/bufferpool_test.go -@@ -3,7 +3,6 @@ - package protocol - - import ( -- "sync" - "testing" - "time" - -@@ -70,18 +69,47 @@ func TestStressBufferPool(t *testing.T) { - } - - const routines = 10 -- const runtime = 2 * time.Second - - bp := newBufferPool() -- t0 := time.Now() - -- var wg sync.WaitGroup -+ timeout := time.After(2 * time.Second) -+ done := make(chan struct{}) -+ checkDone := func() bool { -+ if bp.puts == 0 || bp.skips == 0 || bp.misses == 0 { -+ return false -+ } -+ var hits int64 -+ for _, h := range bp.hits { -+ hits += h -+ } -+ return hits > 0 -+ } -+ -+ go func() { -+ for { -+ select { -+ case <-time.After(50 * time.Millisecond): -+ if checkDone() { -+ close(done) -+ return -+ } -+ case <-timeout: -+ return -+ } -+ } -+ }() -+ - fail := make(chan struct{}, routines) - for i := 0; i < routines; i++ { -- wg.Add(1) - go func() { -- defer wg.Done() -- for time.Since(t0) < runtime { -+ for { -+ select { -+ case <-done: -+ return -+ case <-timeout: -+ return -+ default: -+ } - blocks := make([][]byte, 10) - for i := range blocks { - // Request a block of random size with the range -@@ -101,24 +129,14 @@ func TestStressBufferPool(t *testing.T) { - }() - } - -- wg.Wait() - select { - case <-fail: - t.Fatal("a block was bad size") -+ case <-done: -+ case <-timeout: -+ t.Fatal("timed out before exercising all paths") - default: - } -- -- t.Log(bp.puts, bp.skips, bp.misses, bp.hits) -- if bp.puts == 0 || bp.skips == 0 || bp.misses == 0 { -- t.Error("didn't exercise some paths") -- } -- var hits int64 -- for _, h := range bp.hits { -- hits += h -- } -- if hits == 0 { -- t.Error("didn't exercise some paths") -- } - } - - func shouldPanic(t *testing.T, fn func()) { diff --git a/README.md b/README.md index 7864bd6..320aafb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# syncthing + ## Usage By default, the syncthing service isn't enabled after installation. Depending on diff --git a/sources b/sources index e5b9dfd..cb41ca6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (syncthing-source-v1.20.4.tar.gz) = f695cc6d8e6a87b397a11f79f3b5e12565fcea4601da7dd41b681e49913bb48b5164b3648ae68a1d580b77f6a20cc8053e252e24a5c054c52255ece34e90c4f8 +SHA512 (syncthing-source-v1.30.0.tar.gz) = 30c69b4dc3373b915da39ecca85c785ecbb19f847b49c1e95e3c5d4417d02415e9a991d3b3d9984f7ae02594d4805c80cf86aba22e33456d352b76a9e5bd3fef diff --git a/syncthing.spec b/syncthing.spec index f220c55..563d026 100644 --- a/syncthing.spec +++ b/syncthing.spec @@ -1,6 +1,4 @@ -%bcond_with devel - -%global basever 1.20.4 +%global basever 1.30.0 #%%global rcnum 0 Name: syncthing @@ -11,21 +9,22 @@ Release: %autorelease %global goipath github.com/syncthing/syncthing %global tag v%{basever}%{?rcnum:-rc.%{rcnum}} -%gometa +%gometa -f -# syncthing (MPLv2.0) bundles +# syncthing (MPL-2.0) bundles # - angular, bootstrap, daterangepicker, fancytree, jQuery, moment (MIT), -# - ForkAwesome (MIT and OFL and CC-BY 3.0), and -# - a number of go packages (MIT and MPLv2.0 and BSD and ASL 2.0 and ISC) -License: MPLv2.0 and MIT and OFL and CC-BY and BSD and ASL 2.0 and ISC +# - HumanizeDuration (MIT OR Unlicense), +# - ForkAwesome (MIT, OFL-1.1, CC-BY-3.0), and +# - a number of go packages (Apache-2.0, BSD-2-Clause, BSD-2-Clause-Views, BSD-3-Clause, ISC, MIT, MPL-2.0) +License: MPL-2.0 AND Apache-2.0 AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND CC-BY-3.0 AND ISC AND MIT AND OFL-1.1 AND (Apache-2.0 OR MIT) AND (MIT OR Unlicense) URL: https://syncthing.net # use official release tarball (contains vendored dependencies) Source0: %{gourl}/releases/download/%{tag}/%{name}-source-%{tag}.tar.gz -# rejected patch to fix tests running out of memory on 32 bit arches -# See: https://github.com/syncthing/syncthing/issues/6209 -Patch0: https://github.com/imsodin/syncthing/commit/0d64427.patch +# fix compilation failures caused non-constant format strings +Patch: 0001-lib-api-api_test-fix-non-constant-format-string.patch +Patch: 0002-lib-ignore-ignore_test-fix-non-constant-format-strin.patch BuildRequires: desktop-file-utils BuildRequires: systemd-rpm-macros @@ -41,6 +40,7 @@ Provides: bundled(angular-translate-loader-static-files) = 2.11.0 Provides: bundled(bootstrap) = 3.3.6 Provides: bundled(daterangepicker) = 3.1 Provides: bundled(ForkAwesome) = 1.2.0 +Provides: bundled(HumanizeDuration.js) Provides: bundled(jquery) = 2.2.2 Provides: bundled(jquery-fancytree) = 2.38.0 Provides: bundled(jquery-ui) = 1.12.1 @@ -50,162 +50,184 @@ Provides: bundled(moment) = 2.19.4 # manually check licenses for new deps and update License tag if necessary # generate with "./vendor2provides.py path/to/vendor/modules.txt" -# github.com/AudriusButkevicius/pfilter : MIT -Provides: bundled(golang(github.com/AudriusButkevicius/pfilter)) = 0.0.10 -# github.com/AudriusButkevicius/recli : MPLv2.0 -Provides: bundled(golang(github.com/AudriusButkevicius/recli)) = 0.0.6 +# github.com/AudriusButkevicius/recli : MPL-2.0 +Provides: bundled(golang(github.com/AudriusButkevicius/recli)) = d000ce8 +# github.com/Azure/azure-sdk-for-go : MIT +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/azcore)) = 1.18.0 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/internal)) = 1.11.1 +Provides: bundled(golang(github.com/Azure/azure-sdk-for-go/sdk/storage/azblob)) = 1.6.1 # github.com/Azure/go-ntlmssp : MIT -Provides: bundled(golang(github.com/Azure/go-ntlmssp)) = 6637195 +Provides: bundled(golang(github.com/Azure/go-ntlmssp)) = 754e693 # github.com/alecthomas/kong : MIT -Provides: bundled(golang(github.com/alecthomas/kong)) = 0.6.1 +Provides: bundled(golang(github.com/alecthomas/kong)) = 1.11.0 +# github.com/aws/aws-sdk-go : Apache-2.0 +Provides: bundled(golang(github.com/aws/aws-sdk-go)) = 1.55.7 # github.com/beorn7/perks : MIT Provides: bundled(golang(github.com/beorn7/perks)) = 1.0.1 +# github.com/calmh/incontainer : MIT +Provides: bundled(golang(github.com/calmh/incontainer)) = 1.0.0 # github.com/calmh/xdr : MIT -Provides: bundled(golang(github.com/calmh/xdr)) = 1.1.0 -# github.com/ccding/go-stun : ASL 2.0 -Provides: bundled(golang(github.com/ccding/go-stun)) = 0.1.3 -# github.com/certifi/gocertifi : MPLv2.0 +Provides: bundled(golang(github.com/calmh/xdr)) = 1.2.0 +# github.com/ccding/go-stun : Apache-2.0 +Provides: bundled(golang(github.com/ccding/go-stun)) = 0.1.5 +# github.com/cenkalti/backoff : MIT +Provides: bundled(golang(github.com/cenkalti/backoff/v4)) = 4.3.0 +# github.com/certifi/gocertifi : MPL-2.0 Provides: bundled(golang(github.com/certifi/gocertifi)) = 431795d # github.com/cespare/xxhash : MIT -Provides: bundled(golang(github.com/cespare/xxhash/v2)) = 2.1.2 -# github.com/cheekybits/genny : MIT -Provides: bundled(golang(github.com/cheekybits/genny)) = 1.0.0 +Provides: bundled(golang(github.com/cespare/xxhash/v2)) = 2.3.0 # github.com/chmduquesne/rollinghash : MIT -Provides: bundled(golang(github.com/chmduquesne/rollinghash)) = a60f8e7 +Provides: bundled(golang(github.com/chmduquesne/rollinghash)) = 4.0.0+incompatible +# github.com/coreos/go-semver : Apache-2.0 +Provides: bundled(golang(github.com/coreos/go-semver)) = 0.3.1 # github.com/cpuguy83/go-md2man : MIT -Provides: bundled(golang(github.com/cpuguy83/go-md2man/v2)) = 2.0.1 +Provides: bundled(golang(github.com/cpuguy83/go-md2man/v2)) = 2.0.5 # github.com/d4l3k/messagediff : MIT Provides: bundled(golang(github.com/d4l3k/messagediff)) = 1.2.1 -# github.com/flynn-archive/go-shlex : ASL 2.0 -Provides: bundled(golang(github.com/flynn-archive/go-shlex)) = 3f9db97 -# github.com/fsnotify/fsnotify : BSD -Provides: bundled(golang(github.com/fsnotify/fsnotify)) = 1.5.1 -# github.com/getsentry/raven-go : BSD +# github.com/davecgh/go-spew : ISC +Provides: bundled(golang(github.com/davecgh/go-spew)) = 1.1.1 +# github.com/ebitengine/purego : Apache-2.0 +Provides: bundled(golang(github.com/ebitengine/purego)) = 0.8.3 +# github.com/fsnotify/fsnotify : BSD-3-Clause +Provides: bundled(golang(github.com/fsnotify/fsnotify)) = 1.7.0 +# github.com/getsentry/raven-go : BSD-3-Clause Provides: bundled(golang(github.com/getsentry/raven-go)) = 0.2.0 # github.com/go-asn1-ber/asn1-ber : MIT -Provides: bundled(golang(github.com/go-asn1-ber/asn1-ber)) = 1.5.3 +Provides: bundled(golang(github.com/go-asn1-ber/asn1-ber)) = 2923003 # github.com/go-ldap/ldap : MIT -Provides: bundled(golang(github.com/go-ldap/ldap/v3)) = 3.4.1 +Provides: bundled(golang(github.com/go-ldap/ldap/v3)) = 3.4.11 # github.com/go-ole/go-ole : MIT -Provides: bundled(golang(github.com/go-ole/go-ole)) = 1.2.6 +Provides: bundled(golang(github.com/go-ole/go-ole)) = 1.3.0 # github.com/go-task/slim-sprig : MIT -Provides: bundled(golang(github.com/go-task/slim-sprig)) = 348f09d +Provides: bundled(golang(github.com/go-task/slim-sprig/v3)) = 3.0.0 # github.com/gobwas/glob : MIT Provides: bundled(golang(github.com/gobwas/glob)) = 0.2.3 -# github.com/gogo/protobuf : BSD -Provides: bundled(golang(github.com/gogo/protobuf)) = 1.3.2 -# github.com/golang/groupcache : ASL 2.0 -Provides: bundled(golang(github.com/golang/groupcache)) = 41bb18b -# github.com/golang/protobuf : BSD -Provides: bundled(golang(github.com/golang/protobuf)) = 1.5.2 -# github.com/golang/snappy : BSD +# github.com/gofrs/flock : BSD-3-Clause +Provides: bundled(golang(github.com/gofrs/flock)) = 0.12.1 +# github.com/golang/snappy : BSD-3-Clause Provides: bundled(golang(github.com/golang/snappy)) = 0.0.4 -# github.com/greatroar/blobloom : ASL 2.0 -Provides: bundled(golang(github.com/greatroar/blobloom)) = 0.7.0 -# github.com/hashicorp/golang-lru : MPLv2.0 -Provides: bundled(golang(github.com/hashicorp/golang-lru)) = 0.5.4 -# github.com/jackpal/gateway : BSD -Provides: bundled(golang(github.com/jackpal/gateway)) = 1.0.7 -# github.com/jackpal/go-nat-pmp : ASL 2.0 +# github.com/google/pprof : Apache-2.0 +Provides: bundled(golang(github.com/google/pprof)) = 337e5dd +# github.com/google/uuid : BSD-3-Clause +Provides: bundled(golang(github.com/google/uuid)) = 1.6.0 +# github.com/greatroar/blobloom : Apache-2.0 +Provides: bundled(golang(github.com/greatroar/blobloom)) = 0.8.0 +# github.com/hashicorp/errwrap : MPL-2.0 +Provides: bundled(golang(github.com/hashicorp/errwrap)) = 1.1.0 +# github.com/hashicorp/go-multierror : MPL-2.0 +Provides: bundled(golang(github.com/hashicorp/go-multierror)) = 1.1.1 +# github.com/hashicorp/golang-lru : MPL-2.0 +Provides: bundled(golang(github.com/hashicorp/golang-lru/v2)) = 2.0.7 +# github.com/jackpal/gateway : BSD-3-Clause +Provides: bundled(golang(github.com/jackpal/gateway)) = 1.0.16 +# github.com/jackpal/go-nat-pmp : Apache-2.0 Provides: bundled(golang(github.com/jackpal/go-nat-pmp)) = 1.0.2 -# github.com/julienschmidt/httprouter : BSD +# github.com/jmespath/go-jmespath : Apache-2.0 +Provides: bundled(golang(github.com/jmespath/go-jmespath)) = 0.4.0 +# github.com/julienschmidt/httprouter : BSD-3-Clause Provides: bundled(golang(github.com/julienschmidt/httprouter)) = 1.3.0 # github.com/kballard/go-shellquote : MIT Provides: bundled(golang(github.com/kballard/go-shellquote)) = 95032a8 -# github.com/klauspost/cpuid : MIT -Provides: bundled(golang(github.com/klauspost/cpuid/v2)) = 2.0.9 -# github.com/lib/pq : MIT -Provides: bundled(golang(github.com/lib/pq)) = 1.10.3 -# github.com/lucas-clemente/quic-go : MIT -Provides: bundled(golang(github.com/lucas-clemente/quic-go)) = 0.27.0 -# github.com/marten-seemann/qtls-go1-16 : BSD -Provides: bundled(golang(github.com/marten-seemann/qtls-go1-16)) = 0.1.5 -# github.com/marten-seemann/qtls-go1-17 : BSD -Provides: bundled(golang(github.com/marten-seemann/qtls-go1-17)) = 0.1.1 -# github.com/marten-seemann/qtls-go1-18 : BSD -Provides: bundled(golang(github.com/marten-seemann/qtls-go1-18)) = 0.1.1 -# github.com/maruel/panicparse : ASL 2.0 -Provides: bundled(golang(github.com/maruel/panicparse)) = 1.6.1 -# github.com/matttproud/golang_protobuf_extensions : ASL 2.0 -Provides: bundled(golang(github.com/matttproud/golang_protobuf_extensions)) = 1.0.1 +# github.com/lufia/plan9stats : BSD-3-Clause +Provides: bundled(golang(github.com/lufia/plan9stats)) = 873cd01 +# github.com/maruel/panicparse : Apache-2.0 +Provides: bundled(golang(github.com/maruel/panicparse/v2)) = 2.5.0 # github.com/maxbrunsfeld/counterfeiter : MIT -Provides: bundled(golang(github.com/maxbrunsfeld/counterfeiter/v6)) = 6.3.0 -# github.com/minio/sha256-simd : ASL 2.0 -Provides: bundled(golang(github.com/minio/sha256-simd)) = 1.0.0 +Provides: bundled(golang(github.com/maxbrunsfeld/counterfeiter/v6)) = 6.11.2 +# github.com/maxmind/geoipupdate : Apache-2.0 OR MIT +Provides: bundled(golang(github.com/maxmind/geoipupdate/v6)) = 6.1.0 # github.com/miscreant/miscreant.go : MIT Provides: bundled(golang(github.com/miscreant/miscreant.go)) = 26d3763 +# github.com/munnerz/goautoneg : BSD-3-Clause +Provides: bundled(golang(github.com/munnerz/goautoneg)) = a7dc8b6 # github.com/nxadm/tail : MIT -Provides: bundled(golang(github.com/nxadm/tail)) = 1.4.8 +Provides: bundled(golang(github.com/nxadm/tail)) = 1.4.11 # github.com/onsi/ginkgo : MIT -Provides: bundled(golang(github.com/onsi/ginkgo)) = 1.16.4 +Provides: bundled(golang(github.com/onsi/ginkgo/v2)) = 2.23.4 # github.com/oschwald/geoip2-golang : ISC -Provides: bundled(golang(github.com/oschwald/geoip2-golang)) = 1.5.0 +Provides: bundled(golang(github.com/oschwald/geoip2-golang)) = 1.11.0 # github.com/oschwald/maxminddb-golang : ISC -Provides: bundled(golang(github.com/oschwald/maxminddb-golang)) = 1.8.0 -# github.com/petermattis/goid : ASL 2.0 -Provides: bundled(golang(github.com/petermattis/goid)) = b0b1615 -# github.com/pierrec/lz4 : BSD -Provides: bundled(golang(github.com/pierrec/lz4/v4)) = 4.1.15 -# github.com/pkg/errors : BSD +Provides: bundled(golang(github.com/oschwald/maxminddb-golang)) = 1.13.1 +# github.com/pierrec/lz4 : BSD-3-Clause +Provides: bundled(golang(github.com/pierrec/lz4/v4)) = 4.1.22 +# github.com/pkg/errors : BSD-2-Clause Provides: bundled(golang(github.com/pkg/errors)) = 0.9.1 +# github.com/pmezard/go-difflib : BSD-3-Clause +Provides: bundled(golang(github.com/pmezard/go-difflib)) = 1.0.0 +# github.com/posener/complete : MIT +Provides: bundled(golang(github.com/posener/complete)) = 1.2.3 # github.com/power-devops/perfstat : MIT -Provides: bundled(golang(github.com/power-devops/perfstat)) = 5aafc22 -# github.com/prometheus/client_golang : ASL 2.0 -Provides: bundled(golang(github.com/prometheus/client_golang)) = 1.12.2 -# github.com/prometheus/client_model : ASL 2.0 -Provides: bundled(golang(github.com/prometheus/client_model)) = 0.2.0 -# github.com/prometheus/common : ASL 2.0 -Provides: bundled(golang(github.com/prometheus/common)) = 0.32.1 -# github.com/prometheus/procfs : ASL 2.0 -Provides: bundled(golang(github.com/prometheus/procfs)) = 0.7.3 -# github.com/rcrowley/go-metrics : BSD -Provides: bundled(golang(github.com/rcrowley/go-metrics)) = cf1acfc -# github.com/russross/blackfriday : BSD +Provides: bundled(golang(github.com/power-devops/perfstat)) = 82ca368 +# github.com/prometheus/client_golang : Apache-2.0 +Provides: bundled(golang(github.com/prometheus/client_golang)) = 1.22.0 +# github.com/prometheus/client_model : Apache-2.0 +Provides: bundled(golang(github.com/prometheus/client_model)) = 0.6.1 +# github.com/prometheus/common : Apache-2.0 +Provides: bundled(golang(github.com/prometheus/common)) = 0.62.0 +# github.com/prometheus/procfs : Apache-2.0 +Provides: bundled(golang(github.com/prometheus/procfs)) = 0.15.1 +# github.com/puzpuzpuz/xsync : Apache-2.0 +Provides: bundled(golang(github.com/puzpuzpuz/xsync/v3)) = 3.5.1 +# github.com/quic-go/quic-go : MIT +Provides: bundled(golang(github.com/quic-go/quic-go)) = 0.52.0 +# github.com/rabbitmq/amqp091-go : BSD-2-Clause +Provides: bundled(golang(github.com/rabbitmq/amqp091-go)) = 1.10.0 +# github.com/rcrowley/go-metrics : BSD-2-Clause-Views +Provides: bundled(golang(github.com/rcrowley/go-metrics)) = 65e299d +# github.com/riywo/loginshell : MIT +Provides: bundled(golang(github.com/riywo/loginshell)) = 7d26008 +# github.com/russross/blackfriday : BSD-2-Clause Provides: bundled(golang(github.com/russross/blackfriday/v2)) = 2.1.0 -# github.com/sasha-s/go-deadlock : ASL 2.0 -Provides: bundled(golang(github.com/sasha-s/go-deadlock)) = 0.3.1 -# github.com/shirou/gopsutil : BSD -Provides: bundled(golang(github.com/shirou/gopsutil/v3)) = 3.21.12 +# github.com/shirou/gopsutil : BSD-3-Clause +Provides: bundled(golang(github.com/shirou/gopsutil/v4)) = 4.25.4 +# github.com/stretchr/objx : MIT +Provides: bundled(golang(github.com/stretchr/objx)) = 0.5.2 +# github.com/stretchr/testify : MIT +Provides: bundled(golang(github.com/stretchr/testify)) = 1.10.0 # github.com/syncthing/notify : MIT -Provides: bundled(golang(github.com/syncthing/notify)) = c6b7342 -# github.com/syndtr/goleveldb : BSD -Provides: bundled(golang(github.com/syndtr/goleveldb)) = d9e9293 +Provides: bundled(golang(github.com/syncthing/notify)) = c7027d4 +# github.com/syndtr/goleveldb : BSD-2-Clause +Provides: bundled(golang(github.com/syndtr/goleveldb)) = 126854a # github.com/thejerf/suture : MIT -Provides: bundled(golang(github.com/thejerf/suture/v4)) = 4.0.2 +Provides: bundled(golang(github.com/thejerf/suture/v4)) = 4.0.6 +# github.com/tklauser/go-sysconf : BSD-3-Clause +Provides: bundled(golang(github.com/tklauser/go-sysconf)) = 0.3.14 +# github.com/tklauser/numcpus : Apache-2.0 +Provides: bundled(golang(github.com/tklauser/numcpus)) = 0.9.0 # github.com/urfave/cli : MIT -Provides: bundled(golang(github.com/urfave/cli)) = 1.22.5 -# github.com/vitrun/qart : ASL 2.0 and BSD +Provides: bundled(golang(github.com/urfave/cli)) = 1.22.16 +# github.com/vitrun/qart : Apache-2.0 AND BSD-3-Clause Provides: bundled(golang(github.com/vitrun/qart)) = bf64b92 +# github.com/willabides/kongplete : MIT +Provides: bundled(golang(github.com/willabides/kongplete)) = 0.4.0 # github.com/yusufpapurcu/wmi : MIT -Provides: bundled(golang(github.com/yusufpapurcu/wmi)) = 1.2.2 -# golang.org/x/crypto : BSD -Provides: bundled(golang(golang.org/x/crypto)) = 089bfa5 -# golang.org/x/mod : BSD -Provides: bundled(golang(golang.org/x/mod)) = 0.5.1 -# golang.org/x/net : BSD -Provides: bundled(golang(golang.org/x/net)) = 3ad01bb -# golang.org/x/sys : BSD -Provides: bundled(golang(golang.org/x/sys)) = da31bd3 -# golang.org/x/text: BSD -Provides: bundled(golang(golang.org/x/text)) = 0.3.7 -# golang.org/x/time : BSD -Provides: bundled(golang(golang.org/x/time)) = 1f47c86 -# golang.org/x/tools : BSD -Provides: bundled(golang(golang.org/x/tools)) = 0.1.7 -# golang.org/x/xerrors : BSD -Provides: bundled(golang(golang.org/x/xerrors)) = 5ec99f8 -# google.golang.org/protobuf : BSD -Provides: bundled(golang(google.golang.org/protobuf)) = 1.27.1 -# gopkg.in/tomb.v1 : BSD -Provides: bundled(golang(gopkg.in/tomb.v1)) = dd63297 - -# an inotify filesystem watcher is integrated with syncthing now -Provides: syncthing-inotify = 0.8.7-5 -Obsoletes: syncthing-inotify < 0.8.7-5 - -# command line interface for syncthing was merged into main binary -Obsoletes: syncthing-cli < 1.15.1-1 - +Provides: bundled(golang(github.com/yusufpapurcu/wmi)) = 1.2.4 +# go.uber.org/automaxprocs : MIT +Provides: bundled(golang(go.uber.org/automaxprocs)) = 1.6.0 +# go.uber.org/mock : Apache-2.0 +Provides: bundled(golang(go.uber.org/mock)) = 0.5.2 +# golang.org/x/crypto : BSD-3-Clause +Provides: bundled(golang(golang.org/x/crypto)) = 0.38.0 +# golang.org/x/mod : BSD-3-Clause +Provides: bundled(golang(golang.org/x/mod)) = 0.24.0 +# golang.org/x/net : BSD-3-Clause +Provides: bundled(golang(golang.org/x/net)) = 0.40.0 +# golang.org/x/sync : BSD-3-Clause +Provides: bundled(golang(golang.org/x/sync)) = 0.14.0 +# golang.org/x/sys : BSD-3-Clause +Provides: bundled(golang(golang.org/x/sys)) = 0.33.0 +# golang.org/x/text : BSD-3-Clause +Provides: bundled(golang(golang.org/x/text)) = 0.25.0 +# golang.org/x/time : BSD-3-Clause +Provides: bundled(golang(golang.org/x/time)) = 0.11.0 +# golang.org/x/tools : BSD-3-Clause +Provides: bundled(golang(golang.org/x/tools)) = 0.33.0 +# google.golang.org/protobuf : BSD-3-Clause +Provides: bundled(golang(google.golang.org/protobuf)) = 1.36.6 +# gopkg.in/yaml.v3 : MIT AND Apache-2.0 +Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1 +# sigs.k8s.io/yaml : MIT AND BSD-3-Clause AND (MIT OR Apache-2.0) +Provides: bundled(golang(sigs.k8s.io/yaml)) = 1.4.0 %description Syncthing replaces other file synchronization services with something @@ -217,23 +239,6 @@ that control is returned to you. This package contains the syncthing client binary and systemd services. -%if %{with devel} -%package devel -Summary: Continuous File Synchronization (development files) -BuildArch: noarch - -%description devel -Syncthing replaces other file synchronization services with something -open, trustworthy and decentralized. Your data is your data alone and -you deserve to choose where it is stored, if it is shared with some -third party and how it's transmitted over the Internet. Using syncthing, -that control is returned to you. - -This package contains the syncthing sources, which are needed as -dependency for building packages using syncthing. -%endif - - %package tools Summary: Continuous File Synchronization (server tools) @@ -294,7 +299,7 @@ export LDFLAGS="-X %{goipath}/lib/build.Program=strelaysrv $COMMON_LDFLAGS" %gobuild -o _bin/strelaysrv %{goipath}/cmd/strelaysrv export LDFLAGS="-X %{goipath}/lib/build.Program=strelaypoolsrv $COMMON_LDFLAGS" -%gobuild -o _bin/strelaypoolsrv %{goipath}/cmd/strelaypoolsrv +%gobuild -o _bin/strelaypoolsrv %{goipath}/cmd/infra/strelaypoolsrv %install @@ -324,10 +329,11 @@ mkdir -p %{buildroot}/%{_datadir}/applications cp -pav etc/linux-desktop/syncthing-start.desktop %{buildroot}/%{_datadir}/applications/ cp -pav etc/linux-desktop/syncthing-ui.desktop %{buildroot}/%{_datadir}/applications/ -mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/{32,64,128,256,512,scalable}/apps for size in 32 64 128 256 512; do - cp -pav assets/logo-$size.png %{buildroot}/%{_datadir}/icons/hicolor/$size/apps/syncthing.png + mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/${size}x${size}/apps + cp -pav assets/logo-${size}.png %{buildroot}/%{_datadir}/icons/hicolor/${size}x${size}/apps/syncthing.png done +mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps cp -pav assets/logo-only.svg %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps/syncthing.svg # install systemd units @@ -335,7 +341,6 @@ mkdir -p %{buildroot}/%{_unitdir} mkdir -p %{buildroot}/%{_userunitdir} cp -pav etc/linux-systemd/system/syncthing@.service %{buildroot}/%{_unitdir}/ -cp -pav etc/linux-systemd/system/syncthing-resume.service %{buildroot}/%{_unitdir}/ cp -pav etc/linux-systemd/user/syncthing.service %{buildroot}/%{_userunitdir}/ # unmark source files as executable @@ -343,10 +348,6 @@ for i in $(find -name "*.go" -type f -executable -print); do chmod a-x $i; done -%if %{with devel} -%goinstall -%endif - %check desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop @@ -356,18 +357,24 @@ export GOPATH=$(pwd)/_build:%{gopath} export GO111MODULE=off %gotest %{goipath}/cmd/stdiscosrv -%gotest %{goipath}/cmd/strelaypoolsrv +%gotest %{goipath}/cmd/infra/strelaypoolsrv %gotest %{goipath}/cmd/syncthing - %gotest %{goipath}/lib/api %gotest %{goipath}/lib/beacon %gotest %{goipath}/lib/config -%gotest %{goipath}/lib/connections + +# This test times out on s390x +%gotest %{goipath}/lib/connections || : + %gotest %{goipath}/lib/db %gotest %{goipath}/lib/dialer %gotest %{goipath}/lib/discover %gotest %{goipath}/lib/events -%gotest %{goipath}/lib/fs + +# This test fails on SELinux-enabled systems: +# https://github.com/syncthing/syncthing/issues/8601 +%gotest %{goipath}/lib/fs || : + %gotest %{goipath}/lib/ignore %gotest %{goipath}/lib/logger @@ -383,14 +390,17 @@ export GO111MODULE=off %gotest %{goipath}/lib/relay/client %gotest %{goipath}/lib/relay/protocol %gotest %{goipath}/lib/scanner +%gotest %{goipath}/lib/semaphore %gotest %{goipath}/lib/signature %gotest %{goipath}/lib/stats +%gotest %{goipath}/lib/stringutil +%gotest %{goipath}/lib/structutil +%gotest %{goipath}/lib/svcutil %gotest %{goipath}/lib/sync %gotest %{goipath}/lib/syncthing %gotest %{goipath}/lib/tlsutil %gotest %{goipath}/lib/upgrade %gotest %{goipath}/lib/upnp -%gotest %{goipath}/lib/util # This test sometimes fails dependent on load on some architectures: # https://github.com/syncthing/syncthing/issues/4351 @@ -425,7 +435,6 @@ export GO111MODULE=off %{_mandir}/*/syncthing* %{_unitdir}/syncthing@.service -%{_unitdir}/syncthing-resume.service %{_userunitdir}/syncthing.service @@ -441,12 +450,5 @@ export GO111MODULE=off %{_mandir}/man1/strelaysrv* -%if %{with devel} -%files devel -f devel.file-list -%license LICENSE -%doc README.md AUTHORS -%endif - - %changelog %autochangelog diff --git a/vendor2provides.py b/vendor2provides.py index d4fc942..ce1afb8 100755 --- a/vendor2provides.py +++ b/vendor2provides.py @@ -6,7 +6,8 @@ # Parse modules.txt files into rpm .spec file Provides for bundled dependencies. # Written by Fabio "decathorpe" Valentini for # the fedora syncthing package: https://src.fedoraproject.org/rpms/syncthing -# SPDX-License-Identifier: CC0-1.0 OR Unlicense +# +# SPDX-License-Identifier: Unlicense import os import sys