]> git.sur5r.net Git - i3/i3.github.io/commitdiff
docs/buildbot: add pbuilder pkg, use sudoers.d, add umask hint
authorMichael Stapelberg <michael@stapelberg.de>
Wed, 12 Sep 2012 16:05:19 +0000 (18:05 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 12 Sep 2012 16:05:19 +0000 (18:05 +0200)
_docs/buildbot
docs/buildbot.html

index 77419e0226931bdb2fb92afa63c9b8aab026b10a..7f3029a68a1fd3c618f29ef3eba8c7d8e474cf87 100644 (file)
@@ -1,7 +1,7 @@
 The i3 buildbot setup
 =====================
 Michael Stapelberg <michael@i3wm.org>
-August 2012
+September 2012
 
 This document explains the http://www.buildbot.net/[buildbot] setup we use to
 provide up-to-date documentation and debian packages at http://build.i3wm.org/.
@@ -373,13 +373,13 @@ This is the most complex builder of all. It uses +pbuilder-dist+, +debchange+,
 +dpkg-buildpackage+ and +reprepro+ to generate a Debian repository with a
 cleanly compiled package for amd64 and i386. In order for it to work, you need
 to install the following packages: +apt-get install devscripts dpkg-dev
-reprepro ubuntu-dev-tools+. Afterwards, you need to allow the user as which the
-buildslave runs to execute pbuilder via sudo without needing a password, so run
-+visudo+ and add a line like this one:
+reprepro ubuntu-dev-tools pbuilder+. Afterwards, you need to allow the user as
+which the buildslave runs to execute pbuilder via sudo without needing a
+password, so add a config file like this one:
 
-*sudoers line*:
+*sudoers.d*:
 ---------------------------------------------
-build    ALL= NOPASSWD: SETENV: /usr/sbin/pbuilder
+echo 'build    ALL= NOPASSWD: SETENV: /usr/sbin/pbuilder' > /etc/sudoers.d/build
 ---------------------------------------------
 
 Then, as the user as which your buildslave runs, setup the pbuilder
@@ -539,6 +539,16 @@ status:
 
 http://code.stapelberg.de/git/go-buildbot-announce/tree/src/i3build.go?id=eeebf1a546454c8a0d82ca623886bb835cd32ba0
 
+=== Creating the buildslave
+
+One more thing to note is that when creating the buildslave, you should use the
++--umask+ argument to configure the umask for all generated files:
+
+*Creating the buildslave*:
+--------------------------------------------------------------------------------------
+buildslave create-slave --umask=022 i3-buildslave buildbot.i3wm.org build-1 <password>
+--------------------------------------------------------------------------------------
+
 == Full configuration file
 
 This is the full configuration file, as tested and currently in use (except for
index 786f1a26a27c30606376de6bfe75810e3435f47d..57e0202b46efcc83ec0b15e1abf8b1403c2fbab8 100644 (file)
@@ -31,7 +31,7 @@ window.onload = function(){asciidoc.footnotes(); asciidoc.toc(2);}
 <h1>The i3 buildbot setup</h1>\r
 <span id="author">Michael Stapelberg</span><br />\r
 <span id="email"><tt>&lt;<a href="mailto:michael@i3wm.org">michael@i3wm.org</a>&gt;</tt></span><br />\r
-<span id="revdate">August 2012</span>\r
+<span id="revdate">September 2012</span>\r
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -436,13 +436,13 @@ f.addStep(DocsToIRC())</tt></pre>
 <tt>dpkg-buildpackage</tt> and <tt>reprepro</tt> to generate a Debian repository with a\r
 cleanly compiled package for amd64 and i386. In order for it to work, you need\r
 to install the following packages: <tt>apt-get install devscripts dpkg-dev\r
-reprepro ubuntu-dev-tools</tt>. Afterwards, you need to allow the user as which the\r
-buildslave runs to execute pbuilder via sudo without needing a password, so run\r
-<tt>visudo</tt> and add a line like this one:</p></div>\r
-<div class="paragraph"><p><strong>sudoers line</strong>:</p></div>\r
+reprepro ubuntu-dev-tools pbuilder</tt>. Afterwards, you need to allow the user as\r
+which the buildslave runs to execute pbuilder via sudo without needing a\r
+password, so add a config file like this one:</p></div>\r
+<div class="paragraph"><p><strong>sudoers.d</strong>:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>build    ALL= NOPASSWD: SETENV: /usr/sbin/pbuilder</tt></pre>\r
+<pre><tt>echo 'build    ALL= NOPASSWD: SETENV: /usr/sbin/pbuilder' &gt; /etc/sudoers.d/build</tt></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Then, as the user as which your buildslave runs, setup the pbuilder\r
 environments (you only need to do this once):</p></div>\r
@@ -595,6 +595,16 @@ example, though, especially back when its only feature was announcing the build
 status:</p></div>\r
 <div class="paragraph"><p><a href="http://code.stapelberg.de/git/go-buildbot-announce/tree/src/i3build.go?id=eeebf1a546454c8a0d82ca623886bb835cd32ba0">http://code.stapelberg.de/git/go-buildbot-announce/tree/src/i3build.go?id=eeebf1a546454c8a0d82ca623886bb835cd32ba0</a></p></div>\r
 </div>\r
+<div class="sect2">\r
+<h3 id="_creating_the_buildslave">3.9. Creating the buildslave</h3>\r
+<div class="paragraph"><p>One more thing to note is that when creating the buildslave, you should use the\r
+<tt>--umask</tt> argument to configure the umask for all generated files:</p></div>\r
+<div class="paragraph"><p><strong>Creating the buildslave</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>buildslave create-slave --umask=022 i3-buildslave buildbot.i3wm.org build-1 &lt;password&gt;</tt></pre>\r
+</div></div>\r
+</div>\r
 </div>\r
 </div>\r
 <div class="sect1">\r