<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Sep 16, 2010, at 12:21 PM, András Murányi wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="h5"> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; At the moment buildbot fails with<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "exceptions.RuntimeError: Couldn't find<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; executable for<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'svn'"<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + the same for git<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; I added ~buildbot/.bashrc to hopefully add<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; Fink stuff<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; to buildbot's environment<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .hc<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hmm, didn't work out, and<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; net.sourceforge.buildbot.plist has sw/bin in<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; the path<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; too, and svn is there, so i really don't<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; know...<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Andras<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; Ok, I was getting some builds from macosx104-i386,<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; but then it<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; disappeared, donno what happened there.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;macosx104-powerpc<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; seems to be running still tho.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Yea the process died somehow. I have restarted it with the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; command:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp;/sw/bin/buildbot restart /Users/buildbot/macosx104-i386<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; The output had some complaints:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; /sw/lib/python2.6/site-packages/twisted/persisted/sob.py:12:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; DeprecationWarning: the md5 module is deprecated; use<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; hashlib instead<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; import os, md5, sys<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; /sw/lib/python2.6/site-packages/twisted/python/filepath.py:12:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; DeprecationWarning: the sha module is deprecated; use the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; hashlib<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; module instead<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; import sha<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; /sw/lib/python2.6/site-packages/twisted/internet/_sslverify.py:5:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; DeprecationWarning: the md5 module is deprecated; use<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; hashlib instead<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; import itertools, md5<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Following twistd.log until startup finished..<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; /sw/lib/python2.6/site-packages/buildbot/scripts/logwatcher.py:52:<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; PotentialZombieWarning: spawnProcess called, but the SIGCHLD<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; handler<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; is not installed. This probably means you have not yet<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; called<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; reactor.run, or called reactor.run(installSignalHandler=0).<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; You will<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; probably never see this process finish, and it may become a<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; zombie<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; process.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; env=os.environ,<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Removing stale<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; pidfile /Users/buildbot/macosx104-i386/twistd.pid<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; I worked on the pd-master/master.cfg a bit,<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; including changing<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; some of the names to be more consistent. &nbsp;I also got<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; pure-data<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; building from Miller's git.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://128.238.56.50:8010/builders/pure-data%20Linux" target="_blank">http://128.238.56.50:8010/builders/pure-data%20Linux</a><br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; %<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; 20debian-stable-i386/builds/6<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &nbsp; &nbsp; &nbsp; &nbsp; .hc<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Good! I saw you stared experimenting with a builder for the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; externals<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; too - do i understand right that at the end we will have<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; every<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; external built separately? I was thinking about breaking<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; them out to a<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; separate master, but then we'd need to duplicate every slave<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; setup, so<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; finally i think they could stay in the main master, and we<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; could have<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; each of their have their own "category" name, which allows<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; for some<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; selection at the web page.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Also note that for the builders, you can define an array<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; with<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; "slavenames:" instead of a single string "slavename", so you<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; can test<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; the same builder on multiple slaves at the same time. At the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; end they<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; have to broken down to one slave per builder, otherwise the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; diag<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; output is not easy to understand.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Changing descriptionDone values to past tense like<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; "compiled" may not<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; make sense when the step fails and the output goes like<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; "compiled<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; failed". Also there are things like "autogen" which don't<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; have a<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; proper past tense... :)<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Another thing i noticed an "svn update" by itself, i think<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; we shall<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; have the sources explicitly in master.cfg otherwise it will<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; fail where<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; the slave got reset. Also you told before we wanted<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; "clobber" (tabula<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; rasa) checkout not an update...<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; I saw the "make install", "make uninstall" steps in the<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; output -<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; having these would make much sense, fyi tests can be called<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; with<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Test() which has some advantages over ShellCommand() like it<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; doesn't<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; make the whole build halt on failure.<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; BTW switching the sources to git is easy, what we have to<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; work out is<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Git polling. It's built into 0.8.1 but needs to triggered<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; from git for<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; 0.7.12. And then we have this thing with the poller to<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; explain it<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; which builder to start upon updates... a.k.a. the cake :)<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Andras<br> &gt;<br> &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; One approach would be to use multiple PBChangeSource things<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; and have<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; commit hooks report to buildbot that they should build:<br> &gt;<br> &gt;<br> &gt; Actually there is only one PBChangeSource needed/possible because it's<br> &gt; a listener, and multiple commit hooks can communicate with it from the<br> &gt; repos.<br> &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; Another promising thing is loki, a web interface for easily<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; setting up<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; master/slaves:<br> &gt;<br> &gt; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://fedorahosted.org/loki/" target="_blank">https://fedorahosted.org/loki/</a><br> &gt;<br> &gt;<br> &gt; Hm. Seems a bit young to me...<br> &gt;<br> &gt; I see that at the moment every factory is "under construcion" so i<br> &gt; won't touch the config file for a while so that you can edit around.<br> &gt; (Which makes me think about putting it in svn later...)<br> &gt; <a href="http://128.238.56.50:8010/one_box_per_builder" target="_blank">http://128.238.56.50:8010/one_box_per_builder</a><br> &gt;<br> &gt; Andras<br> <br> </div></div>I'm actually not going to have any time to look at this for a couple<br> weeks, so please edit away. &nbsp;</blockquote><div><br>Ok, i will. I'm not very good at build building generally, and which steps certain pd sources need, but i'll experiment. I'll bug you if something fails and i really don't know why.<br> &nbsp;</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">About the 'externals' collection, one idea<br> I had was to set up a different step for each library, then have a<br> common collection of steps for easy reuse. &nbsp;For the Makefile-based libs<br> the steps could be: make, make install, make dist. &nbsp;For autotools, we<br> could have ./configure, make, make install. &nbsp;If it uses automake, then<br> these should also be available: make uninstall, make dist.<br> <br> Perhaps that would be manageable, but it seems there might be a better<br> way.<br></blockquote><div><br>Sounds good to me. If i set up that failed libs don't halt the whole build, it might be a good solution, or i'll think if there's a better one.<br></div></div></blockquote></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="font-size: medium;"><br></span></span></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="font-size: medium;">I'll still be on email, so I can contribute here and there. &nbsp;Yeah, I was also thinking that the libs wouldn't stop the whole build.</span></span></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="font-size: medium;"><br></span></span></div><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="font-size: medium;">.hc<br class="Apple-interchange-newline"></span><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><br class="khtml-block-placeholder"></div><div><br class="khtml-block-placeholder"></div><div><br class="khtml-block-placeholder"></div><div>----------------------------------------------------------------------------</div><div><br class="khtml-block-placeholder"></div><div>"Free software means you control what your computer does. Non-free software means someone else controls that, and to some extent controls you." - Richard M. Stallman</div><br class="Apple-interchange-newline"></span></span> </div><br></body></html>