about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2018-08-30 nix: Remove the -h flagEelco Dolstra1-1/+0
2018-08-30 Remove boost from the closureEelco Dolstra1-0/+8
This reduces the size of the closure by 45 MiB.
2018-08-30 Update release notesEelco Dolstra1-3/+7
2018-08-30 upload-release.pl: Handle prerelease versionsEelco Dolstra1-0/+2
2018-08-29 Merge pull request #2336 from ivan/repl-trailing-spacesEelco Dolstra1-1/+6
repl: don't add trailing spaces to history lines
2018-08-29 nix.conf: clarify -j0 doesn't affect preferLocalBuildDomen Kožar1-1/+3
2018-08-29 Merge pull request #2378 from aszlig/int64Eelco Dolstra2-3/+7
libexpr: Use int64_t for NixInt
2018-08-29 nix.conf: mention -j0 is usefulDomen Kožar1-1/+2
2018-08-29 libexpr: Use int64_t for NixIntaszlig2-3/+7
Using a 64bit integer on 32bit systems will come with a bit of a performance overhead, but given that Nix doesn't use a lot of integers compared to other types, I think the overhead is negligible also considering that 32bit systems are in decline. The biggest advantage however is that when we use a consistent integer size across all platforms it's less likely that we miss things that we break due to that. One example would be: https://github.com/NixOS/nixpkgs/pull/44233 On Hydra it will evaluate, because the evaluator runs on a 64bit machine, but when evaluating the same on a 32bit machine it will fail, so using 64bit integers should make that consistent. While the change of the type in value.hh is rather easy to do, we have a few more options available for doing the conversion in the lexer: * Via an #ifdef on the architecture and using strtol() or strtoll() accordingly depending on which architecture we are. For the #ifdef we would need another AX_COMPILE_CHECK_SIZEOF in configure.ac. * Using istringstream, which would involve copying the value. * As we're already using boost, lexical_cast might be a good idea. Spoiler: I went for the latter, first of all because lexical_cast does have an overload for const char* and second of all, because it doesn't involve copying around the input string. Also, because istringstream seems to come with a bigger overhead than boost::lexical_cast: https://www.boost.org/doc/libs/release/doc/html/boost_lexical_cast/performance.html The first method (still using strtol/strtoll) also wasn't something I pursued further, because it is also locale-aware which I doubt is what we want, given that the regex for int is [0-9]+. Signed-off-by: aszlig <aszlig@nix.build> Fixes: #2339
2018-08-23 Revert "Fix parser/lexer generation with parallel make"Eelco Dolstra1-6/+2
This reverts commit d277442df53a01343ba7c1df0bbd2a294058dcba. Make sucks.
2018-08-22 Merge pull request #2368 from dezgeg/drop-dead-codeEelco Dolstra4-16/+1
Drop dead code
2018-08-21 Disable the Ubuntu 17.10 buildEelco Dolstra1-2/+2
Ubuntu 17.10 doesn't have libbrotli. https://hydra.nixos.org/build/79867741
2018-08-21 Improve 'coroutine has finished' error messageEelco Dolstra3-7/+16
2018-08-21 Fix warnings in compression.ccEelco Dolstra1-7/+5
2018-08-21 Fix another 'coroutine has finished' during decompressionEelco Dolstra1-1/+1
https://hydra.nixos.org/build/79867739
2018-08-20 Drop all references to NIX_INDENT_MAKETuomas Tynkkynen2-5/+0
Dead code since https://github.com/NixOS/nixpkgs/commit/6669a3b47711dc967df0ea8ff93fa9857aad015d
2018-08-20 Drop all references to --disable-init-stateTuomas Tynkkynen3-11/+1
It's all dead code since 2014 (commit 0c6d62cf27b3b2).
2018-08-19 nix run: Restore CPU affinityEelco Dolstra1-0/+3
Fixes #2359.
2018-08-19 FIx floating point evaluationEelco Dolstra3-0/+16
Fixes #2361.
2018-08-17 Fix parser/lexer generation with parallel makeEelco Dolstra1-2/+6
Fun fact: rules with multiple targets don't work properly with 'make -j'. For example, a rule like a b: c touch a b is equivalent to a: c touch a b b: c touch a b so with 'make -j', the 'touch' command will be run twice. See e.g. https://stackoverflow.com/questions/2973445/gnu-makefile-rule-generating-a-few-targets-from-a-single-source-file.
2018-08-13 Merge pull request #2351 from volth/update-configEelco Dolstra2-1473/+1454
update config/config.{sub,guess}
2018-08-13 Merge pull request #2350 from symphorien/xattr-cifsEelco Dolstra1-1/+1
ignore when listxattr fails with ENODATA
2018-08-13 update config/config.{sub,guess}volth2-1473/+1454
Just curl 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' > config/config.sub curl 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' > config/config.guess Those files are 5 years old and failed to guess new archs ("ppc64-linux")
2018-08-13 ignore when listxattr fails with ENODATASymphorien Gibol1-1/+1
This happens on CIFS and means the remote filesystem has no extended attributes.
2018-08-10 Slightly questionable workaround for #2342Eelco Dolstra1-1/+1
2018-08-09 S3BinaryCacheStore: Share TransferManagerEelco Dolstra1-18/+24
TransferManager allocates a lot of memory (50 MiB by default), and it might leak but I'm not sure about that. In any case it was causing OOMs in hydra-queue-runner. So allocate only one TransferManager per S3BinaryCacheStore. Hopefully fixes https://github.com/NixOS/hydra/issues/586.
2018-08-09 nix run: Respect propagated-user-env-packagesEelco Dolstra1-2/+21
Also, add $path/bin to $PATH even if it doesn't exist. This makes 'man' work properly (since it looks for ../share/man relative to $PATH entries).
2018-08-08 S3BinaryCacheStore: Don't use the transfer status callbackEelco Dolstra1-24/+13
This callback is executed on a different thread, so exceptions thrown from the callback are not caught: Aug 08 16:25:48 chef hydra-queue-runner[11967]: terminate called after throwing an instance of 'nix::Error' Aug 08 16:25:48 chef hydra-queue-runner[11967]: what(): AWS error: failed to upload 's3://nix-cache/19dbddlfb0vp68g68y19p9fswrgl0bg7.ls' Therefore, just check the transfer status after it completes. Also include the S3 error message in the exception.
2018-08-07 repl: don't add trailing spaces to history linesIvan Kozik1-1/+6
2018-08-06 Merge pull request #2334 from dtzWill/fix/revert-progress-bar-refresh-for-nowEelco Dolstra1-3/+2
Revert "progress-bar: re-draw last update if nothing new for 1sec."
2018-08-06 DohEelco Dolstra1-1/+1
2018-08-06 Fix setting Content-Encoding in S3 uploadsEelco Dolstra2-8/+11
Fixes https://github.com/NixOS/nix/issues/2333 and https://github.com/NixOS/nixpkgs/issues/44337.
2018-08-06 Fix Brotli decompression in 'nix log'Eelco Dolstra7-381/+309
This didn't work anymore since decompression was only done in the non-coroutine case. Decompressors are now sinks, just like compressors. Also fixed a bug in bzip2 API handling (we have to handle BZ_RUN_OK rather than BZ_OK), which we didn't notice because there was a missing 'throw': if (ret != BZ_OK) CompressionError("error while compressing bzip2 file");
2018-08-06 Require libbrotliEelco Dolstra5-65/+3
2018-08-06 Fix reporting of HTTP body size when a result callback is usedEelco Dolstra2-1/+5
2018-08-03 Make adding paths via nix-store --serve run in constant memoryEelco Dolstra4-15/+70
It adds a new operation, cmdAddToStoreNar, that does the same thing as the corresponding nix-daemon operation, i.e. call addToStore(). This replaces cmdImportPaths, which has the major issue that it sends the NAR first and the store path second, thus requiring us to store the incoming NAR either in memory or on disk until we decide what to do with it. For example, this reduces the memory usage of $ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79 from 267 MiB to 12 MiB. Probably fixes #1988.
2018-08-03 Add a test for LegacySSHStore that doesn't require a VMEelco Dolstra2-1/+22
2018-08-03 cmdDumpStorePath: Support chroot storesEelco Dolstra1-1/+1
2018-08-03 Support escaping in store URIsEelco Dolstra1-2/+18
2018-08-03 SSHMaster: Bypass SSH when connecting to localhostEelco Dolstra2-7/+16
This is primarily useful for testing since it removes the need to have SSH working.
2018-08-03 LegacySSHStore: Add remote-store optionEelco Dolstra1-1/+4
This is primarily useful for testing, e.g. $ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' ...
2018-08-03 Merge pull request #2327 from NixOS/grahamc-patch-1Eelco Dolstra1-0/+6
2.1 release notes: Add note about s3-compatible stores
2018-08-03 2.1 release notes: Add note about s3-compatible storesGraham Christensen1-0/+6
2018-08-03 Add Nix 2.1 release notesEelco Dolstra2-0/+48
2018-08-03 Merge pull request #2326 from aszlig/fix-symlink-leakEelco Dolstra2-4/+21
Fix symlink leak in restricted eval mode
2018-08-03 Merge pull request #2323 from samueldr/feature/selective-impurityEelco Dolstra3-1/+21
Allows selectively adding environment variables to pure shells.
2018-08-03 Fix symlink leak in restricted eval modeaszlig2-4/+21
In EvalState::checkSourcePath, the path is checked against the list of allowed paths first and later it's checked again *after* resolving symlinks. The resolving of the symlinks is done via canonPath, which also strips out "../" and "./". However after the canonicalisation the error message pointing out that the path is not allowed prints the symlink target in the error message. Even if we'd suppress the message, symlink targets could still be leaked if the symlink target doesn't exist (in this case the error is thrown in canonPath). So instead, we now do canonPath() without symlink resolving first before even checking against the list of allowed paths and then later do the symlink resolving and checking the allowed paths again. The first call to canonPath() should get rid of all the "../" and "./", so in theory the only way to leak a symlink if the attacker is able to put a symlink in one of the paths allowed by restricted evaluation mode. For the latter I don't think this is part of the threat model, because if the attacker can write to that path, the attack vector is even larger. Signed-off-by: aszlig <aszlig@nix.build>
2018-08-02 Allows selectively adding environment variables to pure shells.Samuel Dionne-Riel3-1/+21
Includes documentation and test.
2018-08-02 s3 binary cache: support specifying an endpointGraham Christensen5-8/+33
Works for uploading and not downloading.
2018-08-02 Merge pull request #2322 from samueldr/fix/removes-unused-variableEelco Dolstra1-1/+0
Removes unused variable from `nix-build/nix-shell`