* Manual updates.

This commit is contained in:
Eelco Dolstra 2003-08-13 15:17:57 +00:00
parent 68022552d2
commit 95b49f8044
3 changed files with 120 additions and 19 deletions

View file

@ -11,27 +11,41 @@
<book> <book>
<title>Nix: The Manual</title> <title>Nix: The Manual</title>
<bookinfo>
<author>
<firstname>Eelco</firstname>
<surname>Dolstra</surname>
</author>
<copyright>
<year>2003</year>
<holder>Eelco Dolstra</holder>
</copyright>
</bookinfo>
&introduction; &introduction;
&installation; &installation;
<chapter> <chapter>
<title>A Guided Tour</title> <title>A Guided Tour</title>
<para> <para>
Bla bla
</para>
</chapter>
<chapter>
<title>Fix Language Reference</title>
<para>
Bla bla
</para> </para>
</chapter> </chapter>
<chapter> <chapter>
<title>Nix Syntax and Semantics</title> <title>Nix Syntax and Semantics</title>
<para> <para>
Bla bla </para>
</chapter>
<chapter>
<title>Fix Language Reference</title>
<para>
</para>
</chapter>
<chapter>
<title>Writing Builders</title>
<para>
</para> </para>
</chapter> </chapter>

View file

@ -26,8 +26,7 @@
</para> </para>
<screen> <screen>
$ svn checkout http://losser.st-lab.cs.uu.nl:12080/repos/trace/nix/trunk $ svn checkout http://losser.st-lab.cs.uu.nl:12080/repos/trace/nix/trunk nix</screen>
nix</screen>
<para> <para>
Likewise, specific releases can be obtained from the <ulink Likewise, specific releases can be obtained from the <ulink
@ -48,8 +47,10 @@
</para> </para>
<screen> <screen>
$ autoreconf -i $ ./configure <replaceable>options...</replaceable> $ $ autoreconf -i
make $ make install</screen> $ ./configure <replaceable>options...</replaceable>
$ make
$ make install</screen>
<para> <para>
Currently, the only useful switch for <command>configure</command> is Currently, the only useful switch for <command>configure</command> is

View file

@ -15,17 +15,17 @@
<title>Build management</title> <title>Build management</title>
<para> <para>
Build management tools are used to perform <emphasis>software Build management tools are used to perform <emphasis>software
builds</emphasis>, that is, the construction of derived products such builds</emphasis>, that is, the construction of derived products such
as executable programs from source code. A commonly used build tool is as executable programs from source code. A commonly used build tool is
Make, which is a standard tool on Unix systems. These tools have to Make, which is a standard tool on Unix systems. These tools have to
deal with several issues: deal with several issues:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</sect2> </sect2>
@ -34,12 +34,12 @@
<title>Package management</title> <title>Package management</title>
<para> <para>
After software has been built, is must also be After software has been built, is must also be
<emphasis>deployed</emphasis> in the intended target environment, e.g., <emphasis>deployed</emphasis> in the intended target environment, e.g.,
the user's workstation. Examples include the Red Hat package manager the user's workstation. Examples include the Red Hat package manager
(RPM), Microsoft's MSI, and so on. Here also we have to deal with (RPM), Microsoft's MSI, and so on. Here also we have to deal with
several issues: several issues:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
The <emphasis>creation</emphasis> of packages from some formal The <emphasis>creation</emphasis> of packages from some formal
@ -60,12 +60,98 @@
the system administrator should be constant, not linear). the system administrator should be constant, not linear).
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
<!--######################################################################-->
<sect1>
<title>What Nix can do for you</title>
<para>
Here is a summary of what Nix provides:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis>Reliable dependencies.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Support for variability.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Transparent source/binary deployment.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Easy configuration duplication.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Automatic storage management.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Atomic upgrades and rollbacks.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Support for many simultaneous configurations.</emphasis>
</para>
</listitem>
</itemizedlist>
<para>
Here is what Nix doesn't yet provide, but will:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis>Build management.</emphasis> In principle it is already
possible to do build management using Fix (by writing builders that
perform appropriate build steps), but the Fix language is not yet
powerful enough to make this pleasant. The <ulink
url='http://www.cs.uu.nl/~eelco/maak/'>Maak build manager</ulink>
should be retargeted to produce Nix expressions, or alternatively,
extend Fix with Maak's semantics and concrete syntax (since Fix needs
a concrete syntax anyway). Another interesting idea is to write a
<command>make</command> implementation that uses Nix as a back-end to
support <ulink
url='http://www.research.att.com/~bs/bs_faq.html#legacy'>legacy</ulink>
build files.
</para>
</listitem>
</itemizedlist>
</sect1>
<!--######################################################################-->
<sect1> <sect1>
<title>The Nix system</title> <title>The Nix system</title>