Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-11-16 | * Don't decompress the manifests in /nix/var/nix/manifest. This saves | Eelco Dolstra | 2 | -12/+9 | |
disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower. | |||||
2011-11-16 | * Remove obsolete line. | Eelco Dolstra | 1 | -1/+0 | |
2011-11-16 | * Re-use prepared statements across insertions into the manifest cache | Eelco Dolstra | 1 | -8/+12 | |
DB. This speeds up creating the cache from 16.1s to 7.9s on my system. | |||||
2011-11-07 | * Boldly make SQLite WAL mode the default again. Hopefully the | Eelco Dolstra | 2 | -5/+4 | |
intermittent problems are gone by now. WAL mode is preferrable because it does way fewer fsyncs. | |||||
2011-11-05 | * Fix race condition in the test. | Eelco Dolstra | 1 | -0/+1 | |
2011-11-05 | * Fix the broken reference to bunzip2 in the channel unpack script. | Eelco Dolstra | 2 | -2/+2 | |
2011-11-03 | (no commit message) | Eelco Dolstra | 1 | -1/+1 | |
2011-11-03 | * The Nix configuration file is usually /etc/nix/nix.conf. | Eelco Dolstra | 1 | -1/+1 | |
2011-11-02 | * Fix permission on /nix/store in the manual for multi-user installs | Eelco Dolstra | 1 | -1/+1 | |
(reported by Silvio Frischknecht). | |||||
2011-10-27 | * In printValueAsXML, handle the case where a "type" attribute is not | Eelco Dolstra | 1 | -3/+6 | |
a string. This happens in the NixOS option system. * Remove a bogus comparison of a unsigned integer with -1. | |||||
2011-10-19 | * Print a consistent message. | Eelco Dolstra | 1 | -1/+1 | |
2011-10-18 | * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’. | Eelco Dolstra | 1 | -10/+23 | |
2011-10-11 | * Use the Store API bindings in nix-copy-closure. | Eelco Dolstra | 4 | -39/+36 | |
2011-10-11 | * Add a test for nix-copy-closure. | Eelco Dolstra | 2 | -0/+57 | |
2011-10-11 | * Move the remote building test from the NixOS tree to the Nix tree. | Eelco Dolstra | 2 | -2/+104 | |
2011-10-11 | * Move SSH.pm. | Eelco Dolstra | 5 | -11/+8 | |
2011-10-11 | * Work around a race condition starting the Nix daemon. | Eelco Dolstra | 1 | -1/+8 | |
2011-10-11 | * Set svn:ignore. | Eelco Dolstra | 0 | -0/+0 | |
2011-10-11 | * Distribute GeneratePatches.pm. | Eelco Dolstra | 1 | -4/+6 | |
2011-10-10 | * Set the executable bit on scripts. | Eelco Dolstra | 14 | -0/+3 | |
2011-10-10 | * Refactoring: remove unnecessary variables from the tests. | Eelco Dolstra | 33 | -235/+220 | |
2011-10-10 | (no commit message) | Eelco Dolstra | 1 | -2/+0 | |
2011-10-10 | * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm under | Eelco Dolstra | 20 | -147/+108 | |
the Nix:: namespace. | |||||
2011-10-10 | * Hopefully perl-devel contains the required headers (untested). | Eelco Dolstra | 2 | -1/+2 | |
2011-10-10 | * Include the Nix Perl bindings in Nix itself. This will allow the | Eelco Dolstra | 6 | -1/+186 | |
bindings to be used in Nix's own Perl scripts. The only downside is that Perl XS and Automake/libtool don't really like each other, so building is a bit tricky. | |||||
2011-09-17 | * Don't assume that we want a shared Nix store. | Eelco Dolstra | 1 | -1/+1 | |
2011-09-12 | * Ouch. A store upgrade could cause a substituter to be triggered, | Eelco Dolstra | 3 | -5/+6 | |
causing a deadlock. | |||||
2011-09-06 | bootstrap: Simplify & make more robust. | Ludovic Courtès | 1 | -5/+1 | |
2011-09-06 | * Added a command ‘nix-store --verify-paths PATHS’ to check whether | Eelco Dolstra | 5 | -7/+39 | |
the contents of any of the given store paths have been modified. E.g. $ nix-store --verify-path $(nix-store -qR /var/run/current-system) path `/nix/store/m2smyiwbxidlprfxfz4rjlvz2c3mg58y-etc' was modified! expected hash `fc87e271c5fdf179b47939b08ad13440493805584b35e3014109d04d8436e7b8', got `20f1a47281b3c0cbe299ce47ad5ca7340b20ab34246426915fce0ee9116483aa' All paths are checked; the exit code is 1 if any path has been modified, 0 otherwise. | |||||
2011-09-06 | * Add some -f flags, never hurts. | Eelco Dolstra | 1 | -4/+4 | |
2011-08-31 | * Eliminate all uses of the global variable ‘store’ from libstore. | Eelco Dolstra | 15 | -89/+95 | |
This should also fix: nix-instantiate: ./../boost/shared_ptr.hpp:254: T* boost::shared_ptr<T>::operator->() const [with T = nix::StoreAPI]: Assertion `px != 0' failed. which was caused by hashDerivationModulo() calling the ‘store’ object (during store upgrades) before openStore() assigned it. | |||||
2011-08-27 | * Update the cleanup script. | Eelco Dolstra | 3 | -8/+12 | |
2011-08-17 | * Use last_insert_id instead of sqlite_last_insert_rowid, which you're | Eelco Dolstra | 1 | -1/+1 | |
not really supposed to use according to the DBD::SQLite docs, and fails on some systems (e.g. http://hydra.nixos.org/build/1246662). | |||||
2011-08-08 | * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it. | Eelco Dolstra | 1 | -2/+2 | |
2011-08-08 | * Add perl-DBD-SQLite as a dependency of the RPM builds. | Eelco Dolstra | 2 | -12/+14 | |
2011-08-08 | * Add DBD-SQLite as a dependency to the Debian/Ubuntu builds. | Eelco Dolstra | 1 | -25/+23 | |
* Drop some old Fedora/Debian/Ubuntu releases. | |||||
2011-08-06 | * Cache the result of file evaluation (i.e, memoize evalFile()). This | Eelco Dolstra | 2 | -11/+22 | |
prevents files from being evaluated and stored as values multiple times. For instance, evaluation of the ‘system’ attribute in NixOS causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times. Caching gives a modest speedup and a decent memory footprint reduction (e.g., from 1.44s to 1.28s, and from 81 MiB to 59 MiB with GC_INITIAL_HEAP_SIZE=100000 on my system). | |||||
2011-08-06 | * Handle <path> syntax. | Eelco Dolstra | 1 | -0/+2 | |
2011-08-06 | * Handle the case where the search path element is a regular file. | Eelco Dolstra | 1 | -1/+2 | |
2011-08-06 | * Remove a debug statement. | Eelco Dolstra | 1 | -1/+0 | |
2011-08-06 | * Add the Nix corepkgs to the end of the search path. This makes it | Eelco Dolstra | 3 | -3/+5 | |
possible for other Nix expressions to use corepkgs (mostly useful for the buildenv function). | |||||
2011-08-06 | * Allow redirections in search path entries. E.g. if you have a | Eelco Dolstra | 5 | -9/+28 | |
directory /home/eelco/src/stdenv-updates that you want to use as the directory for import such as with (import <nixpkgs> { }); then you can say $ nix-build -I nixpkgs=/home/eelco/src/stdenv-updates | |||||
2011-08-06 | * Add lang/dir* to the distribution. | Eelco Dolstra | 1 | -1/+2 | |
2011-08-06 | * Add a Nix expression search path feature. Paths between angle | Eelco Dolstra | 24 | -9/+98 | |
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown. | |||||
2011-08-06 | * Refactoring: move parseExprFromFile() and parseExprFromString() into | Eelco Dolstra | 10 | -52/+37 | |
the EvalState class. | |||||
2011-07-20 | * Don't allow derivations with fixed and non-fixed outputs. | Eelco Dolstra | 1 | -43/+38 | |
2011-07-20 | * Fix a huuuuge security hole in the Nix daemon. It didn't check that | Eelco Dolstra | 9 | -81/+180 | |
derivations added to the store by clients have "correct" output paths (meaning that the output paths are computed by hashing the derivation according to a certain algorithm). This means that a malicious user could craft a special .drv file to build *any* desired path in the store with any desired contents (so long as the path doesn't already exist). Then the attacker just needs to wait for a victim to come along and install the compromised path. For instance, if Alice (the attacker) knows that the latest Firefox derivation in Nixpkgs produces the path /nix/store/1a5nyfd4ajxbyy97r1fslhgrv70gj8a7-firefox-5.0.1 then (provided this path doesn't already exist) she can craft a .drv file that creates that path (i.e., has it as one of its outputs), add it to the store using "nix-store --add", and build it with "nix-store -r". So the fake .drv could write a Trojan to the Firefox path. Then, if user Bob (the victim) comes along and does $ nix-env -i firefox $ firefox he executes the Trojan injected by Alice. The fix is to have the Nix daemon verify that derivation outputs are correct (in addValidPath()). This required some refactoring to move the hash computation code to libstore. | |||||
2011-07-20 | * Added a test that make sure that users cannot register | Eelco Dolstra | 3 | -1/+62 | |
specially-crafted derivations that produce output paths belonging to other derivations. This could be used to inject malware into the store. | |||||
2011-07-20 | * Refactoring. | Eelco Dolstra | 2 | -12/+17 | |
2011-07-20 | * Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcroots | Eelco Dolstra | 1 | -0/+8 | |
if it doesn't exist. |