On 11 December 2016 at 13:59, Joshua Root wrote: > On 2016-12-11 23:30 , René J.V. Bertin wrote: >> On Sunday December 11 2016 12:45:44 Marko Käning wrote: >> >>> My goodness, what happened here??? >> >> That seems to come from this line >> >> ui_msg "This port only builds with >> configure.compiler=macports-gcc-4.7 (from port:gcc47) or newer on OS X 10.6" >> >> I put that in instead of simply invoking the cxx11 PortGroup because Mojca >> considered I'd have to test that (which I can't). >> >> Should I conclude that the build bots cannot handle unforeseen output but >> try to parse it instead?
Yes. >> but why would it consider the output from a ui_msg statement as a list of >> subports? >> It's never done that for me, and I'd call that a bug ui_msg outside of any phase is *ALWAYS* printed when Tcl opens a Portfile, no matter what you do. When you call "portindex", when you call "port info" ... always! And yes, it's a bug to put "ui_msg" to a port outside of any phase. There is no way to fix the buildbot scripts to work around that. Try to patch your "ls" to always print "Hello there" before any other output and the use filelist=`ls` an a for loop to do something with all files in a folder. > A Portfile should not should not print anything in response to it simply > being opened. (Think about it, does a user really want to see this message > whenever they run 'port info' or portindex?) Indeed. > The script that finds out which > subports exist has to open the port to do so, and prints the list of > subports to stdout. True. I find that ui_msg a bit strange, one should fix the code and either predict that the build would work or fail straight away. But until that part is fixed, I surrounded the code with "pre-fetch { ... }" to avoid problems like the one seen above. But as you probably noticed none of the subports currently build on the 10.6 buildbots anyway: https://build.macports.org/builders/ports-10.6_x86_64_legacy-watcher/builds/3463 https://build.macports.org/builders/ports-10.6_i386_legacy-watcher/builds/3481 Mojca