aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/release-notes/rl-0.12.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/src/release-notes/rl-0.12.md')
-rw-r--r--doc/manual/src/release-notes/rl-0.12.md32
1 files changed, 16 insertions, 16 deletions
diff --git a/doc/manual/src/release-notes/rl-0.12.md b/doc/manual/src/release-notes/rl-0.12.md
index 3a4aba07d..7042abb4c 100644
--- a/doc/manual/src/release-notes/rl-0.12.md
+++ b/doc/manual/src/release-notes/rl-0.12.md
@@ -7,23 +7,23 @@
Nix process crashes; no write access is needed for read-only
operations; no more running out of Berkeley DB locks on certain
operations.
-
+
You still need to compile Nix with Berkeley DB support if you want
Nix to automatically convert your old Nix store to the new schema.
If you don’t need this, you can build Nix with the `configure`
option `--disable-old-db-compat`.
-
+
After the automatic conversion to the new schema, you can delete the
old Berkeley DB files:
-
+
$ cd /nix/var/nix/db
$ rm __db* log.* derivers references referrers reserved validpaths DB_CONFIG
-
+
The new metadata is stored in the directories `/nix/var/nix/db/info`
and `/nix/var/nix/db/referrer`. Though the metadata is stored in
human-readable plain-text files, they are not intended to be
human-editable, as Nix is rather strict about the format.
-
+
The new storage schema may or may not require less disk space than
the Berkeley DB environment, mostly depending on the cluster size of
your file system. With 1 KiB clusters (which seems to be the `ext3`
@@ -50,11 +50,11 @@
last access time. This allows non-recently used stuff to be deleted.
The option `--max-atime time` specifies an upper limit to the last
accessed time of paths that may be deleted. For instance,
-
- ```
+
+ ```
$ nix-store --gc -v --max-atime $(date +%s -d "2 months ago")
```
-
+
deletes everything that hasn’t been accessed in two months.
- `nix-env` now uses optimistic profile locking when performing an
@@ -73,7 +73,7 @@
now always shown by `nix-env`, `nix-store -r` and `nix-build`. The
total download size of substitutable paths is now also shown. For
instance, a build will show something like
-
+
the following derivations will be built:
/nix/store/129sbxnk5n466zg6r1qmq1xjv9zymyy7-activate-configuration.sh.drv
/nix/store/7mzy971rdm8l566ch8hgxaf89x7lr7ik-upstart-jobs.drv
@@ -84,24 +84,24 @@
...
- Language features:
-
+
- @-patterns as in Haskell. For instance, in a function definition
-
+
f = args @ {x, y, z}: ...;
-
+
`args` refers to the argument as a whole, which is further
pattern-matched against the attribute set pattern `{x, y, z}`.
-
+
- “`...`” (ellipsis) patterns. An attribute set pattern can now
say `...` at the end of the attribute name list to specify that
the function takes *at least* the listed attributes, while
ignoring additional attributes. For instance,
-
+
{stdenv, fetchurl, fuse, ...}: ...
-
+
defines a function that accepts any attribute set that includes
at least the three listed attributes.
-
+
- New primops: `builtins.parseDrvName` (split a package name
string like `"nix-0.12pre12876"` into its name and version
components, e.g. `"nix"` and `"0.12pre12876"`),