Index: networking/netprogs/rpcbind.xml
===================================================================
--- networking/netprogs/rpcbind.xml	(revision 5fb26b09960ad70b923a8364742f10a8b2152253)
+++ networking/netprogs/rpcbind.xml	(revision 5fb26b09960ad70b923a8364742f10a8b2152253)
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+
+  <!ENTITY rpcbind-download-http "&sourceforge-repo;/rpcbind/rpcbind-&rpcbind-version;.tar.bz2">
+  <!ENTITY rpcbind-download-ftp  " ">
+  <!ENTITY rpcbind-md5sum        "c8875246b2688a1adfbd6ad43480278d">
+  <!ENTITY rpcbind-size          "120 KB">
+  <!ENTITY rpcbind-buildsize     "2.0 MB">
+  <!ENTITY rpcbind-time          "less than 0.1 SBU">
+]>
+
+<sect1 id="rpcbind" xreflabel="rpcbind-&rpcbind-version;">
+  <?dbhtml filename="rpcbind.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>rpcbind-&rpcbind-version;</title>
+
+  <indexterm zone="rpcbind">
+    <primary sortas="a-rpcbind">rpcbind</primary>
+  </indexterm>
+
+  <sect2 role="package">
+    <title>Introduction to rpcbind</title>
+
+    <para>
+      The <application>rpcbind</application> program is a replacement for
+      <application>portmap</application>.  It is required for import or
+      export of Network File System (NFS) shared directories.
+    </para>
+
+    &lfs77_checked;
+
+    <bridgehead renderas="sect3">Package Information</bridgehead>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          Download (HTTP): <ulink url="&rpcbind-download-http;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download (FTP): <ulink url="&rpcbind-download-ftp;"/>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download MD5 sum: &rpcbind-md5sum;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Download size: &rpcbind-size;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated disk space required: &rpcbind-buildsize;
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          Estimated build time: &rpcbind-time;
+        </para>
+      </listitem>
+    </itemizedlist>
+
+    <bridgehead renderas="sect3">rpcbind Dependencies</bridgehead>
+
+    <bridgehead renderas="sect4">Required</bridgehead>
+    <para role="required">
+      <xref linkend="libtirpc"/>
+    </para>
+
+    <para condition="html" role="usernotes">User Notes:
+      <ulink url="&blfs-wiki;/rpcbind"/>
+    </para>
+  </sect2>
+
+  <sect2 role="installation">
+    <title>Installation of rpcbind</title>
+
+    <para>
+      There should be a dedicated user and group to take control
+      of the <command>rpcbind</command> daemon after it is started.
+      Issue the following commands as the
+      <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>groupadd -g 28 rpc &amp;&amp;
+useradd -c "RPC Bind Daemon Owner" -d /dev/null -g rpc \
+        -s /bin/false -u 28 rpc</userinput></screen>
+
+    <!-- Packages should adapt to standards, not the other way around -->
+    <para>
+      In order to get <application>rpcbind</application> to work
+      properly, first fix the package to use correct service name:
+    </para>
+
+<screen><userinput>sed -i "/servname/s:rpcbind:sunrpc:" src/rpcbind.c &amp;&amp;
+sed -i "/error = getaddrinfo/s:rpcbind:sunrpc:" src/rpcinfo.c</userinput></screen>
+
+    <para>
+      Install <application>rpcbind</application> by running the following
+      commands:
+    </para>
+
+<screen><userinput>./configure --prefix=/usr       \
+            --bindir=/sbin      \
+            --with-rpcuser=rpc  \
+            --enable-warmstarts \
+            --with-statedir=/var/lib/rpcbind &amp;&amp;
+make</userinput></screen>
+
+    <para>
+      This package does not come with a test suite.
+    </para>
+
+    <para>
+      Now, as the <systemitem class="username">root</systemitem> user:
+    </para>
+
+<screen role="root"><userinput>make install &amp;&amp;
+install -v -dm755 -o rpc -g rpc /var/lib/rpcbind</userinput></screen>
+
+  </sect2>
+
+  <sect2 role="commands">
+    <title>Command Explanations</title>
+
+    <para>
+      <parameter>--with-rpcuser=rpc</parameter>: This switch
+      is used so the <command>rpcbind</command> daemon will
+      run as an unprivileged user instead of
+      <systemitem class="username">root</systemitem> user.
+    </para>
+
+    <para>
+      <parameter>--enable-warmstarts</parameter>: This switch
+      is used to enable <command>rpcbind</command> to write
+      the current list of registered services to a file when
+      it shuts down so it can resume operation with the
+      registrations found in the file when it is started again.
+    </para>
+
+    <para>
+      <parameter>--with-statedir=/var/lib/rpcbind</parameter>:
+      This switch is used to instruct <command>rpcbind</command>
+      to write current list of registered services to a
+      permanent location of <filename
+      class="directory">/var/lib/rpcbind</filename> instead of
+      <filename class="directory">/tmp</filename>.
+    </para>
+
+  </sect2>
+
+  <sect2 role="configuration">
+    <title>Configuring rpcbind</title>
+
+    <sect3 id="rpcbind-init">
+      <title>Systemd Units</title>
+
+      <para>
+        To start the <command>rpcbind</command> daemon at boot,
+        install the systemd unit from the <xref linkend="bootscripts"/>
+        package by running the following command as the
+        <systemitem class="username">root</systemitem> user:
+      </para>
+
+      <indexterm zone="rpcbind rpcbind-init">
+         <primary sortas="f-rpcbind">rpcbind</primary>
+      </indexterm>
+
+<screen role="root"><userinput>make install-rpcbind</userinput></screen>
+
+      <note>
+        <para>
+          This package uses socket based activation and will be started when
+          something needs it. No standalone unit file is provided for this
+          package.
+        </para>
+      </note>
+
+    </sect3>
+
+  </sect2>
+
+  <sect2 role="content">
+    <title>Contents</title>
+
+    <segmentedlist>
+      <segtitle>Installed Programs</segtitle>
+      <segtitle>Installed Libraries</segtitle>
+      <segtitle>Installed Directories</segtitle>
+
+      <seglistitem>
+        <seg>
+          rpcbind and rpcinfo
+        </seg>
+        <seg>
+          None
+        </seg>
+        <seg>
+          None
+        </seg>
+      </seglistitem>
+    </segmentedlist>
+
+    <variablelist>
+      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+      <?dbfo list-presentation="list"?>
+      <?dbhtml list-presentation="table"?>
+
+      <varlistentry id="rpcbind-prog">
+        <term><command>rpcbind</command></term>
+        <listitem>
+          <para>
+            is a server that converts RPC program numbers into universal
+            addresses. It must be running on the host to be able to make
+            RPC calls on a server on that machine.
+          </para>
+          <indexterm zone="rpcbind rpcbind-prog">
+            <primary sortas="b-rpcbind">rpcbind</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="rpcinfo">
+        <term><command>rpcinfo</command></term>
+        <listitem>
+          <para>
+            makes an RPC call to an RPC server and reports data according
+            to the requested options.
+          </para>
+          <indexterm zone="rpcbind rpcinfo">
+            <primary sortas="b-rpcinfo">rpcinfo</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>
