diff --git a/doc/manual/bugs.xml b/doc/manual/bugs.xml
index 6097b2aa0..8a56a28c5 100644
--- a/doc/manual/bugs.xml
+++ b/doc/manual/bugs.xml
@@ -18,25 +18,6 @@
-
-
- Unify the concepts of successors and substitutes into a
- general notion of equivalent expressions.
- Expressions are equivalent if they have the same target paths
- with the same identifiers. However, even though they are
- functionally equivalent, they may differ stronly with respect
- to their performance characteristics.
- For example, realising a closure expression is more efficient
- that realising the derivation expression from which it was
- produced. On the other hand, distributing sources may be more
- efficient (storage- or bandwidth-wise) than distributing
- binaries. So we need to be able to attach weigths or
- priorities or performance annotations to expressions; Nix can
- then choose the most efficient expression dependent on the
- context.
-
-
-
Build management. In principle it is already
@@ -52,41 +33,6 @@
-
-
- There are race conditions between the garbage collector and
- other Nix tools. For instance, when we run
- nix-env to build and install a derivation
- and run the garbage collector at the same time, the garbage
- collector may kick in exactly between the build and
- installation steps, i.e., before the newly built derivation
- has become reachable from a root of the garbage collector.
-
-
-
- One solution would be for these programs to properly register
- temporary roots for the collector. Another would be to use
- stop-the-world garbage collection: if any tool is running, the
- garbage collector blocks, and vice versa. These solutions do
- not solve the situation where multiple tools are involved,
- e.g.,
-
-
-$ nix-store -r $(nix-instantiate foo.nix)
-
- since even if nix-instantiate where to
- register a temporary root, it would be released by the time
- nix-store is started. A solution would be
- to write the intermediate value to a file that is used as a
- root to the collector, e.g.,
-
-
-$ nix-instantiate foo.nix > /nix/var/nix/roots/bla
-$ nix-store -r $(cat /nix/var/nix/roots/bla)
-
-
-
-
For security, nix-push manifests
should be digitally signed, and nix-pull should
verify the signatures. The actual NAR archives in the cache do not
@@ -94,11 +40,6 @@ need to be signed, since the manifest contains cryptographic hashes of
these files (and fetchurl.nix checks
them).
-We should switch away from MD5, since it has been
-more-or-less cracked. We don't currently depend very much on the
-collision-resistance of MD5, but we will once we start sharing build
-results between users.
-
It would be useful to have an option in
nix-env --delete-generations to remove non-current
generations older than a certain age.
diff --git a/doc/manual/introduction.xml b/doc/manual/introduction.xml
index 5eb43f3d7..9f94b2d53 100644
--- a/doc/manual/introduction.xml
+++ b/doc/manual/introduction.xml
@@ -130,11 +130,7 @@ collection. It also discusses some advanced topics, such as setting
up a Nix-based build farm, and doing service deployment using
Nix.
-This manual is a work in progress. It's quite likely
-to be incomplete, inconsistent with the current implementation, or
-simply wrong.
-
-Some background information on Nix can be found in two
+Some background information on Nix can be found in three
papers. The ICSE 2004 paper Imposing
a Memory Management Discipline on Software
@@ -145,6 +141,10 @@ different versions and variants of packages. The LISA 2004 paper
url='http://www.cs.uu.nl/~eelco/pubs/nspfssd-lisa2004-final.pdf'>Nix:
A Safe and Policy-Free System for Software
Deployment gives a more general discussion of Nix
-from a system-administration perspective.
+from a system-administration perspective. The CBSE 2005 paper Efficient
+Upgrading in a Purely Functional Component Deployment Model
+ is about transparent patch deployment in
+Nix.
diff --git a/doc/manual/manual.xml b/doc/manual/manual.xml
index 9ff13d9df..645afa5e6 100644
--- a/doc/manual/manual.xml
+++ b/doc/manual/manual.xml
@@ -36,6 +36,7 @@
2004
+ 2005
Eelco Dolstra
diff --git a/doc/manual/package-management.xml b/doc/manual/package-management.xml
index 4e86b2601..53773be5c 100644
--- a/doc/manual/package-management.xml
+++ b/doc/manual/package-management.xml
@@ -189,12 +189,12 @@ of the Subversion component might be stored in a directory
while another version might be stored in
/nix/store/58823d558a6a...-subversion-0.34/. The
long hexadecimal numbers prefixed to the directory names are
-cryptographic hashes128 bit MD5 hashes, to be
-precise. of all inputs involved
-in building the component — sources, dependencies, compiler flags, and
-so on. So if two components differ in any way, they end up in
-different locations in the file system, so they don't interfere with
-each other. 160-bit truncations of SHA-256
+hashes, to be precise. of all
+inputs involved in building the component — sources, dependencies,
+compiler flags, and so on. So if two components differ in any way,
+they end up in different locations in the file system, so they don't
+interfere with each other. TODO: the figure isn't entirely up to date. It
should show multiple profiles and
~/.nix-profile. shows a part of