Feature Request: PPA?

I’m really excited aboout syncthing. Are there any plans for a ppa in the future?

I just found out that there’s a way to upgrade via cli. I’d delete this, but I can’t figure out how.

That’s fine, you’re neither the first nor probably the last.

https://github.com/calmh/syncthing/issues/157

Edit: since the answer in the issue above isn’t especially verbose - no, I don’t personally have any plans to set up a PPA since I wouldn’t use it myself. But I would be happy if someone else did it.

2 Likes

– Well, I could register a PPA, but I need to be sure which license is used (see https://help.launchpad.net/PPATermsofUse ). –

Whoops! My fault! (I shouldn’t read only the license, but the readme, too.)

There it is: https://launchpad.net/~ytvwld/+archive/syncthing

(Just needing to fill it… :wink: )

2 Likes

Thanks @YtvwlD. Would it be possible for you to add a precise build to that?

@101100 Well, I’m building a new version now. The current doesn’t start. :wink:

But, you/I/we don’t need no suite. The package is independent from Trusty. I just needed to select something. You are safe to use it with, for example, Saucy. Just add the ppa, and then edit your software sources. –


Edit: The new build for i386 is finished. And it seems to be successful, but I haven’t tested it, though. The build for amd64 seems to be hanging.


Edit: See new post.

@calmh The PPA works!

And @101100, your Precise build is on the way! After that, I am going to build for Saucy, Raring, Quantal and Lucid.


Edit: Sorry, @101100, this isn’t possible. Well, of course it is somehow, but all Ubuntu versions prior to Trusty don’t have the package gccgo-go in their repository. (gccgo is available, so it should possible somehow, I don’t know.)

Ah, well thanks for trying. Another reason to upgrade as soon as 14.04.1 hits.

@101100 :wink: Another possibility would be in adding deb-src http://de.archive.ubuntu.com/ubuntu/ trusty universe multiverse restricted main to your /etc/apt/sources.list.

After that you can

sudo apt-get update
sudo apt-get install gccgo
apt-get source gccgo-go
cd gccgo-go*
debuild -B
cd ..
sudo dpkg -i gccgo-go*.deb
sudo apt-get -f install

Then add deb-src http://ppa.launchpad.net/ytvwld/syncthing/ubuntu trusty main to your /etc/apt/sources.list. Then:

sudo apt-get update
apt-get source syncthing
cd syncthing*
debuild -B
cd ..
sudo dpkg -i syncthing*.deb
sudo apt-get -f install

I haven’t tested this, but it should work.

How come you guys are building with gccgo (or how come the dependency, if not)?

Well, this is easy. I just typed go and the suggestion to install was gccgo-go. And it worked for Trusty. As an excuse: I’m not very familiar with go. My experience (before) was excatly nothing… @101100 Precise is coming. I’m building it now with golang-go. Sorry.

Oh, OK. Anyway, however you produce (for example) a Linux AMD64 binary of syncthing, that same binary should work for all recent Ubuntu dists etc.

The builds with golang-go don’t succeed.

(see https://launchpadlibrarian.net/176866314/buildlog_ubuntu-precise-amd64.syncthing_0.8.12-17_FAILEDTOBUILD.txt.gz )

Do I need to download more dependencies (the Launchpad builders don’t have internet access)?

The building program for Go fetches dependencies dynamically based on the source code. If the machine on which you’re compiling syncthing doesn’t have internet, you probably need to put all the dependencies in $GOPATH/src as described in http://golang.org/pkg/go/build/#hdr-Go_Path.

I think the easiest way to get all the dependencies is to clone syncthing locally and to build it with “go build” on a computer with internet. This should fetch all the necessary source files and put them in $GOPATH/src, which you then need to put on your building server.

But I don’t know how the launchpad building works and if it’s possible. And as @calmh said, normally a build made on Trusty should also work on Saucy, Raring, etc, because a Go executable is linked statically and shouldn’t have dependencies besides standard libraries. Can’t you just give launchpad an already compiled executable?

The relevant error seems to be Error: no godep. Try "./build.sh setup".

You could try simply running the two steps

./build.sh setup
./build.sh

which will try to install godep, and then build using included dependencies.

Well, no. I can only upload source packages to Launchpad.

I’m already putting code.google.com/p/go.tools and github.com/tools/godep and github.com/kr/fs to gopath/src/.

And the weird thing is, it works for gccgo-go, but not with golang-go. The same directory.

I’m already running

go install github.com/tools/godep
go install code.google.com/p/go.tools/cmd/vet

(see https://github.com/Nutomic/syncthing-android/issues/12#issuecomment-45091273 )

I don’t think this is the problem. Or is it?

Do those install commands work? It’s not unlikely godep has further dependencies of it’s own.

You can skip vet, it’s not essential for the build.

@YtvwlD: Is there any chance you could add an ARM binary for the Raspberry Pi?

Also, it would be great if server files would be in the pa, too :slight_smile:

@YtvwlD Could you fix the link on the PPA that points to syncthing.org instead of syncthing.net?