[systemd-devel] [PATCH 4/6] nss-myhostname: integrate documentation

Tom Gundersen teg at jklm.no
Sat Jan 5 12:41:56 PST 2013


Converted from html to xml and changed the style to fit into the other
manpages.
---
 Makefile.am                           |   5 +
 man/nss-myhostname.xml                | 139 ++++++++++++++++++++++++++++
 src/nss-myhostname/doc/.gitignore     |   2 -
 src/nss-myhostname/doc/Makefile.am    |  38 --------
 src/nss-myhostname/doc/README.html.in | 166 ----------------------------------
 src/nss-myhostname/doc/style.css      |  25 -----
 6 files changed, 144 insertions(+), 231 deletions(-)
 create mode 100644 man/nss-myhostname.xml
 delete mode 100644 src/nss-myhostname/doc/.gitignore
 delete mode 100644 src/nss-myhostname/doc/Makefile.am
 delete mode 100644 src/nss-myhostname/doc/README.html.in
 delete mode 100644 src/nss-myhostname/doc/style.css

diff --git a/Makefile.am b/Makefile.am
index c8f6ecb..b87b704 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -575,6 +575,11 @@ man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
 man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
 endif
 
+if HAVE_MYHOSTNAME
+MANPAGES += \
+	man/nss-myhostname.8
+endif
+
 man/reboot.8: man/halt.8
 man/poweroff.8: man/halt.8
 man/init.1: man/systemd.1
diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml
new file mode 100644
index 0000000..bd3f635
--- /dev/null
+++ b/man/nss-myhostname.xml
@@ -0,0 +1,139 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+  This file is part of systemd.
+
+  Copyright 2011 Lennart Poettering
+  Copyright 2013 Tom Gundersen
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="nss-myhostname">
+
+        <refentryinfo>
+                <title>nss-myhostname</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Lennart</firstname>
+                                <surname>Poettering</surname>
+                                <email>lennart at poettering.net</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>nss-myhostname</refentrytitle>
+                <manvolnum>8</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>nss-myhostname</refname>
+                <refpurpose>Provide host name resolution for the locally
+                configured system hostname.</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <cmdsynopsis>
+                        <command>nss-myhostname.la</command>
+                </cmdsynopsis>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para><command>nss-myhostname</command> is a plugin for the GNU Name Service Switch
+                (NSS) functionality of the GNU C Library (<command>glibc</command>)
+                providing host name resolution for the locally configured system
+                hostname as returned by
+                <citerefentry><refentrytitle>gethostname</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+                Various software relies on an always resolvable local host name. When
+                using dynamic hostnames this is usually achieved by patching
+                <filename>/etc/hosts</filename> at the same time as changing the host
+                name. This however is not ideal since it requires a writable
+                <filename>/etc</filename> file system and is fragile because the file
+                might be edited by the administrator at the same time. <command>nss-myhostname</command>
+                simply returns all locally configure public IP addresses, or -- if none
+                are configured -- the IPv4 address 127.0.0.2 (wich is on the local
+                loopback) and the IPv6 address ::1 (which is the local host) for
+                whatever system hostname is configured locally. Patching
+                <filename>/etc/hosts</filename> is thus no longer necessary.</para>
+
+                <para>To activate the NSS modules, <option>myhostname</option>
+                has to be added to the line starting with "<varname>hosts:</varname>" in
+                <filename>/etc/nsswitch.conf</filename></para>
+
+                <para>It is recommended to put <option>myhostname</option>
+                last in the <filename>nsswitch.conf</filename> line to make
+                sure that this mapping is only used as fallback, and any DNS
+                or <filename>/etc/hosts</filename> based mapping takes precedence.</para>
+        </refsect1>
+
+        <refsect1>
+                <title>Example</title>
+
+                <programlisting>
+# /etc/nsswitch.conf
+
+passwd:         compat
+group:          compat
+shadow:         compat
+
+hosts:          files dns <varname>myhostname</varname>
+networks:       files
+
+protocols:      db files
+services:       db files
+ethers:         db files
+rpc:            db files
+
+netgroup:       nis
+                </programlisting>
+
+                <para>To test, use <command>glibc</command>'s <command>getent</command> tool:</para>
+
+                <programlisting>
+$ getent ahosts `hostname`
+::1             STREAM omega
+::1             DGRAM
+::1             RAW
+127.0.0.2       STREAM
+127.0.0.2       DGRAM
+127.0.0.2       RAW
+                </programlisting>
+
+                <para>In this case the local host name is <varname>omega</varname>.</para>
+
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>pam_loginuid</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                </para>
+        </refsect1>
+
+</refentry>
diff --git a/src/nss-myhostname/doc/.gitignore b/src/nss-myhostname/doc/.gitignore
deleted file mode 100644
index bc63974..0000000
--- a/src/nss-myhostname/doc/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-README
-README.html
diff --git a/src/nss-myhostname/doc/Makefile.am b/src/nss-myhostname/doc/Makefile.am
deleted file mode 100644
index 4f773ac..0000000
--- a/src/nss-myhostname/doc/Makefile.am
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file is part of nss-myhostname.
-#
-# Copyright 2008 Lennart Poettering
-#
-# nss-myhostname is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public License
-# as published by the Free Software Foundation, either version 2.1 of
-# the License, or (at your option) any later version.
-#
-# nss-myhostname is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with nss-myhostname. If not, If not, see
-# <http://www.gnu.org/licenses/>.
-
-dist_html_DATA = README.html style.css
-EXTRA_DIST = README.html.in
-
-MAINTAINERCLEANFILES = README.html
-CLEANFILES =
-
-if USE_LYNX
-dist_doc_DATA = README
-MAINTAINERCLEANFILES += README
-
-README: README.html
-	lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
-
-CLEANFILES += README
-endif
-
-tidy: README.html
-	tidy -qe < README.html ; true
-
-.PHONY: tidy
diff --git a/src/nss-myhostname/doc/README.html.in b/src/nss-myhostname/doc/README.html.in
deleted file mode 100644
index f786182..0000000
--- a/src/nss-myhostname/doc/README.html.in
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<title>nss-myhostname @PACKAGE_VERSION@</title>
-<link rel="stylesheet" type="text/css" href="style.css" />
-</head>
-
-<body>
-<h1><a name="top">nss-myhostname @PACKAGE_VERSION@</a></h1>
-
-<p><i>Copyright 2005-2011 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p>
-
-<ul class="toc">
-    <li><a href="#license">License</a></li>
-    <li><a href="#news">News</a></li>
-    <li><a href="#overview">Overview</a></li>
-    <li><a href="#status">Current Status</a></li>
-    <li><a href="#documentation">Documentation</a></li>
-    <li><a href="#requirements">Requirements</a></li>
-    <li><a href="#installation">Installation</a></li>
-    <li><a href="#acks">Acknowledgements</a></li>
-    <li><a href="#download">Download</a></li>
-</ul>
-
-<h2><a name="license">License</a></h2>
-
-<p>This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public License as
-published by the Free Software Foundation, either version 2.1 of the
-License, or (at your option) any later version.</p>
-
-<p>This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.</p>
-
-<h2><a name="news">News</a></h2>
-
-<div class="news-date">Mon May 9 2011: </div>
-
-<p class="news-text"><a href="@PACKAGE_URL at nss-myhostname-0.3.tar.gz">Version
-0.3</a> released. Changes include: Always return locally configured IP
-addresses first, use 127.0.0.2/::1 only as fallback if no addresses
-are configured.</p>
-
-<div class="news-date">Mon Oct 27 2008: </div>
-
-<p class="news-text"><a
-href="@PACKAGE_URL at nss-myhostname-0.2.tar.gz">Version 0.2</a>
-released. Changes include: Update for IPv6 and newest glibc NSS interfaces</p>
-
-<div class="news-date">Sat Nov 19 2005: </div>
-
-<p class="news-text"><a
-href="@PACKAGE_URL at nss-myhostname-0.1.tar.gz">Version 0.1</a>
-released. Initial release.</p>
-
-<h2><a name="overview">Overview</a></h2>
-
-<p><tt>nss-myhostname</tt> is a plugin for the GNU Name Service Switch
-(NSS) functionality of the GNU C Library (<tt>glibc</tt>) providing
-host name resolution for the locally configured system hostname as
-returned by <tt>gethostname(2)</tt>. Various software relies on an
-always resolvable local host name. When using dynamic hostnames this
-is usually achieved by patching <tt>/etc/hosts</tt> at the same time
-as changing the host name. This however is not ideal since it requires
-a writable <tt>/etc</tt> file system and is fragile because the file
-might be edited by the administrator at the same
-time. <tt>nss-myhostname</tt> simply returns all locally configure
-public IP addresses, or -- if none are configured -- the IPv4
-address <tt>127.0.0.2</tt> (wich is on the local loopback) and the
-IPv6 address <tt>::1</tt> (which is the local host) for whatever
-system hostname is configured locally. Patching <tt>/etc/hosts</tt>
-is thus no longer necessary.</p>
-
-<h2><a name="status">Current Status</a></h2>
-
-<p>It works!</p>
-
-<h2><a name="documentation">Documentation</a></h2>
-
-<p>After compiling and installing <tt>nss-myhostname</tt> you'll find a
-new NSS modules in <tt>/lib</tt>:</p>
-<ul>
-<li><tt>libnss_myhostname.so.2</tt></li>
-</ul>
-
-<p>To activate the NSS modules you have to edit
-<tt>/etc/nsswitch.conf</tt> and add <tt>myhostname</tt> to the
-line starting with "<tt>hosts:</tt>". On Debian this looks like
-this:</p>
-
-<pre># /etc/nsswitch.conf
-
-passwd:         compat
-group:          compat
-shadow:         compat
-
-hosts:          files dns <b>myhostname</b>
-networks:       files
-
-protocols:      db files
-services:       db files
-ethers:         db files
-rpc:            db files
-
-netgroup:       nis</pre>
-
-<p>That's it. You should now always be able to resolve your local
-system hostname. For a quick check
-use <tt>glibc</tt>'s <tt>getent</tt> tool:
-
-<pre>$ getent ahosts `hostname`
-::1             STREAM omega
-::1             DGRAM
-::1             RAW
-127.0.0.2       STREAM
-127.0.0.2       DGRAM
-127.0.0.2       RAW
-</pre>
-
-<p>In this case the local host name is <i>omega</i>.</p>
-
-<p>It is recommended to put <tt>myhostname</tt> last in
-the <tt>nsswitch.conf</tt> line to make sure that this mapping is only
-used as fallback, and any DNS or <tt>/etc/hosts</tt> based mapping takes
-precedence.</p>
-
-<h2><a name="requirements">Requirements</a></h2>
-
-<p><tt>nss-myhostname</tt> uses NSS interfaces that are specific to modern <tt>glibc</tt>'s.</p>
-
-<p><tt>nss-myhostname</tt> was developed and tested on Fedora 15 from
-May 2011, it should work on most other Linux distributions since it
-uses GNU autoconf and GNU libtool for source code configuration and
-shared library management.</p>
-
-<h2><a name="installation">Installation</a></h2>
-
-<p>As this package is made with the GNU autotools you should run
-<tt>./configure</tt> inside the distribution directory for configuring
-the source tree. After that you should run <tt>make</tt> for
-compilation and <tt>make install</tt> (as root) for installation of
-<tt>nss-myhostname</tt>.</p>
-
-<h2><a name="acks">Acknowledgements</a></h2>
-
-<p>None so far.</p>
-
-<h2><a name="download">Download</a></h2>
-
-<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p>
-
-<p>The current release is <a href="@PACKAGE_URL at nss-myhostname-@PACKAGE_VERSION at .tar.gz">@PACKAGE_VERSION@</a></p>
-
-<p>Get <tt>nss-myhostname</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/nss-myhostname">repository</a> (<a href="http://git.0pointer.de/?p=nss-myhostname.git">gitweb</a>): </p>
-
-<pre>git clone git://git.0pointer.de/nss-myhostname</pre>
-
-<hr/>
-<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, May 2011</address>
-
-</body>
-</html>
diff --git a/src/nss-myhostname/doc/style.css b/src/nss-myhostname/doc/style.css
deleted file mode 100644
index 5cc21fd..0000000
--- a/src/nss-myhostname/doc/style.css
+++ /dev/null
@@ -1,25 +0,0 @@
-/***
-    This file is part of nss-myhostname.
-
-    Copyright 2008 Lennart Poettering
-
-    nss-myhostname is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public License
-    as published by the Free Software Foundation, either version 2.1
-    of the License, or (at your option) any later version.
-
-    nss-myhostname is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with nss-myhostname. If not, If not, see
-    <http://www.gnu.org/licenses/>.
-***/
-
-body { color: black; background-color: white; }
-a:link, a:visited { color: #900000; }
-div.news-date { font-size: 80%; font-style: italic; }
-pre { background-color: #f0f0f0; padding: 0.4cm; }
-.grey { color: #8f8f8f; font-size: 80%; }
-- 
1.8.1



More information about the systemd-devel mailing list