Compare commits

...
Sign in to create a new pull request.

12 commits

Author SHA1 Message Date
Fabio Valentini
4d02d52342
update to version 1.16.1 2021-05-10 12:20:24 +02:00
Fabio Valentini
a3c8723f1d
update to version 1.15.1 2021-04-12 14:37:46 +02:00
Fabio Valentini
8023c647dc
update to version 1.14.0 2021-03-24 19:09:05 +01:00
Fabio Valentini
2e34e89db4
update to version 1.13.1 2021-02-04 12:37:17 +01:00
Fabio Valentini
2e10da2b14
update to version 1.12.1 2021-01-08 23:44:43 +01:00
Fabio Valentini
d9e10c86fc
update to version 1.12.0 2020-12-07 15:44:26 +01:00
Fabio Valentini
86a6aa1394
update to version 1.11.1 2020-11-18 22:12:54 +01:00
Fabio Valentini
d8d7fe0ee3
update to version 1.11.0 2020-11-03 12:08:18 +01:00
Fabio Valentini
2b6f95c94a
update to version 1.10.0 2020-10-09 15:42:06 +02:00
Fabio Valentini
78801dd4d8
update to version 1.9.0 2020-09-08 17:56:56 +02:00
Fabio Valentini
c8fb9d9838
include upstream patch to fix issues on ppc64le 2020-08-20 21:44:02 +02:00
Fabio Valentini
923a617a52
update to version 1.8.0 2020-08-16 21:31:24 +02:00
4 changed files with 249 additions and 66 deletions

14
.gitignore vendored
View file

@ -1,6 +1,8 @@
/results_*
/*.src.rpm
/syncthing-source-v*/
/syncthing-source-v0.14.35.tar.gz
/syncthing-source-v0.14.36.tar.gz
/syncthing-source-v0.14.37.tar.gz
@ -40,3 +42,15 @@
/syncthing-source-v1.6.1.tar.gz
/syncthing-source-v1.7.0.tar.gz
/syncthing-source-v1.7.1.tar.gz
/syncthing-source-v1.8.0.tar.gz
/syncthing-source-v1.9.0-rc.5.tar.gz
/syncthing-source-v1.9.0.tar.gz
/syncthing-source-v1.10.0.tar.gz
/syncthing-source-v1.11.0.tar.gz
/syncthing-source-v1.11.1.tar.gz
/syncthing-source-v1.12.0.tar.gz
/syncthing-source-v1.12.1.tar.gz
/syncthing-source-v1.13.1.tar.gz
/syncthing-source-v1.14.0.tar.gz
/syncthing-source-v1.15.1.tar.gz
/syncthing-source-v1.16.1.tar.gz

View file

@ -1 +1 @@
SHA512 (syncthing-source-v1.7.1.tar.gz) = 4500972c4dfc8f2e584dd03c43dc7537287a2ced1f8676909d225d133243296157cfd51d3e7749ca64391a0649db7dc980523af584fd9bcfff6c3a932225336c
SHA512 (syncthing-source-v1.16.1.tar.gz) = 96c677852f369aa3abb78a47b81d2ecfdce8f768fbf641f66f800277491921b84e847e8b2e62ed82e7e3555dfcdf1ec28688baa0a8b830b8894bf90816cdc380

View file

@ -1,25 +1,29 @@
%bcond_with devel
%global basever 1.16.1
#%%global rcnum 0
Name: syncthing
Summary: Continuous File Synchronization
Version: 1.7.1
Version: %{basever}%{?rcnum:~rc%{rcnum}}
Release: 1%{?dist}
%global goipath github.com/syncthing/syncthing
%global tag v%{version}
%global tag v%{basever}%{?rcnum:-rc.%{rcnum}}
%gometa
# syncthing (MPLv2.0) bundles
# - angular, bootstrap, daterangepicker, fancytree, jQuery, moment (MIT),
# - ForkAwesome (MIT/OFL/CC-BY 3.0), and
# - a number of go packages (ASL 2.0, MPLv2.0, BSD, Unlicense, MIT, ISC)
License: MPLv2.0 and MIT and OFL and CC-BY and ASL 2.0 and BSD and Unlicense and ISC
# - 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 CC0 and ISC)
License: MPLv2.0 and MIT and OFL and CC-BY and BSD and ASL 2.0 and CC0 and ISC
URL: https://syncthing.net
# use official release tarball (contains vendored dependencies)
Source0: %{gourl}/releases/download/%{tag}/%{name}-source-%{tag}.tar.gz
# proposed patch to fix tests running out of memory on 32 bit arches
# 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
@ -42,56 +46,158 @@ Provides: bundled(jquery-fancytree) = 2.28.1
Provides: bundled(jquery-ui) = 1.12.1
Provides: bundled(moment) = 2.19.4
# vendored dependencies: automatically generated from go.mod
Provides: bundled(golang(github.com/AudriusButkevicius/pfilter)) = c55ef6137fc6
# automatically generated Provides for bundled go dependencies
# 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)) = 7468b85
# github.com/AudriusButkevicius/recli : MPLv2.0
Provides: bundled(golang(github.com/AudriusButkevicius/recli)) = 0.0.5
Provides: bundled(golang(github.com/StackExchange/wmi)) = cbe66965904d
Provides: bundled(golang(github.com/bkaradzic/go-lz4)) = 7224d8d8f27e
# github.com/Azure/go-ntlmssp : MIT
Provides: bundled(golang(github.com/Azure/go-ntlmssp)) = 6637195
# github.com/StackExchange/wmi : MIT
Provides: bundled(golang(github.com/StackExchange/wmi)) = cbe6696
# github.com/alecthomas/kong : MIT
Provides: bundled(golang(github.com/alecthomas/kong)) = 0.2.12
# github.com/beorn7/perks : MIT
Provides: bundled(golang(github.com/beorn7/perks)) = 1.0.1
# github.com/bkaradzic/go-lz4 : BSD
Provides: bundled(golang(github.com/bkaradzic/go-lz4)) = 7224d8d
# github.com/calmh/xdr : MIT
Provides: bundled(golang(github.com/calmh/xdr)) = 1.1.0
Provides: bundled(golang(github.com/ccding/go-stun)) = be486d185f3d
Provides: bundled(golang(github.com/certifi/gocertifi)) = a5e0173ced67
Provides: bundled(golang(github.com/chmduquesne/rollinghash)) = a60f8e7142b5
# 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/certifi/gocertifi)) = 2c3bb06
# github.com/cespare/xxhash : MIT
Provides: bundled(golang(github.com/cespare/xxhash/v2)) = 2.1.1
# github.com/cheekybits/genny : MIT
Provides: bundled(golang(github.com/cheekybits/genny)) = 1.0.0
# github.com/chmduquesne/rollinghash : MIT
Provides: bundled(golang(github.com/chmduquesne/rollinghash)) = a60f8e7
# github.com/cpuguy83/go-md2man : MIT
Provides: bundled(golang(github.com/cpuguy83/go-md2man/v2)) = f79a8a8
# github.com/d4l3k/messagediff : MIT
Provides: bundled(golang(github.com/d4l3k/messagediff)) = 1.2.1
Provides: bundled(golang(github.com/dgraph-io/badger/v2)) = 2.0.3
Provides: bundled(golang(github.com/flynn-archive/go-shlex)) = 3f9db97f8568
# github.com/dchest/siphash : CC0
Provides: bundled(golang(github.com/dchest/siphash)) = 1.2.2
# github.com/flynn-archive/go-shlex : ASL 2.0
Provides: bundled(golang(github.com/flynn-archive/go-shlex)) = 3f9db97
# github.com/getsentry/raven-go : BSD
Provides: bundled(golang(github.com/getsentry/raven-go)) = 0.2.0
Provides: bundled(golang(github.com/go-ldap/ldap/v3)) = 3.1.10
# github.com/go-asn1-ber/asn1-ber : MIT
Provides: bundled(golang(github.com/go-asn1-ber/asn1-ber)) = 1.5.1
# github.com/go-ldap/ldap : MIT
Provides: bundled(golang(github.com/go-ldap/ldap/v3)) = 3.2.4
# github.com/go-ole/go-ole : MIT
Provides: bundled(golang(github.com/go-ole/go-ole)) = 1.2.4
# 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.1
Provides: bundled(golang(github.com/golang/groupcache)) = 869f871628b6
Provides: bundled(golang(github.com/greatroar/blobloom)) = 0.2.1
# github.com/golang/groupcache : ASL 2.0
Provides: bundled(golang(github.com/golang/groupcache)) = 8c9f03a
# github.com/golang/protobuf : BSD
Provides: bundled(golang(github.com/golang/protobuf)) = 1.4.3
# github.com/golang/snappy : BSD
Provides: bundled(golang(github.com/golang/snappy)) = 0.0.1
# github.com/greatroar/blobloom : ASL 2.0
Provides: bundled(golang(github.com/greatroar/blobloom)) = 0.5.0
# github.com/hashicorp/golang-lru : MPLv2.0
Provides: bundled(golang(github.com/hashicorp/golang-lru)) = 0.5.1
# github.com/jackpal/gateway : BSD
Provides: bundled(golang(github.com/jackpal/gateway)) = 1.0.6
# github.com/jackpal/go-nat-pmp : ASL 2.0
Provides: bundled(golang(github.com/jackpal/go-nat-pmp)) = 1.0.2
Provides: bundled(golang(github.com/kballard/go-shellquote)) = 95032a82bc51
Provides: bundled(golang(github.com/kr/pretty)) = 0.2.0
Provides: bundled(golang(github.com/lib/pq)) = 1.2.0
Provides: bundled(golang(github.com/lucas-clemente/quic-go)) = 0.16.0
Provides: bundled(golang(github.com/maruel/panicparse)) = 1.3.0
Provides: bundled(golang(github.com/mattn/go-isatty)) = 0.0.11
# github.com/julienschmidt/httprouter : BSD
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/lib/pq : MIT
Provides: bundled(golang(github.com/lib/pq)) = 1.8.0
# github.com/lucas-clemente/quic-go : MIT
Provides: bundled(golang(github.com/lucas-clemente/quic-go)) = 0.19.3
# github.com/marten-seemann/qtls : BSD
Provides: bundled(golang(github.com/marten-seemann/qtls)) = 0.10.0
# github.com/marten-seemann/qtls-go1-15 : BSD
Provides: bundled(golang(github.com/marten-seemann/qtls-go1-15)) = 0.1.1
# github.com/maruel/panicparse : ASL 2.0
Provides: bundled(golang(github.com/maruel/panicparse)) = 1.5.1
# github.com/mattn/go-isatty : MIT
Provides: bundled(golang(github.com/mattn/go-isatty)) = 0.0.12
# github.com/matttproud/golang_protobuf_extensions : ASL 2.0
Provides: bundled(golang(github.com/matttproud/golang_protobuf_extensions)) = 1.0.1
# 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)) = 0.1.1
# github.com/miscreant/miscreant.go : MIT
Provides: bundled(golang(github.com/miscreant/miscreant.go)) = 26d3763
# github.com/niemeyer/pretty : MIT
Provides: bundled(golang(github.com/niemeyer/pretty)) = a10e7ca
# github.com/onsi/gomega : MIT
Provides: bundled(golang(github.com/onsi/gomega)) = 1.10.3
# github.com/oschwald/geoip2-golang : ISC
Provides: bundled(golang(github.com/oschwald/geoip2-golang)) = 1.4.0
Provides: bundled(golang(github.com/petermattis/goid)) = b0b1615b78e5
# github.com/oschwald/maxminddb-golang : ISC
Provides: bundled(golang(github.com/oschwald/maxminddb-golang)) = 1.6.0
# github.com/petermattis/goid : ASL 2.0
Provides: bundled(golang(github.com/petermattis/goid)) = b0b1615
# github.com/pkg/errors : BSD
Provides: bundled(golang(github.com/pkg/errors)) = 0.9.1
Provides: bundled(golang(github.com/prometheus/client_golang)) = 1.2.1
Provides: bundled(golang(github.com/rcrowley/go-metrics)) = cac0b30c2563
# github.com/prometheus/client_golang : ASL 2.0
Provides: bundled(golang(github.com/prometheus/client_golang)) = 1.8.0
# 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.14.0
# github.com/prometheus/procfs : ASL 2.0
Provides: bundled(golang(github.com/prometheus/procfs)) = 0.2.0
# github.com/rcrowley/go-metrics : BSD
Provides: bundled(golang(github.com/rcrowley/go-metrics)) = 10cdbea
# github.com/russross/blackfriday : BSD
Provides: bundled(golang(github.com/russross/blackfriday/v2)) = 2.0.1
# github.com/sasha-s/go-deadlock : ASL 2.0
Provides: bundled(golang(github.com/sasha-s/go-deadlock)) = 0.2.0
Provides: bundled(golang(github.com/shirou/gopsutil)) = 47ef3260b6bf
Provides: bundled(golang(github.com/syncthing/notify)) = 69c7a957d3e2
Provides: bundled(golang(github.com/syndtr/goleveldb)) = 758128399b1d
Provides: bundled(golang(github.com/thejerf/suture)) = 3.0.2+incompatible
Provides: bundled(golang(github.com/urfave/cli)) = 1.22.2
Provides: bundled(golang(github.com/vitrun/qart)) = bf64b92db6b0
Provides: bundled(golang(golang.org/x/crypto)) = 4bdfaf469ed5
Provides: bundled(golang(golang.org/x/net)) = ba9fcec4b297
Provides: bundled(golang(golang.org/x/sys)) = d5e6a3e2c0ae
Provides: bundled(golang(golang.org/x/text)) = 0.3.2
Provides: bundled(golang(golang.org/x/time)) = 9d24e82272b4
# github.com/shirou/gopsutil : BSD
Provides: bundled(golang(github.com/shirou/gopsutil/v3)) = 3.20.11
# github.com/shurcooL/sanitized_anchor_name : MIT
Provides: bundled(golang(github.com/shurcooL/sanitized_anchor_name)) = 1.0.0
# github.com/syncthing/notify : MIT
Provides: bundled(golang(github.com/syncthing/notify)) = f45149b
# github.com/syndtr/goleveldb : BSD
Provides: bundled(golang(github.com/syndtr/goleveldb)) = d9e9293
# github.com/thejerf/suture : MIT
Provides: bundled(golang(github.com/thejerf/suture/v4)) = 4.0.0
# github.com/urfave/cli : MIT
Provides: bundled(golang(github.com/urfave/cli)) = 1.22.4
# github.com/vitrun/qart : ASL 2.0 and BSD
Provides: bundled(golang(github.com/vitrun/qart)) = bf64b92
# golang.org/x/crypto : BSD
Provides: bundled(golang(golang.org/x/crypto)) = 9e8e0b3
# golang.org/x/net : BSD
Provides: bundled(golang(golang.org/x/net)) = ff519b6
# golang.org/x/sys : BSD
Provides: bundled(golang(golang.org/x/sys)) = b64e53b
# golang.org/x/text: BSD
Provides: bundled(golang(golang.org/x/text)) = 0.3.4
# golang.org/x/time : BSD
Provides: bundled(golang(golang.org/x/time)) = 3af7569
# golang.org/x/tools : BSD
Provides: bundled(golang(golang.org/x/tools)) = 0.1.0
# google.golang.org/protobuf : BSD
Provides: bundled(golang(google.golang.org/protobuf)) = 1.23.0
# github.com/go-check/check : BSD
Provides: bundled(golang(gopkg.in/check.v1)) = 038fdea
# 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
%description
Syncthing replaces other file synchronization services with something
@ -138,19 +244,6 @@ This package contains the main syncthing server tools:
to connect to indirectly over the internet.
%package cli
Summary: Continuous File Synchronization (CLI)
%description cli
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 CLI program.
%prep
%autosetup -n %{name} -p1
@ -180,7 +273,7 @@ popd
# set variables expected by syncthing binaries as additional FOOFLAGS
export BUILD_HOST=fedora-koji
export COMMON_LDFLAGS="-X %{goipath}/lib/build.Version=v%{version} -X %{goipath}/lib/build.Stamp=$SOURCE_DATE_EPOCH -X %{goipath}/lib/build.User=$USER -X %{goipath}/lib/build.Host=$BUILD_HOST"
export COMMON_LDFLAGS="-X %{goipath}/lib/build.Version=%{tag} -X %{goipath}/lib/build.Stamp=$SOURCE_DATE_EPOCH -X %{goipath}/lib/build.User=$USER -X %{goipath}/lib/build.Host=$BUILD_HOST"
export BUILDTAGS="noupgrade"
export LDFLAGS="-X %{goipath}/lib/build.Program=syncthing $COMMON_LDFLAGS"
@ -195,9 +288,6 @@ export LDFLAGS="-X %{goipath}/lib/build.Program=strelaysrv $COMMON_LDFLAGS"
export LDFLAGS="-X %{goipath}/lib/build.Program=strelaypoolsrv $COMMON_LDFLAGS"
%gobuild -o _bin/strelaypoolsrv %{goipath}/cmd/strelaypoolsrv
export LDFLAGS="-X %{goipath}/lib/build.Program=stcli $COMMON_LDFLAGS"
%gobuild -o _bin/stcli %{goipath}/cmd/stcli
%install
export GO111MODULE=off
@ -209,7 +299,6 @@ cp -pav _bin/syncthing %{buildroot}/%{_bindir}/
cp -pav _bin/stdiscosrv %{buildroot}/%{_bindir}/
cp -pav _bin/strelaysrv %{buildroot}/%{_bindir}/
cp -pav _bin/strelaypoolsrv %{buildroot}/%{_bindir}/
cp -pav _bin/stcli %{buildroot}/%{_bindir}/
# install man pages
mkdir -p %{buildroot}/%{_mandir}/man1
@ -230,8 +319,8 @@ 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
for i in $(find -name "*.go" -executable -print); do
# unmark source files as executable
for i in $(find -name "*.go" -type f -executable -print); do
chmod a-x $i;
done
@ -328,13 +417,6 @@ export GO111MODULE=off
%{_mandir}/man1/strelaysrv*
%files cli
%license LICENSE
%doc README.md AUTHORS
%{_bindir}/stcli
%if %{with devel}
%files devel -f devel.file-list
%license LICENSE
@ -343,6 +425,42 @@ export GO111MODULE=off
%changelog
* Mon May 10 2021 Fabio Valentini <decathorpe@gmail.com> - 1.16.1-1
- Update to version 1.16.1.
* Mon Apr 12 2021 Fabio Valentini <decathorpe@gmail.com> - 1.15.1-1
- Update to version 1.15.1.
* Wed Mar 24 2021 Fabio Valentini <decathorpe@gmail.com> - 1.14.0-1
- Update to version 1.14.0.
* Thu Feb 04 2021 Fabio Valentini <decathorpe@gmail.com> - 1.13.1-1
- Update to version 1.13.1.
* Fri Jan 08 2021 Fabio Valentini <decathorpe@gmail.com> - 1.12.1-1
- Update to version 1.12.1.
* Mon Dec 07 2020 Fabio Valentini <decathorpe@gmail.com> - 1.12.0-1
- Update to version 1.12.0.
* Wed Nov 18 2020 Fabio Valentini <decathorpe@gmail.com> - 1.11.1-1
- Update to version 1.11.1.
* Tue Nov 03 2020 Fabio Valentini <decathorpe@gmail.com> - 1.11.0-1
- Update to version 1.11.0.
* Fri Oct 09 2020 Fabio Valentini <decathorpe@gmail.com> - 1.10.0-1
- Update to version 1.10.0.
* Tue Sep 08 2020 Fabio Valentini <decathorpe@gmail.com> - 1.9.0-1
- Update to version 1.9.0.
* Thu Aug 20 2020 Fabio Valentini <decathorpe@gmail.com> - 1.8.0-2
- Include upstream patch to fix issues on ppc64le.
* Sun Aug 16 2020 Fabio Valentini <decathorpe@gmail.com> - 1.8.0-1
- Update to version 1.8.0.
* Thu Jul 16 2020 Fabio Valentini <decathorpe@gmail.com> - 1.7.1-1
- Update to version 1.7.1.

51
vendor2provides.py Executable file
View file

@ -0,0 +1,51 @@
#!/usr/bin/python3
# vendor2provides.py
# ==================
#
# Parse modules.txt files into rpm .spec file Provides for bundled dependencies.
# Written by Fabio "decathorpe" Valentini <decathorpe@fedoraproject.org> for
# the fedora syncthing package: https://src.fedoraproject.org/rpms/syncthing
# SPDX-License-Identifier: CC0-1.0 OR Unlicense
import os
import sys
def main() -> int:
if len(sys.argv) < 2:
print("No path to 'modules.txt' file given.")
return 1
path = sys.argv[1]
with open(path) as file:
contents = file.read()
lines = contents.split("\n")
# dependencies = filter lines for "# package version"
dependencies = list(filter(lambda line: line.startswith("# "), lines))
# parse vendored dependencies into (import path, version) pairs
vendored = list()
for dep in dependencies:
ipath, version = dep[2:].split(" ")
# check for git snapshots
if len(version) > 27:
# return only 7 digits of git commit hash
version = version[-12:-1][0:7]
else:
# strip off leading "v"
version = version.lstrip("v")
vendored.append((ipath, version))
for ipath, version in vendored:
print(f"Provides: bundled(golang({ipath})) = {version}")
if __name__ == "__main__":
exit(main())