[tor-dev] Pluggable Transport TBB Build

David Fifield david at bamsoftware.com
Wed Oct 9 16:22:52 UTC 2013


On Wed, Oct 09, 2013 at 12:02:20PM -0400, Kevin P Dyer wrote:
> On Sun, Oct 6, 2013 at 3:30 PM, David Fifield <david at bamsoftware.com> wrote:
> This is a good start and goes a long way towards automating the build
> process. However, I'm looking for "Press a button, make a sandwich,
> have all builds (for all platforms) ready when I come back."-type of
> automation. It appears that the current procedure requires booting up
> four systems (virtual or physical) manually, then manually running the
> build script in each instance.
> 
> I've had success fully-automating the build using vagrant for the
> linux builds. (Execute "vagrant up," wait a few minutes, then we have
> i386/amd64 PTTBB .tar.gz files.) I only encountered two issues [1,2].
> OSX is next. How may I share this work on
> https://gitweb.torproject.org/?

My point is that the "push a button" technique is already handled by the
Gitian build. (Even though it's more like "make 20 sandwiches.") I just
want to caution you against redoing a lot of work that has already been
done. Did you know that the Gitian build has a Vagrant configuration?
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/HEAD:/vagrant
Many of these battles have already been fought.

Also understand my motives: in the future, I don't want the building of
PT bundles to fall post-hoc to pluggable transport authors. I want them
to be made as a side effect of the vanilla bundle builds, so that nor I
nor others not interested in making bundles will have to make them. So
while improvements to the bundle.git system are welcome, I eventually
want to get rid of it completely.

Pushing a git repo somewhere is a good way to share your changes.

> > A huge advantage of the reproducible build system is that it requires
> > neither a Windows license nor an OS X install. Everything is
> > cross-compiled from Ubuntu. From a practical perspective, I care about
> > this feature even more than reproducibility. The need to boot up an
> > actual physical Mac is one reason why PT builds have lagged behind
> > (#9391).
> 
> Cross-compilation would certainly be a nice feature to have. However,
> for testing the product of a cross-compiled build, I'll need to have a
> development environment with each of the target platforms. I'm
> unwilling to have a bunch of physical machines for testing. Hence, I'm
> eager for full virtualization, which also helps with full-automation
> of the build.
> 
> I've looked a bit more into the OSX EULA. Even though running OSX as a
> guest on Windows/Linux seems prevalent, it is against the EULA [4].
> However, the EULA, since 10.7, states (c.f., sec. 2.B.iii) that you
> can spin up virtual instances on Mac hardware. So, I guess it will be
> up to each of us to figure out our ideal configuration, but the only
> legal way to do full virtualization requires Mac hardware. Lame.

Virtualizing OS X is problematic. There are many OS X testers, however,
on the tor-qa list, to which new bundles are announced before they are
published.

David Fifield


More information about the tor-dev mailing list