glfs/basicnet/djb/daemontools/daemontools-exp.xml

65 lines
3.0 KiB
XML
Raw Normal View History

<sect2>
<title>Command explanations</title>
<para>The first thing to understand in installing any package written
by Daniel J. Bernstein, and
this includes <application>qmail</application>, <application>djbdns
</application> and <application>ucspi-tcp</application> in addition to
<application>daemontools</application>, is that he is willing to completely
disregard standards if his idea of the correct thing to do differs from an
particular standard. Professor Bernstein is a standards body unto himself when
it comes to his own software. </para>
<para>It is therefore necessary to make quite a few changes to the
installation commands for his packages to get them to install in a manner
that is compliant with the Filesystem Hierarchy Standard
(<acronym>FHS</acronym>). Most of the following commands are due to this
difficulty.</para>
<para><command>cd admin/daemontools-0.76</command>: First off, the package is
unpacked in an <filename>admin</filename> directory. You will find the actual
packages two directory levels below this.</para>
<para><command>package/compile</command>: This command actually
compiles the source and prepares the binaries.</para>
<para>Since we are installing the binaries in <filename>/usr/sbin</filename>
rather than creating a non-standard <filename>/command</filename> directory,
several paths have to be changed:</para>
<screen><command>sed 's|command|usr/sbin|' boot.inittab &gt; boot.inittab~
mv boot.inittab~ boot.inittab</command></screen>
<para>In <filename>boot.inittab</filename>,
<filename>/command/svscanboot</filename> is changed to
<filename>/usr/sbin/svscanboot</filename>.</para>
<screen><command>sed -e 's|/command:/usr/local/bin:/usr/local/sbin:||' \
-e 's|command|usr/sbin|' \
-e 's|/service|/etc/service|g' svscanboot &gt; svscanboot~ &amp;&amp;</command></screen>
<para>Here various paths are adjusted in the <command>svscanboot</command>
script. In our setup <command>svscan</command> will check the
<filename>/etc/service</filename> directory instead of
the <filename>/service</filename> directory for daemons to run.</para>
<para><command>cp * /usr/sbin</command>: We must manually copy the
binaries to the <filename>/usr/sbin</filename> directory.</para>
<para><screen><command>cat /etc/inittab boot.inittab &gt; /etc/inittab~
mv -f /etc/inittab~ /etc/inittab</command></screen>
These commands append a line to <filename>/etc/inittab</filename> so that
<command>init</command> will launch the <command>svscanboot</command> script.
</para>
<para><command>mkdir /etc/service</command>: This command creates
the <application>daemontools</application> control directory, which - even if
empty - needs to exist for
<application>daemontools</application> to run properly.</para>
<para><command>telinit Q</command>: This command tells the <command>init
</command> process to re-read its configuration file
(<filename>inittab</filename>) and act upon any changes that have been made.
The <command>svscanboot</command> script is started.</para>
</sect2>