about summary refs log tree commit diff
path: root/src/nix-env
AgeCommit message (Collapse)AuthorFilesLines
2007-02-02 * nix-env now maintains meta info (from the `meta' derivationEelco Dolstra1-14/+72
attribute) about installed packages in user environments. Thus, an operation like `nix-env -q --description' shows useful information not only on available packages but also on installed packages. * nix-env now passes the entire manifest as an argument to the Nix expression of the user environment builder (not just a list of paths), so that in particular the user environment builder has access to the meta attributes. * New operation `--set-flag' in nix-env to change meta info of installed packages. This will be useful to pass per-package policies to the user environment builder (e.g., how to resolve collision or whether to disable a package (NIX-80)) or upgrade policies in nix-env (e.g., that a package should be "masked", that is, left untouched by upgrade actions). Example: $ nix-env --set-flag enabled false ghc-6.4
2007-01-15 * Handle multiple indirect symlinks when loading a Nix expression.Eelco Dolstra1-4/+1
2007-01-14 * Option --argstr for passing string arguments easily. (NIX-75)Eelco Dolstra1-15/+8
2006-12-12 * New operation `nix-env --set' which sets a user environment to aEelco Dolstra2-0/+28
single derivation specified by the argument. This is useful when we want to have a profile for a single derivation, such as a server configuration. Then we can just say (e.g.) $ nix-env -p /.../server-profile -f server.nix --set -A server We can't do queries or upgrades on such a profile, but we can do rollbacks. The advantage over -i is that we don't have to worry about other packages having been installed in the profile previously; --set gets rid of them.
2006-12-07 * Doh!Eelco Dolstra1-1/+1
2006-12-07 * Rename all those main.cc files.Eelco Dolstra2-1/+1
2006-12-05 * Allow unprivileged users to run the garbage collector and to doEelco Dolstra2-2/+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-12-02 * Move addTempRoot() to the store API, and add another functionEelco Dolstra1-2/+2
syncWithGC() to allow clients to register GC roots without needing write access to the global roots directory or the GC lock.
2006-12-02 * Remove SwitchToOriginalUser, we're not going to need it anymore.Eelco Dolstra1-3/+0
2006-11-30 * More remote operations.Eelco Dolstra1-3/+3
* Added new operation hasSubstitutes(), which is more efficient than querySubstitutes().size() > 0.
2006-11-30 * Skeleton of remote store implementation.Eelco Dolstra1-1/+1
2006-11-30 * Put building in the store API.Eelco Dolstra1-4/+3
2006-11-30 * Refactoring. There is now an abstract interface class StoreAPIEelco Dolstra1-5/+5
containing functions that operate on the Nix store. One implementation is LocalStore, which operates on the Nix store directly. The next step, to enable secure multi-user Nix, is to create a different implementation RemoteStore that talks to a privileged daemon process that uses LocalStore to perform the actual operations.
2006-10-17 * Backwards compatibility with old user environment manifests.Eelco Dolstra1-3/+6
2006-10-17 * Maintain the references for the user environment properly.Eelco Dolstra1-1/+1
2006-10-17 * Don't generate an empty drvPath attribute in the manifest.Eelco Dolstra1-6/+6
2006-10-16 * Big cleanup of the semantics of paths, strings, contexts, stringEelco Dolstra1-8/+8
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.)
2006-09-25 * Quick hack to let nix-install-package set the package name properlyEelco Dolstra1-1/+11
(e.g., "java-front-0.9pre15899" instead of "java-front"; particularly important when doing upgrades later on).
2006-09-14 * Wow, that bug has been there since r764.Eelco Dolstra1-2/+2
2006-09-14 * nix-env --switch-generation / --list-generations /Eelco Dolstra1-0/+9
--delete-generations: lock the profile to prevent (extremely unlikely) race conditions.
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-05 * Missing #include.Eelco Dolstra1-0/+2
2006-09-04 * Use a proper namespace.Eelco Dolstra5-11/+40
* Optimise header file usage a bit. * Compile the parser as C++.
2006-08-25 * Remove those storePath attribute sets, we don't need 'em.Eelco Dolstra1-6/+1
2006-08-23 * Allow --arg in nix-env as well, example:Eelco Dolstra1-7/+20
$ nix-env -qa --system-filter \* --arg system '"powerpc-darwin"' to override the system from the default value (__currentSystem in all-packages.nix).
2006-08-16 * `nix-instantiate --{eval|parse}-only --xml': print an XMLEelco Dolstra1-4/+3
representation instead of an ATerm. * Indent XML output.
2006-08-09 * Fix the help message wrt --attr.Eelco Dolstra1-1/+1
2006-08-07 * Workaround for a bug (?) in GCC 2.95.Eelco Dolstra1-1/+1
2006-08-03 * `nix-env -q --xml': show query result in XML format for easierEelco Dolstra1-23/+80
automated processing.
2006-07-28 * `nix-instantiate ... --arg NAME VALUE': allow arguments to be passedEelco Dolstra1-4/+4
to functions from the command line. * nix-build: started removing backticks.
2006-07-26 * Refactoring: get the selection path stuff out of getDerivations()Eelco Dolstra1-5/+7
and put it into a separate function findAlongAttrPath().
2006-07-25 * Applied rbroek's patch from the branch atEelco Dolstra2-0/+7
https://svn.cs.uu.nl:12443/repos/trace/buildfarm-control/trunk/ext/nix/, with some modifications. This allows `nix-env -qa' to show the attribute path that can be used to unambiguously install a package using `nix-env -i -A'. Example: $ nix-env -f top-level/all-packages.nix -qaA subversion xorg-server subversionWithJava subversion-1.2.3 subversion subversion-1.3.2 subversion14 subversion-1.4.0pre-rc1 xorg.xorgserver xorg-server-1.1.0
2006-07-25 * Support the --attr / -A flag in nix-env as well. So now we can do,Eelco Dolstra2-3/+24
e.g., $ nix-env -i -A subversion xorg.xorgserver The main advantage over using symbolic names is that using attribute names is unambiguous and much, much faster.
2006-06-27 * `nix-env --upgrade --eq': only upgrade if the old version is equalEelco Dolstra2-2/+5
to the new version. This is actually useful.
2006-06-15 * In `nix-env -i|-u|-e', lock the profile to prevent races betweenEelco Dolstra1-0/+15
concurrent nix-env operations on the same profile. Fixes NIX-7.
2006-05-12 * Support for srcdir != builddir (NIX-41).Eelco Dolstra1-2/+3
2006-05-11 * 64-bit compatibility fixes (for problems revealed by building on an AthlonEelco Dolstra2-2/+2
64 running 64-bit SUSE). A patched ATerm library is required to run Nix succesfully.
2006-05-04 * Use the new ATermMap.Eelco Dolstra1-1/+1
2006-05-02 * Huge reduction in memory use (2/3 or so on large nix-env -qasEelco Dolstra1-0/+1
operations): share ATermMaps between DrvInfos.
2006-03-10 * `nix-env -qa --description' shows human-readable descriptions ofEelco Dolstra1-0/+7
packages (provided that they have a `meta.description' attribute). E.g., $ ./src/nix-env/nix-env -qa --description gcc gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for sparc-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for mips-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x (cross-compiler for arm-linux) gcc-4.0.2 GNU Compiler Collection, 4.0.x
2006-03-10 * `nix-env -q' now accepts arguments that allow specific derivationsEelco Dolstra1-23/+27
to be queried, e.g., `nix-env -qa firefox'. This does require the argument '*' to be passed if one wants information about all derivations, so the old `nix-env -qa' now is `nix-env -qa "*"'.
2006-03-08 * When obtaining derivations from Nix expressions, ignore allEelco Dolstra1-35/+41
expressions that cause an assertion failure (like `assert system == "i686-linux"'). This allows all-packages.nix in Nixpkgs to be used on all platforms, even if some Nix expressions don't work on all platforms. Not sure if this is a good idea; it's a bit hacky. In particular, due to laziness some derivations might appear in `nix-env -qa' but disappear in `nix-env -qas' or `nix-env -i'. Commit 5000!
2006-03-06 * `nix-env (-i|-u) --dry-run' now shows exactly which missing pathsEelco Dolstra1-2/+36
will be built or substituted.
2006-03-06 * Regularise help text a bit.Eelco Dolstra1-1/+1
2006-03-01 * db.hh shouldn't depend on the Berkeley DB headers.Eelco Dolstra1-0/+1
2006-02-17 * In "nix-env -i", print a warning if there are multiple derivationsEelco Dolstra1-24/+16
with the same name *and* version number, and pick the first one (this means that the order in which channels appear in ~/.nix-channels matters). E.g.: $ nix-env ii aterm warning: there are multiple derivations named `aterm-2.4.2'; using the first one installing `aterm-2.4.2'
2006-02-17 * Fix for NIX-31: "nix-env -i foo" installing all derivations namedEelco Dolstra1-8/+62
foo. Now it will only install the one with the highest version number.
2006-02-17 * Fix the infamous NIX-17: nix-env -i prints misleading messagesEelco Dolstra1-7/+9
("installing `foo'" followed by "uninstalling `foo'").
2006-02-08 * Oops, fix breakage.Eelco Dolstra1-0/+2
2006-02-08 * Refactoring: move derivation evaluation to libexpr.Eelco Dolstra1-186/+76