New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buildslave setup fixes #25
Buildslave setup fixes #25
Conversation
Actually, I think that the master/setup.py is wrong - entry_points is a setup argument, not just some random module-global variable. Is twisted really not in your python environment? |
Assigning to a local variable name |
Hi Dustin, sorry for not getting back earlier. Your fix does do the trick, so many thanks. So, sorry I just pushed a quick and dirty fix earlier without doing my homework. I saw it worked on master but not on the slave. In any case, once I finish polishing the new buildbot.spec file that I have been working on, I will push it to the mailing list for discussion. Aside from that, I think you might need to push out a new buildbot-slave tarball because the buildslave script is broken. I know you are very busy, is this part of the vision or do folks need to hang tight for a while till 0.8.3? Thanks, G |
It's OK - I'm famous for not doing my homework (a trait I'm trying to eliminate). I'm not sure it is broken - I think you just ran into some problems with setuptools. The workaround (using |
Ok, many thanks. I will sound out the list tomorrow morning. I had the problem on Rhel5.5 with setuptools 0.6c9 and with the same on Fedora 12. I will try with distribute 0.6.14 in the morning and see if that changes things. So thanks again for the wisdom and all your work. |
Hello again, Sorry for the long sequence of commands below but just trying to confirm by test. Thanks again, G I confirm with distribute 0.6.14 installed, I get this [gareth@localhost] ~/WORK/BuildBot_deps/buildbot-slave-0.8.2 $ less toto/usr/bin/buildslave EASY-INSTALL-ENTRY-SCRIPT: 'buildbot-slave==0.8.2','console_scripts','buildslave'requires = 'buildbot-slave==0.8.2' if name == 'main': Even in a virtualenv with distribute, I can confirm the same result. However, if I get even more brutal and rip out distribute and friends from the virtualenv, things work as expected with 0.8.2 [gareth@localhost] ~/py_virtualenv/slave_test [gareth@localhost] ~/py_virtualenv/slave_test [gareth@localhost] ~/py_virtualenv/slave_test (slave_test)[00:35 0.03]
(slave_test)[00:39 0.00] (slave_test)[00:39 0.00] (slave_test)[00:39 0.00] [gareth@localhost] ~/py_virtualenv/slave_test/buildbot-slave-0.8.2 from buildslave.scripts import runner If I now replace buildslave/setup.py with your updates version in a new virtual env with setuptools/distribute. I get the expected buildslave script file. I will still poll the list later this morning but on Fedora/Rhel python-setuptools is nearly always present so I would say go for an update, if feasible. |
By the way, if you indent the command lines four spaces, they look much better. I tried to edit the above, but it didn't work, so here's a formatted version: Hello again, Sorry for the long sequence of commands below but just trying to confirm by test. Thanks again, G I confirm with distribute 0.6.14 installed, I get this
Even in a virtualenv with distribute, I can confirm the same result. However, if I get even more brutal and rip out distribute and friends from the virtualenv, things work as expected with 0.8.2
If I now replace buildslave/setup.py with your updates version in a new virtual env with setuptools/distribute. I get the expected buildslave script file. I will still poll the list later this morning but on Fedora/Rhel python-setuptools is nearly always present so I would say go for an update, if feasible. |
From what I can tell from the above, you're seeing the script with In theory, anyway, that script should work just fine. It just takes care to pull Buildbot's dependencies into the "working set" first, munging You're right that if setuptools is not installed, then the So, in lieu of releasing 0.8.2p1, I'd prefer to patch this locally in the RPM. I assume that the exception in the first comment was from an RPM-installed buildbot-slave package? I know this is frustrating - I find the lack of a completely functional packaging system (despite having a half-dozen of them!) to be Python's greatest weakness. I don't know why the |
We determined in the mailing list that the problem is due to Buildbot expecting a Python package named 'Twisted', while RPM-based systems install Python packages named e.g., Twisted-Words, Twisted-Web, etc. On master, we've fixed this to use regular old Python scripts, instead of easy install entry points, which basically removes any dependency-checking from the script. That seems to be a functional solution, since it's been in place for master for a while now. I've only seen one problem with this, and a potentially related problem on Windows, so it's not quite reached my must-make-a-new-release threshold. However, 0.8.3 is coming early in December, so there's not long to wait. Thanks for hashing this out! |
Test BuildSlave configuration handles friendly slave names
Added ability to set a default timeout for all tests. Setting the default to 3 mins. Builds can override it using properties. Fixes issue buildbot/buildbot#25.
Caught this while playing with rpm and buildbot-slave package. Needs to be applied and released otherwise folks are going to get a big surprise when they run the /usr/bin/buildslave command.