about summary refs log tree commit diff
path: root/src/nix-env/profiles.cc
AgeCommit message (Collapse)AuthorFilesLines
2011-08-31 * Eliminate all uses of the global variable ‘store’ from libstore.Eelco Dolstra1-1/+1
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.
2010-04-21 * Store user environment manifests as a Nix expression inEelco Dolstra1-1/+15
$out/manifest.nix rather than as an ATerm. (Hm, I thought I committed this two days ago...)
2006-12-05 * Allow unprivileged users to run the garbage collector and to doEelco Dolstra1-1/+1
`nix-store --delete'. But unprivileged users are not allowed to ignore liveness. * `nix-store --delete --ignore-liveness': ignore the runtime roots as well.
2006-11-30 * Skeleton of remote store implementation.Eelco Dolstra1-1/+1
2006-09-14 * Wow, that bug has been there since r764.Eelco Dolstra1-2/+2
2006-09-14 * Fix a huge gaping hole in nix-env w.r.t. the garbage collector.Eelco Dolstra1-12/+11
Nix-env failed to call addPermRoot(), which is necessary to safely add a new root. So if nix-env started after and finished before the garbage collector, the user environment (plus all other new stuff) it built might be garbage collected, leading to a dangling symlink chain in ~/.nix-profile... * Be more explicit if we block on the GC lock ("waiting for the big garbage collector lock..."). * Don't loop trying to create a new generation. It's not necessary anymore since profiles are locked nowadays.
2006-09-04 * Use a proper namespace.Eelco Dolstra1-0/+8
* Optimise header file usage a bit. * Compile the parser as C++.
2006-05-11 * 64-bit compatibility fixes (for problems revealed by building on an AthlonEelco Dolstra1-1/+1
64 running 64-bit SUSE). A patched ATerm library is required to run Nix succesfully.
2005-05-04 * Include some required header files.Eelco Dolstra1-0/+1
2005-02-14 * Refactoring. Hope this doesn't break the semantics of `-u' ;-)Eelco Dolstra1-1/+1
2005-02-14 * Don't keep the derivation symlink when creating profile generations.Eelco Dolstra1-11/+6
2005-02-11 * Refactoring to support different installation sources in nix-env.Eelco Dolstra1-1/+1
* Set the references for the user environment manifest properly. * Don't copy the manifest (this was accidental). * Don't store derivation paths in the manifest (maybe this should be made optional). This cleans up the semantics of nix-env, which were weird. * Hash on the output paths of activated components, not on derivation paths. This is because we don't know the derivation path of already installed components anymore, and it allows the installation of components by store path (skipping Nix expressions entirely). * Query options `--out-path' and `--drv-path' to show the output and derivation paths of components, respectively (the latter replaces the `--expr' query).
2005-01-27 * Fix and simplify the garbage collector (it's still not concurrent,Eelco Dolstra1-9/+10
though). In particular it's now much easier to register a GC root. Just place a symlink to whatever store path it is that you want to keep in /nix/var/nix/gcroots.
2005-01-19 * Started removing closure store expressions, i.e., the explicitEelco Dolstra1-11/+7
representation of closures as ATerms in the Nix store. Instead, the file system pointer graph is now stored in the Nix database. This has many advantages: - It greatly simplifies the implementation (we can drop the notion of `successors', and so on). - It makes registering roots for the garbage collector much easier. Instead of specifying the closure expression as a root, you can simply specify the store path that must be retained as a root. This could not be done previously, since there was no way to find the closure store expression containing a given store path. - Better traceability: it is now possible to query what paths are referenced by a path, and what paths refer to a path.
2004-09-10 * Operation `--delete-generations' to delete generations of aEelco Dolstra1-7/+33
profile. Arguments are either generation number, or `old' to delete all non-current generations. Typical use: $ nix-env --delete-generations old $ nix-collect-garbage * istringstream -> string2Int.
2004-07-01 * Include some missing headers.Eelco Dolstra1-0/+1
2004-02-11 * When creating a new generation, also make the normal form of theEelco Dolstra1-4/+7
derivation (i.e., the closure store expression) a root of the garbage collector. This ensures that running `nix-collect-garbage --no-successors' is safe.
2004-02-06 * In `--list-generations', show what the current generation is.Eelco Dolstra1-9/+24
2004-02-06 * A command `--list-generations' to show all generations for aEelco Dolstra1-4/+37
profile.
2004-02-06 * More refactoring.Eelco Dolstra1-0/+57