aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/bugs.xml
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-03-15 13:21:32 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-03-15 13:21:32 +0000
commitb376565b86717c4da2bdea5ee0bc73978ff9bc78 (patch)
tree53fa42bbb8096b3d2a06c720b1b030ca451e393d /doc/manual/bugs.xml
parentbacd3a6cfa3af1879ef01e693178c74839d66f70 (diff)
* Manual updates.
Diffstat (limited to 'doc/manual/bugs.xml')
-rw-r--r--doc/manual/bugs.xml59
1 files changed, 0 insertions, 59 deletions
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
@@ -20,25 +20,6 @@
<listitem>
<para>
- Unify the concepts of successors and substitutes into a
- general notion of <emphasis>equivalent expressions</emphasis>.
- 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 <emphasis>performance characteristics</emphasis>.
- 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.
- </para>
- </listitem>
-
- <listitem>
- <para>
<emphasis>Build management.</emphasis> In principle it is already
possible to do build management using Nix (by writing builders that
perform appropriate build steps), but the Nix expression language is
@@ -52,41 +33,6 @@
</para>
</listitem>
- <listitem>
- <para>
- There are race conditions between the garbage collector and
- other Nix tools. For instance, when we run
- <command>nix-env</command> 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.
- </para>
-
- <para>
- 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.,
-
- <screen>
-$ nix-store -r $(nix-instantiate foo.nix)</screen>
-
- since even if <command>nix-instantiate</command> where to
- register a temporary root, it would be released by the time
- <command>nix-store</command> 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.,
-
- <screen>
-$ nix-instantiate foo.nix > /nix/var/nix/roots/bla
-$ nix-store -r $(cat /nix/var/nix/roots/bla)</screen>
-
- </para>
- </listitem>
-
<listitem><para>For security, <command>nix-push</command> manifests
should be digitally signed, and <command>nix-pull</command> 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 <filename>fetchurl.nix</filename> checks
them).</para></listitem>
-<listitem><para>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.</para></listitem>
-
<listitem><para>It would be useful to have an option in
<command>nix-env --delete-generations</command> to remove non-current
generations older than a certain age.</para></listitem>