Hello Zooko, Zooko Wilcox-O'Hearn <[email protected]> writes:
> I would like to add a NixOS buildslave to our buildbot farm: > > http://allmydata.org/buildbot Can you give a pointer to info on how to setup and run a buildslave? > In a related note, how can I see the commands that the Hydra build > executed and the output that it got from the build? I would like to > understand how Hydra decides if the build has succeeded. Just in case you haven’t found them yet, there’s http://hydra.nixos.org/job/nixpkgs/trunk/tahoe/all and now http://hydra.nixos.org/job/nixpkgs/trunk/tahoelafs/all . Clicking on a build allows you to see the build script output (unless it’s been GC’d), but it doesn’t give you the exact commands that were run. The exact commands that were run derive from the Nix expression at [0], which uses ‘buildPythonPackage’ from [1], which in turn uses ‘stdenv’ as defined somewhere in [2] (depending on the system type). In addition, most of Tahoe’s direct dependencies are defined in [3]. [0] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/tools/networking/p2p/tahoe-lafs/default.nix [1] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/python-modules/generic/default.nix [2] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/build-support/stdenv [3] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/python-packages.nix Of course, if you were to analyze a build issue, I’d recommend starting with [0], then [3], and if you need to go further, then that means something’s really wrong. :-) > It would probably be good for it to decide that the build succeeded if > "python setup.py test" exits with exit code 0. :-) The “doCheck = false” in [0] means that tests aren’t run. I just checked what prompted me to disable them; here’s the end of the log: --8<---------------cut here---------------start------------->8--- running darcsver setup.py darcsver: Failure from attempt to find version tags with 'darcs changes', and src/allmydata/_version.py already exists, so leaving it alone. running develop Checking .pth file support in support/lib/python2.5/site-packages error: can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: [Errno 2] No such file or directory: 'support/lib/python2.5/site-packages/test-easy-install-15898.pth' The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: support/lib/python2.5/site-packages This directory does not currently exist. Please create it and try again, or choose a different installation directory (using the -d or --install-dir option). builder for `/nix/store/nglrgarfih0821rmcpwgymq4cf83cj5q-tahoe-lafs-1.5.0.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- It seems that ‘setuptools’ is trying to write something in a place it isn’t allowed to. Note that “python setup.py test” here is run before Tahoe-LAFS is installed. Is that a problem? Any other idea? (Ironically, it may be that build failure is related to the fact that NixOS builders follow POLA whereas ‘setuptools’ expects some form of ambient authority.) > Also there are a couple of details that ought to be cleared up: the > official name of the package is "tahoe-lafs", not "tahoe" (the name > had to be changed), OK (that wasn’t clear to me back then, and the tarball name doesn’t actually match.) > and the licence includes an at-your-option choice of either GPL > version 2 or greater or TGPPL version 1 or greater. See > http://allmydata.org/source/tahoe/trunk/docs/about.html for details > about that. That should be fixed now: https://svn.nixos.org/websvn/nix/nixpkgs/trunk/?rev=18059&sc=1 Thanks for your interest in NixOS. Ludo’. _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
