chiark / gitweb /
man: add some initial man page work
authorLennart Poettering <lennart@poettering.net>
Sat, 15 May 2010 21:06:41 +0000 (23:06 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 15 May 2010 21:06:41 +0000 (23:06 +0200)
.gitignore
Makefile.am
configure.ac
man/systemd.service.xml [new file with mode: 0644]
man/systemd.unit.xml [new file with mode: 0644]

index b9cb51c..b83dd9a 100644 (file)
@@ -1,4 +1,7 @@
+*.5
+*.html
 *~
+*.tar.gz
 test-ns
 test-loopback
 systemd-initctl.service
index 8ad1969..e562b18 100644 (file)
 
 ACLOCAL_AMFLAGS = -I m4
 
-pkgsysconfdir=$(sysconfdir)/systemd
 dbuspolicydir=$(sysconfdir)/dbus-1/system.d
-udevrulesdir=/lib/udev/rules.d
+udevrulesdir=@udevrulesdir@
 
+pkgsysconfdir=$(sysconfdir)/systemd
 systemunitdir=$(pkgdatadir)/system
-sessionunitdir=$(pkgdatadir)/system
+sessionunitdir=$(pkgdatadir)/session
 
 AM_CPPFLAGS = \
         -include $(top_builddir)/config.h \
@@ -35,8 +35,9 @@ AM_CPPFLAGS = \
        -DCGROUP_AGENT_PATH=\"$(pkglibexecdir)/systemd-cgroups-agent\" \
        -DSYSTEMD_BINARY_PATH=\"$(sbindir)/systemd\"
 
-#      -DSYSTEMD_BINARY_PATH=\"/home/lennart/projects/systemd/systemd\"
-VALA_CFLAGS=-Wno-unused-variable -Wno-unused-function
+VALA_CFLAGS = \
+       -Wno-unused-variable \
+       -Wno-unused-function
 
 sbin_PROGRAMS = \
        systemd
@@ -60,27 +61,24 @@ noinst_PROGRAMS = \
        test-ns \
        test-loopback
 
-dbuspolicy_DATA = \
+dist_dbuspolicy_DATA = \
        org.freedesktop.systemd1.conf
 
-udevrules_DATA = \
+dist_udevrules_DATA = \
        99-systemd.rules
 
-systemunit_DATA = \
+dist_systemunit_DATA = \
        units/emergency.service \
-       systemd-initctl.service \
        units/systemd-initctl.socket \
-       systemd-logger.service \
        units/systemd-logger.socket
 
+systemunit_DATA = \
+       systemd-initctl.service \
+       systemd-logger.service
+
 EXTRA_DIST = \
-       org.freedesktop.systemd1.conf \
-       99-systemd.rules \
-       units/emergency.service \
        units/systemd-initctl.service.in \
-       units/systemd-initctl.socket \
        units/systemd-logger.service.in \
-       units/systemd-logger.socket \
        LICENSE \
        README
 
@@ -147,6 +145,21 @@ EXTRA_DIST += \
        linux/auto_dev-ioctl.h \
        initreq.h
 
+dist_man_MANS = \
+       systemd.unit.5 \
+       systemd.service.5
+
+HTMLMANS = \
+       systemd.unit.html \
+       systemd.service.html
+
+dist_noinst_DATA = \
+       $(HTMLMANS)
+
+EXTRA_DIST += \
+       man/systemd.unit.xml \
+       man/systemd.service.xml
+
 systemd_SOURCES = \
        $(COMMON_SOURCES) \
        main.c
@@ -251,6 +264,18 @@ CLEANFILES = \
        systemd-initctl.service \
        systemd-logger.service
 
+if HAVE_XSLTPROC
+%.5: man/%.xml
+       $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+%.html: man/%.xml
+       $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
+
+CLEANFILES += \
+       $(dist_man_MANS) \
+       $(HTMLMANS)
+endif
+
 install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(pkgsysconfdir)/system \
@@ -259,3 +284,6 @@ install-data-hook:
                $(DESTDIR)/cgroup/debug
        rm -f $(DESTDIR)$(sysconfdir)/xdg/systemd/session
        ln -sf $(DESTDIR)$(pkgsysconfdir)/session $(DESTDIR)$(sysconfdir)/xdg/systemd/session
+
+DISTCHECK_CONFIGURE_FLAGS = \
+       --with-udevrulesdir=$$dc_install_base/$(udevrulesdir)
index 65353d5..de61b2d 100644 (file)
@@ -43,7 +43,43 @@ AM_PROG_CC_C_O
 AC_PROG_GCC_TRADITIONAL
 AC_USE_SYSTEM_EXTENSIONS
 
-CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -Wno-missing-field-initializers])
+CC_CHECK_CFLAGS_APPEND([ \
+        -Wall \
+        -W \
+        -Wextra \
+        -pipe \
+        -Wno-long-long \
+        -Winline \
+        -Wvla \
+        -Wno-overlength-strings \
+        -Wundef \
+        -Wformat=2 \
+        -Wlogical-op \
+        -Wsign-compare \
+        -Wformat-security \
+        -Wmissing-include-dirs \
+        -Wformat-nonliteral \
+        -Wold-style-definition \
+        -Wpointer-arith \
+        -Winit-self \
+        -Wdeclaration-after-statement \
+        -Wfloat-equal \
+        -Wmissing-prototypes \
+        -Wstrict-prototypes \
+        -Wredundant-decls \
+        -Wmissing-declarations \
+        -Wmissing-noreturn \
+        -Wshadow \
+        -Wendif-labels \
+        -Wcast-align \
+        -Wstrict-aliasing=2 \
+        -Wwrite-strings \
+        -Wno-unused-parameter \
+        -ffast-math \
+        -Wp,-D_FORTIFY_SOURCE=2 \
+        -fno-common \
+        -fdiagnostics-show-option \
+        -Wno-missing-field-initializers])
 
 AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])])
 AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
@@ -51,6 +87,7 @@ AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers n
 
 # This makes sure pkg.m4 is available.
 m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
+
 PKG_CHECK_MODULES(UDEV, [ libudev ])
 AC_SUBST(UDEV_CFLAGS)
 AC_SUBST(UDEV_LIBS)
@@ -98,6 +135,9 @@ AC_SUBST(CGROUP_LIBS)
 AM_PROG_VALAC([0.7])
 AC_SUBST(VAPIDIR)
 
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
+
 AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, or none]))
 if test "z$with_distro" = "z"; then
         if test "$cross_compiling" = yes; then
@@ -174,6 +214,13 @@ AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo)
 AC_DEFINE_UNQUOTED(SPECIAL_DBUS_SERVICE, ["$special_dbus_service"], [D-Bus service name])
 AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$special_syslog_service"], [syslog service name])
 
+AC_ARG_WITH([udevrulesdir],
+        AS_HELP_STRING([--with-udevrulesdir=DIR], [Diectory for udev rules]),
+        [],
+        [with_udevrulesdir=/lib/udev/rules.d])
+AC_SUBST([udevrulesdir], [$with_udevrulesdir])
+
+
 AC_OUTPUT([Makefile])
 
 echo "
@@ -185,4 +232,5 @@ echo "
         Syslog service:          ${special_syslog_service}
         D-Bus service:           ${special_dbus_service}
         Gtk:                     ${have_gtk}
+        udev rules dir:          ${with_udevrulesdir}
 "
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
new file mode 100644 (file)
index 0000000..5285ce3
--- /dev/null
@@ -0,0 +1,213 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<!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 2010 Lennart Poettering
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 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
+  General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd.service">
+        <refentryinfo>
+                <title>systemd.service</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Lennart</firstname>
+                                <surname>Poettering</surname>
+                                <email>lennart@poettering.net</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd.service</refentrytitle>
+                <manvolnum>5</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd.service</refname>
+                <refpurpose>systemd service configuration files</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename>systemd.service</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para>A configuration file ending in .service encodes
+                information about a process controlled and supervised
+                by systemd.</para>
+
+                <para>This man page lists the configuration options
+                specific to this unit type. See
+                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                for the common options of all unit configuration
+                files.</para>
+        </refsect1>
+
+        <refsect1>
+                <title>Options</title>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><varname>Type=</varname></term>
+                                <listitem>
+                                        <para>One of
+                                        <literal>forking</literal>,
+                                        <literal>simple</literal>,
+                                        <literal>finish</literal>,
+                                        <literal>dbus</literal>.</para>
+
+                                        <para>If set to
+                                        <literal>forking</literal>
+                                        (the default) it is expected
+                                        that the process configured
+                                        with
+                                        <varname>ExecStart=</varname>
+                                        will start up and call
+                                        <function>fork()</function>. The
+                                        parent process is expected to
+                                        finish when start-up is
+                                        complete and all communication
+                                        channels set up. The child
+                                        continues to run as the main
+                                        daemon process. This is the
+                                        behaviour of traditional UNIX
+                                        daemons. If this setting is
+                                        used it is recommended to also
+                                        use the
+                                        <varname>PIDFile=</varname>
+                                        option, so that systemd can
+                                        identify the main process of
+                                        the daemon. systemd will start
+                                        follow-up units as soon as the
+                                        parent process exited.</para>
+
+                                        <para>If set to
+                                        <literal>simple</literal> (the
+                                        recommended value) it is
+                                        expected that the process
+                                        configured with
+                                        <varname>ExecStart=</varname>
+                                        is the main process of the
+                                        daemon. In this mode
+                                        communication channels must be
+                                        available before the daemon is
+                                        started up, as systemd will
+                                        immediately start follow-up
+                                        units.</para>
+
+                                        <para>Behaviour of
+                                        <literal>finish</literal> is
+                                        similar to
+                                        <literal>simple</literal>,
+                                        however it is expected that
+                                        the process has to exit before
+                                        systemd starts follow-up
+                                        units. <varname>ValidNoProcess=</varname>
+                                        is particularly useful for
+                                        this type of service.</para>
+
+                                        <para>Behaviour of
+                                        <literal>dbus</literal> is
+                                        similar to
+                                        <literal>simple</literal>,
+                                        however it is expected that
+                                        the daemon acquires a name on
+                                        the D-Bus bus, as configured
+                                        by
+                                        <varname>BusName=</varname>. Follow-up
+                                        units will be started after
+                                        the name has been
+                                        acquired.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>ValidNoProcess=</varname></term>
+                                <listitem>
+                                        <para>Takes a boolean value
+                                        that specifies whether the service
+                                        shall be considered active
+                                        even when all its processes
+                                        exited. Defaults to <literal>no</literal>.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>PIDFile=</varname></term>
+                                <listitem>
+                                        <para>Takes an absolute file
+                                        name pointing to the PID file
+                                        of this daemon. Use of this
+                                        option is recommended for
+                                        services where
+                                        <varname>Type=</varname> is
+                                        set to
+                                        <literal>forking</literal>.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>BusName=</varname></term>
+                                <listitem>
+                                        <para>Takes a D-Bus bus name
+                                        that this service is reachable
+                                        as. This option is mandatory
+                                        for services where
+                                        <varname>Type=</varname> is
+                                        set to
+                                        <literal>dbus</literal>, but
+                                        its use is otherwise
+                                        recommended as well if the
+                                        process takes a name on the
+                                        D-Bus bus.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>ExecStart=</varname></term>
+                                <listitem>
+                                        <para>Takes a command line
+                                        that is executed when this
+                                        service shall be started
+                                        up. The first word of the
+                                        command line must be an
+                                        absolute file name. It is
+                                        mandatory to set this option
+                                        for all services.</para>
+                                </listitem>
+                        </varlistentry>
+
+                </variablelist>
+        </refsect1>
+
+        <refsect1>
+                  <title>See Also</title>
+                  <para>
+                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                  </para>
+        </refsect1>
+
+</refentry>
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
new file mode 100644 (file)
index 0000000..cfa1b09
--- /dev/null
@@ -0,0 +1,121 @@
+<?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 2010 Lennart Poettering
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 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
+  General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd.unit">
+
+        <refentryinfo>
+                <title>systemd.unit</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Lennart</firstname>
+                                <surname>Poettering</surname>
+                                <email>lennart@poettering.net</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd.unit</refentrytitle>
+                <manvolnum>5</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd.unit</refname>
+                <refpurpose>systemd unit configuration files</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename>systemd.service</filename></para>
+                <para><filename>systemd.socket</filename></para>
+                <para><filename>systemd.device</filename></para>
+                <para><filename>systemd.mount</filename></para>
+                <para><filename>systemd.automount</filename></para>
+                <para><filename>systemd.swap</filename></para>
+                <para><filename>systemd.target</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para>A unit configuration file encodes information
+                about a service, a socket, a mount point, an automount
+                point, a swap file or patition, or a start-up target
+                controlled and supervised by systemd. The syntax is
+                inspired by XDG <filename>.desktop</filename> files,
+                which are in turn inspired by Windows
+                <filename>.ini</filename> files.</para>
+
+                <para>This man pages lists the common configuration
+                options of the various unit types.</para>
+        </refsect1>
+
+        <refsect1>
+                <title>Options</title>
+
+                <variablelist>
+                        <varlistentry>
+                                <term>Names=</term>
+                                <listitem>
+                                        <para>Additional names for this unit. The names
+                                        listed here mus have the same suffix (i.e. type)
+                                        as the identifier name. This option may be
+                                        specified more than once.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term>Requires=</term>
+                                <listitem>
+                                        <para>Dependencies on other
+                                        units. If this units get
+                                        activated the units listed
+                                        here will be activated as
+                                        well. If one of the other
+                                        units gets deactivated or its
+                                        activation fails, this unit
+                                        will be deactivated. This
+                                        option may be specified more
+                                        than once.</para>
+                                </listitem>
+                        </varlistentry>
+                </variablelist>
+        </refsect1>
+
+        <refsect1>
+                  <title>See Also</title>
+                  <para>
+                          <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                  </para>
+        </refsect1>
+
+</refentry>