Staging environment for Lix release engineering scripts
Find a file
Matthias Beyer 2ec9d2fb02 NIX_REMOTE_SYSTEMS path must be absolute (#957)
Once upon a time, I wrote my bachelors thesis about functional
deployment mechanisms.

I had to evaluate several szenarios where package management and
deployment were relevant. One szenario was to do distributed builds
over several machines.

I told myself: Weee, nix can do this! And with nix, this is actually
save, as you do not have side effects when building!

So I started. I use a cloud to set up four virtual machines where I
wanted to do the build. A fifth machine was used as master to distribute
the builds. All was good.

I created the necessary SSH keys, made sure every machine was reachable
by the master and configured the build in my remotes.conf.

When I started to try to build weechat from source, the build failed. It
failed, telling me

    error: unable to start any build; either increase ‘--max-jobs’ or enable distributed builds

And I started to dig around. I digged long and good. But I wasn't able
to find the issue.

I double and triple checked my environment variables, my settings, the
SSH key and everything.

I reached out to fellow Nixers by asking on the nixos IRC channel. And I
got help. But we weren't able to find the issue, either.

So I became frustrated. I re-did all the environment variables.

And suddenly,... it worked! What did I change? Well... I made the
environment variables which contained pathes contain absolute pathes
rather than relatives.

And because I like to share my knowledge, this should be put into the
documentation, so others do not bang their heads against the wall
because something is not documented somewhere.
2016-07-21 11:19:21 +02:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs <nix/buildenv.nix>: Don't substitute 2016-01-18 15:06:36 +01:00
doc/manual NIX_REMOTE_SYSTEMS path must be absolute (#957) 2016-07-21 11:19:21 +02:00
misc Dockerfile: specify NIX_PATH 2016-07-20 16:58:01 +02:00
mk Don't pass "--no-copy-dt-needed-entries" option to linker on FreeBSD. 2015-10-06 22:28:30 +02:00
perl Make the store directory a member variable of Store 2016-06-01 16:24:17 +02:00
scripts LocalStore: Allow the physical and logical store directories to differ 2016-06-02 16:02:48 +02:00
src FdSink: Restore move constructor/assignment 2016-07-13 06:27:41 -04:00
tests Fix test 2016-06-17 15:26:10 +02:00
.dir-locals.el Add .dir-locals.el for Emacs 2016-01-28 11:12:04 +01:00
.gitignore LocalStore: Allow the physical and logical store directories to differ 2016-06-02 16:02:48 +02:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac Use O_CLOEXEC in most places 2016-06-09 16:37:08 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
dev-shell Add 32bit linux clause to dev-shell 2016-03-22 11:38:56 +00:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
local.mk Don't depend on git when generating source tarball 2015-10-15 11:53:45 -07:00
Makefile Make the store directory a member variable of Store 2016-06-01 16:24:17 +02:00
Makefile.config.in use $(LIBLZMA_LIBS) instead of -llzma 2016-05-31 03:20:11 -04:00
nix.spec.in Fix RPM build 2016-03-15 12:15:19 +01:00
README.md Capitalize Nix 2016-07-21 11:08:13 +02:00
release.nix Fix OOM in the installer test 2016-05-31 15:16:21 +02:00
version Bump 2016-01-20 16:34:37 +01:00

Nix, the purely functional package manager

Nix is a new take on package management that is fairly unique. Because of it's purity aspects, a lot of issues found in traditional package managers don't appear with Nix.

To find out more about the tool, usage and installation instructions, please read the manual, which is available on the Nix website at http://nixos.org/nix/manual.

Contributing

Take a look at the Hacking Section of the manual. It helps you to get started with building Nix from source.

License

Nix is released under the LGPL v2.1

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.OpenSSL.org/).