progress of packaging syncthing for fedora (May 2017)
My ongoing effort of packaging syncthing’s dependencies for fedora is paying off - only three packages are still missing, and nothing is blocking them (right now). Once I have successfully submitted those to the fedora repositories, only the syncthing package itself has still to be reviewed, approved, built and submitted to fedora.
New official fedora packages
In the time between the April 2017 status update and now, some more packages were formally approved, and I’ve submitted them to the fedora repositories:
golang(github.com/ccding/go-stun)
, PkgDB entrygolang(github.com/cznic/internal)
, PkgDB entrygolang(github.com/edsrzf/mmap-go)
, PkgDB entrygolang(github.com/klauspost/reedsolomon)
, PkgDB entrygolang(github.com/xtaci/kcp-go)
, PkgDB entrygolang(github.com/xtaci/smux)
, PkgDB entry
Pending package requests
The three still pending packages are:
golang(github.com/cznic/lldb)
: RHBZ#1431745golang(github.com/cznic/ql)
: RHBZ#1431748golang(github.com/cznic/zappy)
: RHBZ#1431743
Upstream changes to go compiler support
With the recent 0.14.28
release of syncthing, code has been introduced that doesn’t successfully compile with go 1.6
anymore (because it relies on the context
package, which has only been added to the standard library with go 1.7
).
For the moment, upstream developers have provided me with a (quite simple, but a bit ugly) workaround, replacing the usage of context
with the “legacy” golang.org/x/net/context
package):
sed -i 's/"context"/"golang.org\/x\/net\/context"/' cmd/syncthing/*.go lib/*/*.go
I don’t know how long this will work, but right now, I can continue to provide syncthing builds for fedora 24 and EPEL7.
Additionally, I don’t think this will be a problem for long, since fedora 24 will be EOL’d in ~2 months anyway, and I hope that the go
compiler on RHEL7 will be updated at some point in the future.