diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile.am | 58 | ||||
-rw-r--r-- | configure.ac | 50 | ||||
-rw-r--r-- | man/systemd.service.xml | 213 | ||||
-rw-r--r-- | man/systemd.unit.xml | 121 |
5 files changed, 429 insertions, 16 deletions
diff --git a/.gitignore b/.gitignore index b9cb51c0e7..b83dd9acd7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +*.5 +*.html *~ +*.tar.gz test-ns test-loopback systemd-initctl.service diff --git a/Makefile.am b/Makefile.am index 8ad1969bdc..e562b18a2d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,12 +17,12 @@ 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) diff --git a/configure.ac b/configure.ac index 65353d52fa..de61b2d52f 100644 --- a/configure.ac +++ b/configure.ac @@ -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 index 0000000000..5285ce3d52 --- /dev/null +++ b/man/systemd.service.xml @@ -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 index 0000000000..cfa1b09499 --- /dev/null +++ b/man/systemd.unit.xml @@ -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> |