Revision 7eaaac5ad4e8 removed a bunch of “with_statement” __future__ imports, including in Tools/hg/hgtouch.py. This is causing a buildbot to fail; presumably it has Python < 2.6 for Mercurial: http://buildbot.python.org/all/builders/x86%20Tiger%203.x/builds/11301/steps/touch/logs/stdioTools/hg/hgtouch.py:22: Warning: 'with' will become a reserved keyword in Python 2.6 *** failed to import extension touch from Tools/hg/hgtouch.py: invalid syntax (hgtouch.py, line 22) hg: unknown command 'touch' The compile step subsequently seems to regenerate a file and fails. What was the reason to remove these __future__ imports? Maybe only remove them from Python 3-only code.
We could also ask David, the buildbot owner, if he could update the Python used for hg. I'm pretty sure it's not the system Python since that's too old.
Why do we even have a Tiger buildbot in 2016? MacOS X Tiger 10.4 was released in 2005. It is 11 years old. Support for it from Apple ended 7 years ago in 2009.
It's been on the cusp of shutdown a few times now, but tweaks to maintain compatibility for the occasional issue always seem to materialize (thanks to Ned in many cases). To Ned's question, the slave is currently operating under 2.5.1 which I must have set up since Tiger originally came with 2.3. I'm sure I could bump that to 2.6+ to avoid the error if there's still value. It would probably be less work if the installer script could still use 2.5.1 if only because I'm not sure of what other dependencies it uses I might need to fix along with Python. Gregory, while the slave's value purely as a test platform is probably close to non-existent at this point, another contributor to its longevity is that it still builds daily DMG installers (the bolen-dmg build slave). So that had remained useful beyond plain testing. I'm not positive if it's still true, but for OSX it used to be better to use the oldest build platform you could as Apple wasn't very good about backwards compatibility of builds on newer versions. And originally Tiger was the only free machine I had. With that said, it's not clear anyone still references the daily DMGs any more, or gets much benefit from them. So I'm not wedded to keeping this operating, if instead it's finally reached the time for retirement. -- David
I've bumped the tiger default python to 2.7.12 and updated hg to use it (bumping to 3.9.1 in the process). It appears to have fixed the current touch and compile errors. I've restarted builds for the most recent commits. The need for a tiger slave is still up for debate, but can be separate from this issue. -- David