aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-07-21Fix random failures caused by CurlDownloader modifying a shared stringEelco Dolstra
2016-07-21NarInfo::NarInfo(): Ensure that we get a NAR size/hashEelco Dolstra
2016-07-21Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra
2016-07-21Store::queryMissing(): Use a thread poolEelco Dolstra
For one particular NixOS configuration, this cut the runtime of "nix-store -r --dry-run" from 6m51s to 3.4s. It also fixes a bug in the size calculation that was causing certain paths to be counted twice, e.g. before: these paths will be fetched (1249.98 MiB download, 2995.74 MiB unpacked): and after: these paths will be fetched (1219.56 MiB download, 2862.17 MiB unpacked):
2016-07-21Merge branch 'fix/remove-install' of https://github.com/siddharthist/nixEelco Dolstra
2016-07-21remove outdated install instructionsLangston Barrett
2016-07-21Shut up warningEelco Dolstra
2016-07-21Store::computeFSClosure(): Use thread poolEelco Dolstra
This speeds up queries against the binary cache.
2016-07-21Merge pull request #961 from OptiverTimAll/fix-spec-fileEelco Dolstra
Fix spec file
2016-07-21Grammar/spellingEelco Dolstra
2016-07-21NIX_REMOTE_SYSTEMS path must be absolute (#957)Matthias Beyer
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-21Capitalize NixEelco Dolstra
2016-07-20Add link to hacking section of the manual (#973)Marc Scholten
2016-07-20Dockerfile: specify NIX_PATHDomen Kožar
2016-07-20documentation: mention required openssl dependency (#974)Dmitry Kalinkin
Fixes: a6ca68a7 ("Require OpenSSL")
2016-07-13FdSink: Restore move constructor/assignmentShea Levy
2016-07-13Make Buffered{Source,Sink} move-safeShea Levy
2016-07-11Modernize AutoCloseFDShea Levy
2016-07-04Merge pull request #959 from aszlig/fix-docbook-xsl-nsEelco Dolstra
Don't hardcode docbook XSL namespace URL
2016-07-04Don't hardcode docbook XSL namespace URLaszlig
Docbook XSL got updated to version 1.79.1 in NixOS/nixpkgs@fb893a8 and we're still referring to the hardcoded previous version. So instead of just updating this to 1.79.1 we're going to use "current" in the hope that this won't happen again. I have tested this by building the manual under Nix(OS) but I haven't tested this in a non-Nix environment, so I'm not sure whether this could have implications. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @edolstra
2016-07-01nix.spec.in: RHEL 7/CentOS 7 supports systemd.Timothy Allen
2016-07-01nix.spec.in: Create /nix/store at install time.Timothy Allen
Since we now chmod /nix/store at install time, we don't need to do it in the post install script. We still chgrp in the post-install, because the nixbld group doesn't exist at install time.
2016-07-01nix.spec.in: RHEL 7/CentOS 7 do not require a group for each package.Timothy Allen
2016-07-01nix.spec.in: Build from the .tar.xz file.Timothy Allen
The Nix download page only mentions the .xz source tarball, so that's what people are likely to have available. This means that somebody who downloads a Nix source tarball can turn it directly into an RPM with `rpmbuild -ta nix-*.tar.xz`.
2016-07-01nix.spec.in: Use the default build group name.Timothy Allen
Nix expects build users to be in the "nixbld" group. You can change that in the config file, but `nix.spec` does not ship with a config file, so we should use the defaults.
2016-06-20Re-implement negative binary cache lookup cachingEelco Dolstra
2016-06-20Fix manual buildEelco Dolstra
http://hydra.nixos.org/build/36944270
2016-06-17Restore instructions on how to install a binary tarballEelco Dolstra
Looks like these were accidentally commented out in 9ffc4f4363d9596e2477645eab94e4140cd47c19.
2016-06-17Fix testEelco Dolstra
http://hydra.nixos.org/build/36631898
2016-06-16Merge pull request #939 from discordianfish/patch-1Eelco Dolstra
Remove nix-copy-closure reference note from nix-store docs
2016-06-15Remove nix-copy-closure reference note from nix-store docsJohannes 'fish' Ziemke
nix-copy-closure is not using nix-store directly anymore.
2016-06-09Run builds in a user namespaceEelco Dolstra
This way, all builds appear to have a uid/gid of 0 inside the chroot. In the future, this may allow using programs like systemd-nspawn inside builds, but that will require assigning a larger UID/GID map to the build. Issue #625.
2016-06-09Use O_CLOEXEC in most placesEelco Dolstra
2016-06-03Fix "creating statement: table ValidPaths has no column named ultimate"Eelco Dolstra
2016-06-03Support sandbox builds by non-root usersEelco Dolstra
This allows an unprivileged user to perform builds on a diverted store (i.e. where the physical store location differs from the logical location). Example: $ NIX_LOG_DIR=/tmp/log NIX_REMOTE="local?real=/tmp/store&state=/tmp/var" nix-build -E \ 'with import <nixpkgs> {}; runCommand "foo" { buildInputs = [procps nettools]; } "id; ps; ifconfig; echo $out > $out"' will do a build in the Nix store physically in /tmp/store but logically in /nix/store (and thus using substituters for the latter).
2016-06-03Consistent quotesEelco Dolstra
2016-06-03Don't call shared_from_this() from a destructorEelco Dolstra
2016-06-03Fix some more references to storeDirEelco Dolstra
2016-06-03Merge pull request #925 from abbradar/masterEelco Dolstra
Show both cycle ends
2016-06-03Show both cycle endsNikolay Amiantov
2016-06-03Fix narrowing conversion from int64_t to boolEelco Dolstra
http://hydra.nixos.org/build/36613774
2016-06-02nix run: Set a reasonable uid/gidEelco Dolstra
2016-06-02Make derivationFromPath work on diverted storesEelco Dolstra
2016-06-02nix run: Handle the case where the /nix/store mount point doesn't existEelco Dolstra
2016-06-02createTempDir(): Don't do a chown on LinuxEelco Dolstra
It's not needed and can cause problems in a user namespace.
2016-06-02nix run: Mount the Nix store in a private namespaceEelco Dolstra
This is a convenience command to allow users who are not privileged to create /nix/store to use Nix with regular binary caches. For example, $ NIX_REMOTE="local?state=$HOME/nix/var&real=/$HOME/nix/store" nix run firefox bashInteractive will download Firefox and bash from cache.nixos.org, then start a shell in which $HOME/nix/store is mounted on /nix/store.
2016-06-02Add basic "nix run" commandEelco Dolstra
2016-06-02LocalStore: Allow the physical and logical store directories to differEelco Dolstra
This is primarily to subsume the functionality of the copy-from-other-stores substituter. For example, in the NixOS installer, we can now do (assuming we're in the target chroot, and the Nix store of the installation CD is bind-mounted on /tmp/nix): $ nix-build ... --option substituters 'local?state=/tmp/nix/var&real=/tmp/nix/store' However, unlike copy-from-other-stores, this also allows write access to such a store. One application might be fetching substitutes for /nix/store in a situation where the user doesn't have sufficient privileges to create /nix, e.g.: $ NIX_REMOTE="local?state=/home/alice/nix/var&real=/home/alice/nix/store" nix-build ...
2016-06-02Respect build-use-substitutesEelco Dolstra
2016-06-02Allow setting the state directory as a store parameterEelco Dolstra
E.g. "local?store=/tmp/store&state=/tmp/var".