aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/Makefile.am
AgeCommit message (Collapse)Author
2014-02-01Remove AutomakefilesEelco Dolstra
2013-08-07Run the daemon worker on the same CPU as the clientEelco Dolstra
On a system with multiple CPUs, running Nix operations through the daemon is significantly slower than "direct" mode: $ NIX_REMOTE= nix-instantiate '<nixos>' -A system real 0m0.974s user 0m0.875s sys 0m0.088s $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system real 0m2.118s user 0m1.463s sys 0m0.218s The main reason seems to be that the client and the worker get moved to a different CPU after every call to the worker. This patch adds a hack to lock them to the same CPU. With this, the overhead of going through the daemon is very small: $ NIX_REMOTE=daemon nix-instantiate '<nixos>' -A system real 0m1.074s user 0m0.809s sys 0m0.098s
2013-01-03Clear any immutable bits in the Nix storeEelco Dolstra
Doing this once makes subsequent operations like garbage collecting more efficient since we don't have to call makeMutable() first.
2012-03-18Drop the externals directoryEelco Dolstra
Nix now requires SQLite and bzip2 to be pre-installed. SQLite is detected using pkg-config. We required DBD::SQLite anyway, so depending on SQLite is not a big problem. The --with-bzip2, --with-openssl and --with-sqlite flags are gone.
2012-02-15On Linux, make the Nix store really read-only by using the immutable bitEelco Dolstra
I was bitten one time too many by Python modifying the Nix store by creating *.pyc files when run as root. On Linux, we can prevent this by setting the immutable bit on files and directories (as in ‘chattr +i’). This isn't supported by all filesystems, so it's not an error if setting the bit fails. The immutable bit is cleared by the garbage collector before deleting a path. The only tricky aspect is in optimiseStore(), since it's forbidden to create hard links to an immutable file. Thus optimiseStore() temporarily clears the immutable bit before creating the link.
2010-05-12* Sync with the trunk.Eelco Dolstra
2010-04-19* Don't use the ATerm library for parsing/printing .drv files.Eelco Dolstra
2010-04-14* Remove more obsolete code.Eelco Dolstra
2010-03-02* When using the included sqlite/aterm libraries, build withEelco Dolstra
--enable-shared. * In libutil/libstore/libexpr etc., link against sqlite and aterm. * Some more header file hygiene.
2006-11-30* Skeleton of the privileged worker program.Eelco Dolstra
* Some refactoring: put the NAR archive integer/string serialisation code in a separate file so it can be reused by the worker protocol implementation.
2006-09-04* Install header files in /nix/include/nix.Eelco Dolstra
2006-09-04* Use a proper namespace.Eelco Dolstra
* Optimise header file usage a bit. * Compile the parser as C++.
2006-09-04* Store the Nix libraries in ${libdir}/nix instead of ${libdir}.Eelco Dolstra
2006-08-03* `nix-instantiate --print-args': produce XML output so that theEelco Dolstra
result can be used more easily by scripts.
2006-05-12* Support for srcdir != builddir (NIX-41).Eelco Dolstra
2006-05-04* Use the new ATermMap.Eelco Dolstra
2006-02-13* Optional switch "--with-openssl=<PATH>" to use OpenSSL'sEelco Dolstra
implementations of MD5, SHA-1 and SHA-256. The main benefit is that we get assembler-optimised implementations of MD5 and SHA-1 (though not SHA-256 (at least on x86), unfortunately). OpenSSL's SHA-1 implementation on Intel is twice as fast as ours.
2005-07-22* Build dynamic libraries.Eelco Dolstra
2005-01-14* Add SHA-256.Eelco Dolstra
* Tests for the various hashes.
2005-01-13* Added SHA-1 support. `nix-hash' now has an option `--type sha1' toEelco Dolstra
select SHA-1 hashing.
2004-10-29* Drop ATmake / ATMatcher also in handling store expressions.Eelco Dolstra
2004-04-23* Pass SYSTEM through config.h, and allow spaces.Eelco Dolstra
2004-02-16* Allow linking against an external Berkeley DB / ATerm library.Eelco Dolstra
2003-12-01* Fix `make check'.Eelco Dolstra
2003-12-01* Use a system name that does not include the OS manufacturer (i.e.,Eelco Dolstra
"i686-linux" instead of "i686-suse-linux").
2003-11-25* More `make dist' fixes.Eelco Dolstra
2003-11-18* Source tree refactoring.Eelco Dolstra