about summary refs log tree commit diff
path: root/src/libutil
AgeCommit message (Collapse)AuthorFilesLines
2011-12-02 * Move parseHash16or32 into libutil, and use in nix-hash.Eelco Dolstra2-0/+19
2011-02-09 * Sync with the trunk.Eelco Dolstra1-2/+0
2011-01-14 Remove useless <config.h> inclusion from public header.Ludovic Courtès1-2/+0
2010-12-13 * nix-instantiate: return exit status 100 to denote a permanent buildEelco Dolstra2-3/+5
failure. The build hook can use this to distinguish between transient and permanent failures on the remote side.
2010-12-13 * createDirs(path): if path already exists, make sure it's aEelco Dolstra2-20/+26
directory. * Provide a C++ wrapper around lstat().
2010-11-16 * Store the size of a store path in the database (to be precise, theEelco Dolstra2-6/+11
size of the NAR serialisation of the path, i.e., `nix-store --dump PATH'). This is useful for Hydra.
2010-11-16 * Sync with the trunk.Eelco Dolstra1-0/+2
2010-10-04 * Make sure that config.h is included before the system headers,Eelco Dolstra1-0/+2
because it defines _FILE_OFFSET_BITS. Without this, on OpenSolaris the system headers define it to be 32, and then the 32-bit stat() ends up being called with a 64-bit "struct stat", or vice versa. This also ensures that we get 64-bit file sizes everywhere. * Remove the redundant call to stat() in parseExprFromFile(). The file cannot be a symlink because that's the exit condition of the loop before.
2010-10-04 * Sync with the trunk.Eelco Dolstra1-1/+10
2010-10-04 * In printMsg(), ignore failing writes to stderr if we're in anEelco Dolstra1-1/+10
exception handler, otherwise throw an exception. We need to ignore write errors in exception handlers to ensure that cleanup code runs to completion if the other side of stderr has been closed unexpectedly.
2010-08-30 * When using the build hook, distinguish between the stderr of theEelco Dolstra1-1/+1
hook script proper, and the stdout/stderr of the builder. Only the latter should be saved in /nix/var/log/nix/drvs. * Allow the verbosity to be set through an option. * Added a flag --quiet to lower the verbosity level.
2010-08-27 * Experimental feature: allow a derivation to tell the build hook thatEelco Dolstra2-0/+16
it requires a certain feature on the build machine, e.g. requiredSystemFeatures = [ "kvm" ]; We need this in Hydra to make sure that builds that require KVM support are forwarded to machines that have KVM support. Probably this should also be enforced for local builds.
2010-08-04 * Sync with the trunk.Eelco Dolstra1-0/+1
2010-06-24 src/libutil/util.cc: include <limit.h> to ensure that PATH_MAX is definedPeter Simons1-0/+1
2010-05-12 * Sync with the trunk.Eelco Dolstra7-651/+57
2010-05-07 * Sync with the trunk.Eelco Dolstra1-0/+1
2010-05-04 * Revert r15436. This was a workaround for a bug in btrfs which seemsEelco Dolstra2-9/+0
to have been fixed now.
2010-04-20 * Sync with the trunk.Eelco Dolstra2-4/+7
2010-04-19 * Don't use the ATerm library for parsing/printing .drv files.Eelco Dolstra5-136/+56
2010-04-14 * Remove more obsolete code.Eelco Dolstra3-463/+2
2010-04-12 * Remove some obsolete functions.Eelco Dolstra2-52/+0
2010-03-31 Escape `>' signs in the XML output.Ludovic Courtès1-0/+1
* src/libutil/xml-writer.cc (nix::XMLWriter::writeAttrs): Escape `>'.
2010-03-23 (no commit message)Eelco Dolstra1-1/+1
2010-03-19 * Clean up error messages in killUser().Eelco Dolstra1-4/+6
2010-03-09 * In `nix-store --export', abort if the contents of a path hasEelco Dolstra2-1/+9
changed. This prevents corrupt paths from spreading to other machines. Note that checking the hash is cheap because we're hashing anyway (because of the --sign feature).
2010-03-04 * Synced with the trunk.Eelco Dolstra1-2/+0
2010-03-02 * When using the included sqlite/aterm libraries, build withEelco Dolstra2-2/+3
--enable-shared. * In libutil/libstore/libexpr etc., link against sqlite and aterm. * Some more header file hygiene.
2010-02-24 * Don't use fdatasync since it doesn't work on Snow Leopard.Eelco Dolstra2-7/+1
* Don't refer to config.h in util.hh, because config.h is not installed (http://hydra.nixos.org/build/303053).
2010-02-24 * Remove the fdatasync check since it's no longer needed.Eelco Dolstra2-7/+2
2010-02-10 Don't rely on `PATH_MAX' on GNU.Ludovic Courtès1-0/+10
2010-02-02 * Remove most Cygwin-specific code. Cygwin 1.7 implements advisoryEelco Dolstra1-12/+0
POSIX locks, and simulates Unix-style file deletion semantics sufficiently. Note that this means that Nix won't work on Cygwin 1.5 anymore.
2010-02-02 * If fdatasync() isn't available, use fsync().Eelco Dolstra1-0/+4
2010-01-29 * Added an option "fsync-metadata" to fsync() changes toEelco Dolstra2-16/+4
/nix/var/nix/db. * Removed the function writeStringToFile since it does (almost) the same thing as writeFile.
2009-12-17 * Include config.h before the C library headers, because it definesEelco Dolstra2-2/+4
_FILE_OFFSET_BITS=64. Without it, functions like stat() fail on large file sizes. This happened with a Nix store on squashfs: $ nix-store --dump /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds > /dev/null error: getting attributes of path `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds': Value too large for defined data type $ stat /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds File: `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds' Size: 0 Blocks: 36028797018963968 IO Block: 1024 regular empty file (This is a bug in squashfs or mksquashfs, but it shouldn't cause Nix to fail.)
2009-12-16 * Build correctly against newer ATerm releases. Fixes "error: 'union'Eelco Dolstra1-2/+1
tag used in naming 'struct _ATerm'".
2009-11-24 * Grrr.Eelco Dolstra1-1/+1
2009-11-24 * GCC 4.4 is stricter about the EOF macroEelco Dolstra1-0/+2
(http://hydra.nixos.org/build/156340).
2009-11-24 * Templatise getIntArg / string2Int.Eelco Dolstra2-18/+7
2009-11-24 * In the garbage collector, don't count files with a link count > 1 inEelco Dolstra1-2/+4
the "bytes/blocks freed" statistics.
2009-09-30 * OpenSolaris compatibility.Eelco Dolstra1-1/+6
2009-06-30 * Don't show trace information by default (`--show-trace' to enable).Eelco Dolstra2-1/+3
NixOS evaluation errors in particular look intimidating and generally aren't very useful. Ideally the builtins.throw messages should be self-contained.
2009-05-04 Add an ftruncate call paired with fallocate to play safe with some FSes ↵Michael Raskin2-0/+9
(namely, BtrFS fallocate sets file size to allocated size, i.e. multiple of block size)
2009-04-16 * Fix a few "comparison is always false/true due to limited range ofEelco Dolstra1-3/+3
data type" warnings on 64-bit platforms. The one in parser.y is likely to be a real bug.
2009-03-28 * Simplify communication with the hook a bit (don't use fileEelco Dolstra2-0/+33
descriptors 3/4, just use stdin/stderr).
2009-03-22 * NAR archives: handle files larger than 2^32 bytes. Previously itEelco Dolstra4-13/+40
would just silently store only (fileSize % 2^32) bytes. * Use posix_fallocate if available when unpacking archives. * Provide a better error message when trying to unpack something that isn't a NAR archive.
2008-12-11 * Open the connection to the daemon lazily (on demand) so thatEelco Dolstra1-2/+2
read-only operations (like nix-env -qa) work properly when the daemon isn't running.
2008-12-04 * Don't ignore errors from writing to stderr. That way, whenEelco Dolstra1-5/+1
nix-store -r (or some other operation) is started via ssh, it will at least have a chance of terminating quickly when the connection is killed. Right now it just runs to completion, because it never notices that stderr is no longer connected to anything. Of course it would be better if sshd would just send a SIGHUP, but it doesn't (https://bugzilla.mindrot.org/show_bug.cgi?id=396).
2008-12-03 * A simple API for parsing NAR archives.Eelco Dolstra3-26/+80
2008-12-03 * Pass HashType values instead of strings.Eelco Dolstra2-0/+12
2008-09-17 * Garbage collector: added an option `--use-atime' to delete paths inEelco Dolstra1-0/+23
order of ascending last access time. This is useful in conjunction with --max-freed or --max-links to prefer deleting non-recently used garbage, which is good (especially in the build farm) since garbage may become live again. The code could easily be modified to accept other criteria for ordering garbage by changing the comparison operator used by the priority queue in collectGarbage().