⋔ about ⋔ contact ⋔ licensing ⋔ oostats ⋔ wiki ⋔ support ⋔ keys ⋔ faq ⋔ archives ⋔
350 words by gman999 written on 2016–08–18, last edit: 2017–09–03, tags: bsd, buildbot, tor ⋔ Previous post: Replying to Tor Blog Comments ⋔ Next post: Where Things Stand
One of the small yet important projects spawning from this Tor-BSD meme is Christian S.’s BSD Buildbot. Essentially it’s a tool for development builds of Tor for the Tor Project, with volunteers enlisting their BSD relays.
Recently its relevance was reinforced due to some libevent issues with OpenBSD and Tor. The OpenBSD base includes libevent, and libevent2 is a dependency port (LIB_DEPENDS) for the Tor port. Tor Project Trac tickets include 19902 and 19904.
To enlist a BSD relay in the buildbot:
Make sure that devel/git and devel/autotools is installed on the functioning Tor relay, the latter of which includes devel/autoconf and devel/automake as dependencies.
Create a non-privileged user for the buildbot, without any particular group outside of its own.
On FreeBSD and DragonFly BSD, install devel/buildbot-slave. On NetBSD, install devel/py27-buildbot-slave. On OpenBSD and Bitrig install devel/py-buildslave.
As the non-privileged user, run this command:
$ buildslave create-slave slave buildbot.pixelminers.net:9989 <buildername> <password>
In the new user’s directory, a slave/ directory will be created. Edit slave/info to provide a description, like the particular BSD, the architecture and maybe BSD release version, plus edit slave/admin to provide an (obscured) contact email for the buildbot slave.
Finally, run this command to join the buildbot, from the new user’s directory:
$ buildslave start slave/
For OpenBSD buildbot relays, /etc/profile needs to list the installed versions of autoconf and automake, as per this email to the Tor-BSD mailing list.
export AUTOCONF_VERSION="2.69" export AUTOMAKE_VERSION="1.14"
Assuming everything is configured correctly, the buildbot slave should appear on https://buildbot.pixelminers.net/buildslaves, and the log in slave/twistd.log should provide results.
Also: yes, we think the terminology of buildbot “slave” and “master” are inappropriate, and we only use them since they are the actually commands and lingo. The terms are not even descriptively useful to someone new to the concept of a continuous integration system.
Copyright © 2015–2018 by The Tor BSD Diversity Project (TDP). All Rights Reserved.