From warner at users.sourceforge.net Wed Feb 8 20:50:32 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Wed, 08 Feb 2006 20:50:32 +0000 Subject: [Buildbot-commits] buildbot/buildbot/scripts runner.py,1.39,1.40 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8498/buildbot/scripts Modified Files: runner.py Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-462 Creator: Brian Warner add --umask= argument to the buildslave Index: runner.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/scripts/runner.py,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- runner.py 25 Oct 2005 01:26:10 -0000 1.39 +++ runner.py 8 Feb 2006 20:50:30 -0000 1.40 @@ -117,21 +117,6 @@ if secret: os.chmod(tacfile, 0600) - def makeSlaveTAC(self): - - tacfile = "buildbot.tac" - if os.path.exists(tacfile): - oldcontents = open(tacfile, "rt").read() - if oldcontents == contents: - print "buildbot.tac already exists and is correct" - return - print "not touching existing buildbot.tac" - print "creating buildbot.tac.new instead" - tacfile = "buildbot.tac.new" - f = open(tacfile, "wt") - f.write(contents) - f.close() - def makefile(self): target = "Makefile.sample" if os.path.exists(target): @@ -228,6 +213,8 @@ "Interval at which keepalives should be sent (in seconds)"], ["usepty", None, 1, "(1 or 0) child processes should be run in a pty"], + ["umask", None, "None", + "controls permissions of generated files. Use --umask=022 to be world-readable"], ] longdesc = """ @@ -272,6 +259,7 @@ passwd = '%(passwd)s' keepalive = %(keepalive)d usepty = %(usepty)d +umask = %(umask)s application = service.Application('buildslave') s = BuildSlave(host, port, slavename, passwd, basedir, keepalive, usepty) From warner at users.sourceforge.net Wed Feb 8 20:50:32 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Wed, 08 Feb 2006 20:50:32 +0000 Subject: [Buildbot-commits] buildbot/buildbot/slave bot.py,1.16,1.17 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/slave In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8498/buildbot/slave Modified Files: bot.py Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-462 Creator: Brian Warner add --umask= argument to the buildslave Index: bot.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/slave/bot.py,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- bot.py 14 Oct 2005 19:42:39 -0000 1.16 +++ bot.py 8 Feb 2006 20:50:30 -0000 1.17 @@ -457,7 +457,7 @@ # exactly once. def __init__(self, host, port, name, passwd, basedir, keepalive, - usePTY, keepaliveTimeout=30, debugOpts={}): + usePTY, keepaliveTimeout=30, umask=None, debugOpts={}): service.MultiService.__init__(self) self.debugOpts = debugOpts.copy() bot = self.botClass(basedir, usePTY) @@ -465,6 +465,7 @@ self.bot = bot if keepalive == 0: keepalive = None + self.umask = umask bf = self.bf = BotFactory(keepalive, keepaliveTimeout) bf.startLogin(credentials.UsernamePassword(name, passwd), client=bot) self.connection = c = internet.TCPClient(host, port, bf) @@ -479,6 +480,11 @@ self.bf.perspective.notifyOnDisconnect(lambda res: d.callback(None)) return d + def startService(self): + if self.umask is not None: + os.umask(self.umask) + service.MultiService.startService(self) + def stopService(self): self.bf.continueTrying = 0 self.bf.stopTrying() From warner at users.sourceforge.net Wed Feb 8 20:50:32 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Wed, 08 Feb 2006 20:50:32 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.33,1.34 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8498/docs Modified Files: buildbot.texinfo Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-462 Creator: Brian Warner add --umask= argument to the buildslave Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- buildbot.texinfo 13 Jan 2006 08:34:28 -0000 1.33 +++ buildbot.texinfo 8 Feb 2006 20:50:30 -0000 1.34 @@ -67,6 +67,10 @@ * Maintenance:: * Troubleshooting:: +Creating a buildslave + +* Buildslave Options:: + Troubleshooting * Starting the buildslave:: @@ -712,6 +716,67 @@ @end enumerate + at menu +* Buildslave Options:: + at end menu + + at node Buildslave Options, , Creating a buildslave, Creating a buildslave + at subsection Buildslave Options + +There are a handful of options you might want to use when creating the +buildslave with the @command{buildbot slave DIR } +command. You can type @command{buildbot slave --help} for a summary. +To use these, just include them on the @command{buildbot slave} +command line, like this: + + at example +buildbot slave --umask=022 ~/buildslave buildmaster.example.org:42012 myslavename mypasswd + at end example + + at table @code + at item --usepty +This is a boolean flag that tells the buildslave whether to launch +child processes in a PTY (the default) or with regular pipes. The +advantage of using a PTY is that ``grandchild'' processes are more +likely to be cleaned up if the build is interrupted or times out +(since it enables the use of a ``process group'' in which all child +processes will be placed). The disadvantages: some forms of Unix have +problems with PTYs, some of your unit tests may behave differently +when run under a PTY (generally those which check to see if they are +being run interactively), and PTYs will merge the stdout and stderr +streams into a single output stream (which means the red-vs-black +coloring in the logfiles will be lost). If you encounter problems, you +can add @code{--usepty=0} to disable the use of PTYs. Note that +windows buildslaves never use PTYs. + + at item --umask +This is a string (generally an octal representation of an integer) +which will cause the buildslave process' ``umask'' value to be set +shortly after initialization. The ``twistd'' daemonization utility +forces the umask to 077 at startup (which means that all files created +by the buildslave or its child processes will be unreadable by any +user other than the buildslave account). If you want build products to +be readable by other accounts, you can add @code{--umask=022} to tell +the buildslave to fix the umask after twistd clobbers it. If you want +build products to be @emph{writable} by other accounts too, use + at code{--umask=000}, but this is likely to be a security problem. + + at item --keepalive +This is a number that indicates how frequently ``keepalive'' messages +should be sent from the buildslave to the buildmaster, expressed in +seconds. The default (600) causes a message to be sent to the +buildmaster at least once every 10 minutes. To set this to a lower +value, use e.g. @code{--keepalive=120}. + +If the buildslave is behind a NAT box or stateful firewall, these +messages may help to keep the connection alive: some NAT boxes tend to +forget about a connection if it has not been used in a while. When +this happens, the buildmaster will think that the buildslave has +disappeared, and builds will time out. Meanwhile the buildslave will +not realize than anything is wrong. + + at end table + @node Launching the daemons, Logfiles, Creating a buildslave, Installation @section Launching the daemons From warner at users.sourceforge.net Wed Feb 8 20:50:32 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Wed, 08 Feb 2006 20:50:32 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.569,1.570 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8498 Modified Files: ChangeLog Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-462 Creator: Brian Warner add --umask= argument to the buildslave Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.569 retrieving revision 1.570 diff -u -d -r1.569 -r1.570 --- ChangeLog 23 Jan 2006 23:03:27 -0000 1.569 +++ ChangeLog 8 Feb 2006 20:50:30 -0000 1.570 @@ -1,3 +1,13 @@ +2006-02-08 Brian Warner + + * buildbot/scripts/runner.py (Maker.makeSlaveTAC): remove unused + method + (SlaveOptions.optParameters): add --umask, to make it possible to + make buildslave-generated files (including build products) be + world-readable + (slaveTAC): same + * buildbot/slave/bot.py (BuildSlave.startService): same + 2006-01-23 Brian Warner * buildbot/status/builder.py: urllib.quote() all URLs that include From warner at users.sourceforge.net Fri Feb 17 07:23:15 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 07:23:15 +0000 Subject: [Buildbot-commits] buildbot/buildbot/scripts runner.py,1.40,1.41 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30572/buildbot/scripts Modified Files: runner.py Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-464 Creator: Brian Warner oops, actually use the umask= argument Index: runner.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/scripts/runner.py,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- runner.py 8 Feb 2006 20:50:30 -0000 1.40 +++ runner.py 17 Feb 2006 07:23:13 -0000 1.41 @@ -262,7 +262,8 @@ umask = %(umask)s application = service.Application('buildslave') -s = BuildSlave(host, port, slavename, passwd, basedir, keepalive, usepty) +s = BuildSlave(host, port, slavename, passwd, basedir, keepalive, usepty, + umask=umask) s.setServiceParent(application) """ From warner at users.sourceforge.net Fri Feb 17 07:23:35 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 07:23:35 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.570,1.571 NEWS,1.51,1.52 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30590 Modified Files: ChangeLog NEWS Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-465 Creator: Brian Warner update some docs, and the NEWS file * docs/buildbot.texinfo (How Different VC Systems Specify Sources): add text to explain per-build branch parameters * NEWS: mention --umask Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.570 retrieving revision 1.571 diff -u -d -r1.570 -r1.571 --- ChangeLog 8 Feb 2006 20:50:30 -0000 1.570 +++ ChangeLog 17 Feb 2006 07:23:33 -0000 1.571 @@ -1,3 +1,9 @@ +2006-02-09 Brian Warner + + * docs/buildbot.texinfo (How Different VC Systems Specify Sources): + add text to explain per-build branch parameters + * NEWS: mention --umask + 2006-02-08 Brian Warner * buildbot/scripts/runner.py (Maker.makeSlaveTAC): remove unused Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/buildbot/NEWS,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- NEWS 23 Jan 2006 21:17:29 -0000 1.51 +++ NEWS 17 Feb 2006 07:23:33 -0000 1.52 @@ -23,6 +23,21 @@ now accept a strports spec, and any bare numbers are translated into TCP port numbers (listening on all network interfaces) for compatibility. +*** buildslave --umask control + +Twisted's daemonization utility (/usr/bin/twistd) automatically sets the +umask to 077, which means that all files generated by both the buildmaster +and the buildslave will only be readable by the account under which the +respective daemon is running. This makes it unnecessarily difficult to share +build products (e.g. by symlinking ~/public_html/current_docs/ to a directory +within the slave's build directory where each build puts the results of a +"make docs" step). + +The 'buildbot slave ' command now accepts a --umask argument, which +can be used to override the umask set by twistd. If you create the buildslave +with '--umask=022', then all build products will be world-readable, making it +easier for other processes (run under other accounts) to access them. + ** bug fixes The 0.7.1 release had a bug whereby reloading the config file could break all @@ -34,6 +49,12 @@ TryScheduler would explode when it was given a Change (which it is supposed to simply ignore). +The Waterfall display now does more quoting of names (including Builder +names, BuildStep names, etc), so it is more likely that these names can +contain unusual characters like spaces, quotes, and slashes. There may still +be some problems with these kinds of names, however.. please report any bugs +to the mailing list. + * Release 0.7.1 (26 Nov 2005) From warner at users.sourceforge.net Fri Feb 17 07:23:35 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 07:23:35 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.34,1.35 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30590/docs Modified Files: buildbot.texinfo Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-465 Creator: Brian Warner update some docs, and the NEWS file * docs/buildbot.texinfo (How Different VC Systems Specify Sources): add text to explain per-build branch parameters * NEWS: mention --umask Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- buildbot.texinfo 8 Feb 2006 20:50:30 -0000 1.34 +++ buildbot.texinfo 17 Feb 2006 07:23:32 -0000 1.35 @@ -1034,10 +1034,10 @@ @itemize @bullet @item Retrieve a specific set of source revisions: some tag or key is used -to index this set, which is fixed and cannot be changed by developers -committing new changes to the tree. Releases are built from tagged -revisions like this, so that they can be rebuilt again later (probably -with controlled modifications). +to index this set, which is fixed and cannot be changed by subsequent +developers committing new changes to the tree. Releases are built from +tagged revisions like this, so that they can be rebuilt again later +(probably with controlled modifications). @item Retrieve the latest sources along a specific branch: some tag is used to indicate which branch is to be used, but within that constraint we want @@ -1060,8 +1060,8 @@ overhead involved in creating these tags. Recreating the trees used by one of these builds can be a challenge. Some VC systems may provide implicit tags (like a revision number), while others may allow the use -of timestamps to mean @emph{the state of the tree at time X} as -opposed to a tree-state that has been explicitly marked. +of timestamps to mean ``the state of the tree at time X'' as opposed +to a tree-state that has been explicitly marked. The Buildbot is designed to help developers, so it usually works in terms of @emph{the latest} sources as opposed to specific tagged @@ -1088,7 +1088,7 @@ occurred after the desired ones. We assume that the Changes arrive at the buildbot (through one of the mechanisms described in @pxref{Change Sources}) in the same order in which they are committed to the -repository. The Buildbot waits for the tree to become @emph{stable} +repository. The Buildbot waits for the tree to become ``stable'' before initiating a build, for two reasons. The first is that developers frequently make multiple related commits in quick succession, even when the VC system provides ways to make atomic @@ -1123,13 +1123,11 @@ @node How Different VC Systems Specify Sources, Attributes of Changes, Source Tree Specifications, Version Control Systems @subsection How Different VC Systems Specify Sources - at c TODO: update this to include per-build branch= attributes - -For CVS, the static specifications are @code{repository}, @code{module}, -and @code{branch tag} (which defaults to HEAD). In addition to those, each -build uses a timestamp (or omits the timestamp to mean @code{the latest}). -These parameters collectively specify a set of sources from which a build -may be performed. +For CVS, the static specifications are @code{repository} and + at code{module}. In addition to those, each build uses a timestamp (or +omits the timestamp to mean @code{the latest}) and @code{branch tag} +(which defaults to HEAD). These parameters collectively specify a set +of sources from which a build may be performed. @uref{http://subversion.tigris.org, Subversion} combines the repository, module, and branch into a single @code{Subversion URL} @@ -1137,7 +1135,12 @@ numeric @code{revision number} (a repository-wide monotonically-increasing marker, such that each transaction that changes the repository is indexed by a different revision number), or -a revision timestamp. +a revision timestamp. When branches are used, the repository and +module form a static @code{baseURL}, while each build has a + at code{revision number} and a @code{branch} (which defaults to a +statically-specified @code{defaultBranch}). The @code{baseURL} and + at code{branch} are simply concatenated together to derive the + at code{svnurl} to use for the checkout. @uref{http://wiki.gnuarch.org/, Arch} and @uref{http://bazaar.canonical.com/, Bazaar} specify a repository by @@ -1153,6 +1156,13 @@ used to figure out which archives/modules should be used to populate subdirectories of the initial checkout. +Builders which use Arch and Bazaar therefore have a static archive + at code{url}, and a default ``branch'' (which is a string that specifies +a complete category--branch--version triple). Each build can have its +own branch (the category--branch--version string) to override the +default, as well as a revision number (which is turned into a +--patch-NN suffix when performing the checkout). + @uref{http://abridgegame.org/darcs/, Darcs} doesn't really have the notion of a single master repository. Nor does it really have branches. In Darcs, each working directory is also a repository, and @@ -1163,6 +1173,19 @@ repository and build them. Multiple branches are implemented by using multiple repositories (possibly living on the same server). +Builders which use Darcs therefore have a static @code{repourl} which +specifies the location of the repository. If branches are being used, +the source Step is instead configured with a @code{baseURL} and a + at code{defaultBranch}, and the two strings are simply concatenated +together to obtain the repository's URL. Each build then has a +specific branch which replaces @code{defaultBranch}, or just uses the +default one. Instead of a revision number, each build can have a +``context'', which is a string that records all the patches that are +present in a given tree (this is the output of @command{darcs changes +--context}, and is considerably less concise than, e.g. Subversion's +revision number, but the patch-reordering flexibility of Darcs makes +it impossible to provide a shorter useful specification). + @node Attributes of Changes, , How Different VC Systems Specify Sources, Version Control Systems @subsection Attributes of Changes From warner at users.sourceforge.net Fri Feb 17 08:04:11 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:04:11 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.35,1.36 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16056/docs Modified Files: buildbot.texinfo Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-467 Creator: Brian Warner minor texinfo tweaks * docs/buildbot.texinfo (Build Dependencies): add cindex tag Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- buildbot.texinfo 17 Feb 2006 07:23:32 -0000 1.35 +++ buildbot.texinfo 17 Feb 2006 08:04:08 -0000 1.36 @@ -1877,6 +1877,7 @@ @node Build Dependencies, , Scheduler Types, Listing Change Sources and Schedulers @subsection Build Dependencies + at cindex Dependent @cindex Dependencies It is common to wind up with one kind of build which should only be From warner at users.sourceforge.net Fri Feb 17 08:04:12 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:04:12 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.571,1.572 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16056 Modified Files: ChangeLog Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-467 Creator: Brian Warner minor texinfo tweaks * docs/buildbot.texinfo (Build Dependencies): add cindex tag Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.571 retrieving revision 1.572 diff -u -d -r1.571 -r1.572 --- ChangeLog 17 Feb 2006 07:23:33 -0000 1.571 +++ ChangeLog 17 Feb 2006 08:04:09 -0000 1.572 @@ -1,3 +1,7 @@ +2006-02-16 Brian Warner + + * docs/buildbot.texinfo (Build Dependencies): add cindex tag + 2006-02-09 Brian Warner * docs/buildbot.texinfo (How Different VC Systems Specify Sources): From warner at users.sourceforge.net Fri Feb 17 08:04:34 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:04:34 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.36,1.37 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16514/docs Modified Files: buildbot.texinfo Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-468 Creator: Brian Warner release 0.7.2 * buildbot/__init__.py (version): Releasing buildbot-0.7.2 * docs/buildbot.texinfo: set version number to match * NEWS: update for 0.7.2 Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- buildbot.texinfo 17 Feb 2006 08:04:08 -0000 1.36 +++ buildbot.texinfo 17 Feb 2006 08:04:32 -0000 1.37 @@ -1,13 +1,13 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename buildbot.info - at settitle BuildBot Manual 0.7.1+ + at settitle BuildBot Manual 0.7.2 @c %**end of header @copying This is the BuildBot manual. -Copyright (C) 2005 Brian Warner +Copyright (C) 2005,2006 Brian Warner Copying and distribution of this file, with or without modification, are permitted in any medium without royalty From warner at users.sourceforge.net Fri Feb 17 08:04:34 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:04:34 +0000 Subject: [Buildbot-commits] buildbot/buildbot __init__.py,1.20,1.21 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16514/buildbot Modified Files: __init__.py Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-468 Creator: Brian Warner release 0.7.2 * buildbot/__init__.py (version): Releasing buildbot-0.7.2 * docs/buildbot.texinfo: set version number to match * NEWS: update for 0.7.2 Index: __init__.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/__init__.py,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- __init__.py 27 Nov 2005 03:58:48 -0000 1.20 +++ __init__.py 17 Feb 2006 08:04:32 -0000 1.21 @@ -1,3 +1,3 @@ #! /usr/bin/python -version = "0.7.1+" +version = "0.7.2" From warner at users.sourceforge.net Fri Feb 17 08:04:34 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:04:34 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.572,1.573 NEWS,1.52,1.53 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16514 Modified Files: ChangeLog NEWS Log Message: Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-468 Creator: Brian Warner release 0.7.2 * buildbot/__init__.py (version): Releasing buildbot-0.7.2 * docs/buildbot.texinfo: set version number to match * NEWS: update for 0.7.2 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.572 retrieving revision 1.573 diff -u -d -r1.572 -r1.573 --- ChangeLog 17 Feb 2006 08:04:09 -0000 1.572 +++ ChangeLog 17 Feb 2006 08:04:32 -0000 1.573 @@ -1,3 +1,9 @@ +2006-02-17 Brian Warner + + * buildbot/__init__.py (version): Releasing buildbot-0.7.2 + * docs/buildbot.texinfo: set version number to match + * NEWS: update for 0.7.2 + 2006-02-16 Brian Warner * docs/buildbot.texinfo (Build Dependencies): add cindex tag Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/buildbot/NEWS,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- NEWS 17 Feb 2006 07:23:33 -0000 1.52 +++ NEWS 17 Feb 2006 08:04:32 -0000 1.53 @@ -1,6 +1,6 @@ User visible changes in Buildbot. -* Release x.x.x (x) +* Release 0.7.2 (17 Feb 2006) ** new features From warner at users.sourceforge.net Fri Feb 17 08:35:33 2006 From: warner at users.sourceforge.net (Brian Warner) Date: Fri, 17 Feb 2006 08:35:33 +0000 Subject: [Buildbot-commits] site manual-0.7.2.html,NONE,1.1 ChangeLog,1.24,1.25 NEWS,1.10,1.11 index.html,1.54,1.55 Message-ID: Update of /cvsroot/buildbot/site In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32135 Modified Files: ChangeLog NEWS index.html Added Files: manual-0.7.2.html Log Message: update for 0.7.2 release Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/site/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- ChangeLog 27 Nov 2005 02:26:01 -0000 1.24 +++ ChangeLog 17 Feb 2006 08:35:30 -0000 1.25 @@ -1,3 +1,129 @@ +2006-02-17 Brian Warner + + * buildbot/__init__.py (version): Releasing buildbot-0.7.2 + * docs/buildbot.texinfo: set version number to match + * NEWS: update for 0.7.2 + +2006-02-16 Brian Warner + + * docs/buildbot.texinfo (Build Dependencies): add cindex tag + +2006-02-09 Brian Warner + + * docs/buildbot.texinfo (How Different VC Systems Specify Sources): + add text to explain per-build branch parameters + * NEWS: mention --umask + +2006-02-08 Brian Warner + + * buildbot/scripts/runner.py (Maker.makeSlaveTAC): remove unused + method + (SlaveOptions.optParameters): add --umask, to make it possible to + make buildslave-generated files (including build products) be + world-readable + (slaveTAC): same + * buildbot/slave/bot.py (BuildSlave.startService): same + +2006-01-23 Brian Warner + + * buildbot/status/builder.py: urllib.quote() all URLs that include + Builder names, so that builders can include characters like '/' + and ' ' without completely breaking the resulting HTML. Thanks to + Kevin Turner for the patch. + * buildbot/status/html.py: same + * buildbot/test/test_web.py (GetURL.testBuild): match changes + + * NEWS: update in preparation for upcoming release + +2006-01-18 Brian Warner + + * docs/examples/twisted_master.cfg: update to match the Twisted + buildbot: remove python2.2, switch to exarkun's buildslaves, + disable the .deb builder until we figure out how to build twisted + .debs from SVN, add some ktrace debugging to the OS-X build + process and remove the qt build, remove threadless builders, + change freebsd builder to use landonf's buildslave. + +2006-01-12 Brian Warner + + * buildbot/master.py (Manhole.__init__): let port= be a strports + specification string, but handle a regular int for backwards + compatibility. This allows "tcp:12345:interface=127.0.0.1" to be + used in master.cfg to limit connections to just the local host. + (BuildMaster.loadConfig): same for c['slavePortnum'] + * buildbot/scheduler.py (Try_Userpass.__init__): same + * buildbot/status/client.py (PBListener.__init__): same + * buildbot/status/html.py (Waterfall.__init__): same, for both + http_port and distrib_port. Include backwards-compatibility checks + so distrib_port can be a filename string and still mean unix:/foo + * docs/buildbot.texinfo (Setting the slaveport): document it + (Debug options): same + (HTML Waterfall): same + (PBListener): same + (try): same + * buildbot/test/test_config.py (ConfigTest): test it + + * buildbot/master.py (BuildMaster.loadConfig): wait for the + slaveport's disownServiceParent deferred to fire before opening + the new one. Fixes an annoying bug in the unit tests. + +2006-01-03 Brian Warner + + * buildbot/master.py (BuildMaster): remove the .schedulers + attribute, replacing it with an allSchedulers() method that looks + for all IService children that implement IScheduler. Having only + one parent/child relationship means fewer opportunities for bugs. + (BuildMaster.allSchedulers): new method + (BuildMaster.loadConfig_Schedulers): update to use allSchedulers, + also fix ugly bug that caused any config-file reload to + half-forget about the earlier Schedulers, causing an exception + when a Change arrived and was handed to a half-connected + Scheduler. The exception was in scheduler.py line 54ish: + self.parent.submitBuildSet(bs) + exceptions.AttributeError: 'NoneType' object has no attribute + 'submitBuildSet' + (BuildMaster.addChange): update to use allSchedulers() + + * buildbot/scheduler.py (BaseScheduler.__implements__): fix this + to work properly with twisted-1.3.0, where you must explicitly + include the __implements__ from parent classes + (BaseScheduler.__repr__): make it easier to distinguish distinct + instances + (BaseUpstreamScheduler.__implements__): same + + * buildbot/status/builder.py (Status.getSchedulers): update to + use allSchedulers() + * buildbot/test/test_run.py (Run.testMaster): same + * buildbot/test/test_dependencies.py (Dependencies.findScheduler): same + * buildbot/test/test_config.py (ConfigTest.testSchedulers): same, + make sure Scheduler instances are left alone when an identical + config file is reloaded + (ConfigElements.testSchedulers): make sure Schedulers are properly + comparable + + * Makefile (TRIALARGS): my local default Twisted version is now + 2.1.0, update the trial arguments accordingly + +2005-12-22 Brian Warner + + * docs/examples/twisted_master.cfg: merge changes from pyr: add + new win32 builders + + * buildbot/scheduler.py (BaseScheduler.addChange): include a dummy + addChange in the parent class, although I suspect this should be + fixed better in the future. + +2005-11-26 Brian Warner + + * buildbot/scheduler.py (AnyBranchScheduler.addChange): don't + explode when branch==None, thanks to Kevin Turner for the catch + * buildbot/test/test_scheduler.py (Scheduling.testAnyBranch): test + it + + * buildbot/__init__.py (version): bump to 0.7.1+ while between + releases + * docs/buildbot.texinfo: same + 2005-11-26 Brian Warner * buildbot/__init__.py (version): Releasing buildbot-0.7.1 Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/site/NEWS,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- NEWS 27 Nov 2005 02:26:01 -0000 1.10 +++ NEWS 17 Feb 2006 08:35:30 -0000 1.11 @@ -1,5 +1,61 @@ User visible changes in Buildbot. +* Release 0.7.2 (17 Feb 2006) + +** new features + +*** all TCP port numbers in config file now accept a strports string + +Sometimes it is useful to restrict certain TCP ports that the buildmaster +listens on to use specific network interfaces. In particular, if the +buildmaster and SVN repository live on the same machine, you may want to +restrict the PBChangeSource to only listen on the loopback interface, +insuring that no external entities can inject Changes into the buildbot. +Likewise, if you are using something like Apache's reverse-proxy feature to +provide access to the buildmaster's HTML status page, you might want to hide +the real Waterfall port by having it only bind to the loopback interface. + +To accomplish this, use a string like "tcp:12345:interface=127.0.0.1" instead +of a number like 12345. These strings are called "strports specification +strings", and are documented in twisted's twisted.application.strports module +(you can probably type 'pydoc twisted.application.strports' to see this +documentation). Pretty much everywhere the buildbot takes a port number will +now accept a strports spec, and any bare numbers are translated into TCP port +numbers (listening on all network interfaces) for compatibility. + +*** buildslave --umask control + +Twisted's daemonization utility (/usr/bin/twistd) automatically sets the +umask to 077, which means that all files generated by both the buildmaster +and the buildslave will only be readable by the account under which the +respective daemon is running. This makes it unnecessarily difficult to share +build products (e.g. by symlinking ~/public_html/current_docs/ to a directory +within the slave's build directory where each build puts the results of a +"make docs" step). + +The 'buildbot slave ' command now accepts a --umask argument, which +can be used to override the umask set by twistd. If you create the buildslave +with '--umask=022', then all build products will be world-readable, making it +easier for other processes (run under other accounts) to access them. + +** bug fixes + +The 0.7.1 release had a bug whereby reloading the config file could break all +configured Schedulers, causing them to raise an exception when new changes +arrived but not actually schedule a new build. This has been fixed. + +Fixed a bug which caused the AnyBranchScheduler to explode when branch==None. +Thanks to Kevin Turner for the catch. I also think I fixed a bug whereby the +TryScheduler would explode when it was given a Change (which it is supposed +to simply ignore). + +The Waterfall display now does more quoting of names (including Builder +names, BuildStep names, etc), so it is more likely that these names can +contain unusual characters like spaces, quotes, and slashes. There may still +be some problems with these kinds of names, however.. please report any bugs +to the mailing list. + + * Release 0.7.1 (26 Nov 2005) ** new features Index: index.html =================================================================== RCS file: /cvsroot/buildbot/site/index.html,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- index.html 24 Jan 2006 01:58:21 -0000 1.54 +++ index.html 17 Feb 2006 08:35:30 -0000 1.55 @@ -31,7 +31,7 @@

Current contents:

    -
  • The current release is buildbot-0.7.1 . You can download the source +
  • The current release is buildbot-0.7.2 . You can download the source from the sf.net download page here. The release is signed with my GPG public key, available here.
  • The README file contains an overview, while the User's Manual contains complete + href="manual-0.7.2.html">User's Manual contains complete documentation.
  • Recent changes are summarized in the NEWS file, @@ -201,5 +201,5 @@ align="right" /> -Last modified: Mon Jan 23 17:58:08 PST 2006 +Last modified: Fri Feb 17 00:34:36 PST 2006 --- NEW FILE: manual-0.7.2.html --- BuildBot Manual 0.7.2